Search code examples
javaweb-servicessoapwebspherewebsphere-8

WSDL displaying incorrect Soap Binding Address


I have a WebService deployed on 2 WebSphere 9 Servers(WebSphere ND 9.0.0.0). I have a F5 load balancer in front of WAS Servers which is deviding the traffic between the 2 WAS servers.

e.g

Was 1 URL : http://1.2.3.4:9080/contextroot/MyWebService?wsdl

Was 2 URL : http://1.2.3.5:9080/contextroot/MyWebService?wsdl

F5 URL : https://mywerservice.domain.com/contextroot/MyWebService?wsdl

When I am accessing the WSDL from F5, it is displaying server port in the soap address location:

    <service name="MyWebService">
       <port name="MyWebServicePort" binding="tns:MyWebServicePortBinding">
          <soap:address location="http://mywerservice.domain.com:9080/contextroot/MyWebService"/>
       </port>
    </service>

What can I do so that the WSDL starts to display correct address?


Solution

  • Setting the following two Webcontainer custom property helped to resolve the issue:

    • trusthostheaderport = true
    • com.ibm.ws.webcontainer.extractHostHeaderPort = true

    See Below URL for instructions.

    https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/rweb_custom_props.html