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 "Andreas Veithen (JIRA)" <ji...@apache.org> on 2010/12/19 15:15:04 UTC

[jira] Updated: (AXIS2-3784) WSDL port address is not correctly generated for machines having multiple network interfaces

     [ https://issues.apache.org/jira/browse/AXIS2-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen updated AXIS2-3784:
-----------------------------------

    Fix Version/s: 1.5.4

> WSDL port address is not correctly generated for machines having multiple network interfaces
> --------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3784
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3784
>             Project: Axis2
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.4, 1.3
>         Environment: Windows XP Pro, Java 5, Tomcat 6, Axis2 1.4 (release)
>            Reporter: Dietmar Gaertner
>            Assignee: Andreas Veithen
>             Fix For: 1.6, 1.5.4
>
>         Attachments: AXIS2-3784.patch
>
>
> WSDL portAddress is filled with one of the machine's IP addresses. The code to get the IP address seems to be org.apache.axis2.transport.http.sever.HTTPUtils.getIpAddress() which always takes the first available network interface's ip address.
> For example http://localhost:8080/axis2/services/Version?wsdl returns a WSDL containing
> ...
> <wsdl:service name="Version">
> 	<wsdl:port name="VersionHttpSoap11Endpoint" binding="ns:VersionSoap11Binding">
> <soap:address location="http://10.20.125.14:8080/axis2/services/Version.VersionHttpSoap11Endpoint"/>
> </wsdl:port>
> 	<wsdl:port name="VersionHttpSoap12Endpoint" binding="ns:VersionSoap12Binding">
> <soap12:address location="http://10.20.125.14:8080/axis2/services/Version.VersionHttpSoap12Endpoint"/>
> </wsdl:port>
> 	<wsdl:port name="VersionHttpEndpoint" binding="ns:VersionHttpBinding">
> <http:address location="http://10.20.125.14:8080/axis2/services/Version.VersionHttpEndpoint"/>
> </wsdl:port>
> </wsdl:service>
> ...
> This may not work on machines which have vmvare installed, or machines having multiple network interfaces or just a laptop which has wireless and wired lan.
> I think the correct way is to use the hostName instead of the ipAddress in the WSDL port address, for example
> ...
> <wsdl:service name="Version">
> 	<wsdl:port name="VersionHttpSoap11Endpoint" binding="ns:VersionSoap11Binding">
> <soap:address location="http://myhostname.company.com:8080/axis2/services/Version.VersionHttpSoap11Endpoint"/>
> </wsdl:port>
> 	<wsdl:port name="VersionHttpSoap12Endpoint" binding="ns:VersionSoap12Binding">
> <soap12:address location="http://myhostname.company.com:8080/axis2/services/Version.VersionHttpSoap12Endpoint"/>
> </wsdl:port>
> 	<wsdl:port name="VersionHttpEndpoint" binding="ns:VersionHttpBinding">
> <http:address location="http://myhostname.company.com:8080/axis2/services/Version.VersionHttpEndpoint"/>
> </wsdl:port>
> </wsdl:service>
> ...
> Regards, Dietmar

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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