[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rampart-dev
Subject:    [jira] [Created] (AXIS2-5657) WSDL always contains cached port number of first request to axis2
From:       "Andre Lang (JIRA)" <jira () apache ! org>
Date:       2014-06-26 12:53:24
Message-ID: JIRA.12723860.1403787152813.53688.1403787204242 () arcas
[Download RAW message or body]

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic