You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Andre Lang (JIRA)" <ji...@apache.org> on 2014/06/26 14:53:24 UTC

[jira] [Created] (AXIS2-5657) WSDL always contains cached port number of first request to axis2

Andre Lang created AXIS2-5657:
---------------------------------

             Summary: WSDL always contains cached port number of first request to axis2
                 Key: AXIS2-5657
                 URL: https://issues.apache.org/jira/browse/AXIS2-5657
             Project: Axis2
          Issue Type: Bug
          Components: wsdl
    Affects Versions: 1.6.2
         Environment: Apache Tomcat/6.0.35
Ubuntu 12.04 LTS
            Reporter: Andre Lang


Our Tomcat axis2 is installed on server 192.168.0.16 at default port 8080. In our router, we have added a redirection ourservice.com:3480 -> 192.168.0.16:8080 to make the service publicly available.

The announced service port in all wdsl delivered (for several services) wrongly depends on the very first request sent to Axis2 after Tomcat server startup.

1. Calling "http://192.168.0.16:8080/axis2/services/Version?wsdl" as the first call gives:

[...]
<wsdl:service name="Version"><wsdl:port name="VersionHttpSoap11Endpoint" binding="ns:VersionSoap11Binding">
  <soap:address location="http://192.168.0.16:8080/axis2/services/Version.VersionHttpSoap11Endpoint/"/>
</wsdl:port>
[...]

All later calls to the WSDL of any service now contain ":8080" as port number, instead of the number used in the request.

So calling "http://ourservice.com:3480/axis2/services/Version?wsdl" now gives
<soap:address location="http://ourservice.com:8080/axis2/services/Version.VersionHttpSoap11Endpoint/"/>

instead of the expected result
<soap:address location="http://ourservice.com:3480/axis2/services/Version.VersionHttpSoap11Endpoint/"/>

It also works the other way around, i.e. if the first coming all is coming from external, all services are advertised at port 3480 even in (internal) calls to port 8080.

A temporary fix is to set a static port in the transportReceiver, however naturally, in this case one of the WSDL (either internal or external) is always wrong.

What puzzles me is that the IP address is used correctly on each request to build the WSDL, while the port number stays cached from the very first call.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org