Let me set an example.
I have a SOAP Web Service “MyServer/MyWebService.asmx” with a returned wsdl with 2 ports with unreachable addresses (this could be because the web service was moved from an older infrastructure, or it is the developers terminal etc) as shown below:
<wsdl:service name="MyWebService"> <wsdl:port name="MyWebServiceSoap" binding="tns:MyWebServiceSoap"> <soap:address location="https://UnreachableServer/MyWebService.asmx" /> </wsdl:port> <wsdl:port name="MyWebServiceSoap12" binding="tns:MyWebServiceSoap12"> <soap12:address location="https://UnreachableServer/MyWebService.asmx" /> </wsdl:port> </wsdl:service>
setup in Appian in the expression editor:
webservicequery( wsConfig: a!wsConfig( wsdlUrl: "https://MyServer/MyWebService.asmx?wsdl", service: "{http://tempuri.org/}MyWebService", operation: "{http://tempuri.org/}GetMyData", port: "MyWebServiceSoap12" ),...
when using one of the service ports by name (for example “MyWebServiceSoap12”), as expected the following error occurs:
Caused by: com.appiancorp.ws.RetryableWSException: The maximum time to establish a connection with the remote server was reached. Location: https://UnreachableServer/MyWebService.asmx (APNX-1-4045-003) ... Caused by: org.apache.axis2.AxisFault: Connect to UnreachableServer timed out ... Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to UnreachableServer timed out
How can I set the real address of the web service, without tampering the wsdl file?
Thank you
Discussion posts and replies are publicly visible