axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andre Lang (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AXIS2-5657) WSDL always contains cached port number of first request to axis2
Date Thu, 26 Jun 2014 12:53:24 GMT
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


Mime
View raw message