You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Kevin Witten <Ke...@nomadix.com> on 2009/01/06 23:15:10 UTC

WSDL Generation has incorrect port

Hello,

I am using Axis2 1.4.1 with Tomcat 6.0 and Apache2.2 httpd.

I setup Apache httpd to only support SSL and to connect to Tomcat via a proxy (AJP), via port 8009.

Apache httpd.conf has

SSLProxyEngine On
ProxyRequests Off
ProxyPass         /  ajp://localhost:8009/
ProxyPassReverse  /  ajp://localhost:8009/
ProxyPreserveHost On

Tomcat server.xml has the following connector

<Connector port="8009" protocol="AJP/1.3" proxyPort="443"/>


Now I deploy an Axis2 service (ACSService.aar) in the webapps\axis2\WEB-INF\services directory.
Restart Tomcat and Apache.

This service includes a WSDL file with the following port:

    <!-- The ACS Service -->
    <wsdl:service name="ACSService">
        <wsdl:port binding="tns:ACSServiceSOAP"
                   name="ACSServiceSOAP">
            <soap:address
                    location="https://localhost/axis2/services/ACSService"/>
        </wsdl:port>
    </wsdl:service>

I have changed the services.xml file to include
<parameter name="useOriginalwsdl">true</parameter>

Now when I run get the WSDL from the service (i.e. https://67.130.148.13/axis2/services/ACSService?wsdl) The URL in the port is not correct.
Notice the port 80. This is not correct as the only way to access this service is through SSL (port 443) as Apache is configured.

<wsdl:service name="ACSService">
<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">
<soap:address location="https://67.130.148.13:80/axis2/services/ACSService/"/>
</wsdl:port>
</wsdl:service>

Next I tried adding the following to services.xml
<parameter name="modifyUserWSDLPortAddress">false</parameter>

But this did not do what I expected. I would have expected the hostname up get updated to 67.130.148.13. Instead the URL was not changed at all.
So the output was as follows, which is the unmodified URL form the original WSDL.

<wsdl:service name="ACSService">
<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">
<soap:address location="https://localhost/axis2/services/ACSService/"/>
</wsdl:port>
</wsdl:service>

This seems like a bug, as the modifyUserWSDLPortAddress controls updating of the hostname and port.

How do I get the WSDL to update to the hostname with no port, or as a second choice port 443?

<wsdl:service name="ACSService">
<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">
<soap:address location="https://67.130.148.13/axis2/services/ACSService/"/>
</wsdl:port>
</wsdl:service>


Thanks in advanced for the help.

Kevin Witten
Software Engineer
Nomadix, Inc.  *  1100 Business Center Circle, Suite 100, Newbury Park, CA 91320  *  USA
direct +1 (818) 575-2421  *  main +1-818-597-1500  *  fax
interTouch Group of Companies  *  a NTT DoCoMo Group company
Enhancing Guest Experience
www.inter-touch.com<http://www.inter-touch.com/> *  www.maginet.net<http://www.maginet.net/> *  www.percipia.com<http://www.percipia.com/> *  www.nomadix.com <http://www.nomadix.com/>  *  www.azure.com.au<http://www.azure.com.au/>

________________________________
Notice? The information and attachment(s) contained in this communication are intended for the addressee only, and may be confidential and/or legally privileged. If you have received this communication in error, please contact the sender immediately, and delete this communication from any computer or network system. Any interception, review, printing, copying, re-transmission, dissemination, or other use of, or taking of any action upon this information by persons or entities other than the intended recipient is strictly prohibited by law and may subject them to criminal or civil liability. None of the interTouch Group of Companies shall be liable for the improper and/or incomplete transmission of the information contained in this communication or for any delay in its receipt.

RE: WSDL Generation has incorrect port

Posted by Kevin Witten <Ke...@nomadix.com>.
Hello Nandana,

Thanks for the reply.

Is there a nightly build I can download?
Or do I need to get the latest code from the trunk and build it? And where do I get the trunk from?

Thanks,

Kevin Witten
Software Engineer
Nomadix, Inc.  *  1100 Business Center Circle, Suite 100, Newbury Park, CA 91320  *  USA
direct +1 (818) 575-2421  *  main +1-818-597-1500  *  fax
interTouch Group of Companies  *  a NTT DoCoMo Group company
Enhancing Guest Experience
www.inter-touch.com<http://www.inter-touch.com/> *  www.maginet.net<http://www.maginet.net/> *  www.percipia.com<http://www.percipia.com/> *  www.nomadix.com <http://www.nomadix.com/>  *  www.azure.com.au<http://www.azure.com.au/>
From: Nandana Mihindukulasooriya [mailto:nandana.cse@gmail.com]
Sent: Tuesday, January 06, 2009 8:09 PM
To: axis-user@ws.apache.org
Subject: Re: WSDL Generation has incorrect port

Hi Kevin,
       Did you try this with the trunk ? There were few changes with respect to this in the trunk.

thanks,
nandana
On Wed, Jan 7, 2009 at 3:45 AM, Kevin Witten <Ke...@nomadix.com>> wrote:

Hello,



I am using Axis2 1.4.1 with Tomcat 6.0 and Apache2.2 httpd.



I setup Apache httpd to only support SSL and to connect to Tomcat via a proxy (AJP), via port 8009.



Apache httpd.conf has



SSLProxyEngine On

ProxyRequests Off

ProxyPass         /  ajp://localhost:8009/

ProxyPassReverse  /  ajp://localhost:8009/

ProxyPreserveHost On



Tomcat server.xml has the following connector



<Connector port="8009" protocol="AJP/1.3" proxyPort="443"/>





Now I deploy an Axis2 service (ACSService.aar) in the webapps\axis2\WEB-INF\services directory.

Restart Tomcat and Apache.



This service includes a WSDL file with the following port:



    <!-- The ACS Service -->

    <wsdl:service name="ACSService">

        <wsdl:port binding="tns:ACSServiceSOAP"

                   name="ACSServiceSOAP">

            <soap:address

                    location="https://localhost/axis2/services/ACSService"/>

        </wsdl:port>

    </wsdl:service>



I have changed the services.xml file to include

<parameter name="useOriginalwsdl">true</parameter>



Now when I run get the WSDL from the service (i.e. https://67.130.148.13/axis2/services/ACSService?wsdl) The URL in the port is not correct.

Notice the port 80. This is not correct as the only way to access this service is through SSL (port 443) as Apache is configured.



<wsdl:service name="ACSService">

<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">

<soap:address location="https://67.130.148.13:80/axis2/services/ACSService/"/>

</wsdl:port>

</wsdl:service>



Next I tried adding the following to services.xml

<parameter name="modifyUserWSDLPortAddress">false</parameter>



But this did not do what I expected. I would have expected the hostname up get updated to 67.130.148.13. Instead the URL was not changed at all.

So the output was as follows, which is the unmodified URL form the original WSDL.



<wsdl:service name="ACSService">

<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">

<soap:address location="https://localhost/axis2/services/ACSService/"/>

</wsdl:port>

</wsdl:service>



This seems like a bug, as the modifyUserWSDLPortAddress controls updating of the hostname and port.



How do I get the WSDL to update to the hostname with no port, or as a second choice port 443?



<wsdl:service name="ACSService">

<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">

<soap:address location="https://67.130.148.13/axis2/services/ACSService/"/>

</wsdl:port>

</wsdl:service>





Thanks in advanced for the help.



Kevin Witten
Software Engineer
Nomadix, Inc.  *  1100 Business Center Circle, Suite 100, Newbury Park, CA 91320  *  USA
direct +1 (818) 575-2421  *  main +1-818-597-1500  *  fax

interTouch Group of Companies  *  a NTT DoCoMo Group company
Enhancing Guest Experience

www.inter-touch.com<http://www.inter-touch.com/> *  www.maginet.net<http://www.maginet.net/> *  www.percipia.com<http://www.percipia.com/> *  www.nomadix.com <http://www.nomadix.com/>  *  www.azure.com.au<http://www.azure.com.au/>

________________________________
Notice● The information and attachment(s) contained in this communication are intended for the addressee only, and may be confidential and/or legally privileged. If you have received this communication in error, please contact the sender immediately, and delete this communication from any computer or network system. Any interception, review, printing, copying, re-transmission, dissemination, or other use of, or taking of any action upon this information by persons or entities other than the intended recipient is strictly prohibited by law and may subject them to criminal or civil liability. None of the interTouch Group of Companies shall be liable for the improper and/or incomplete transmission of the information contained in this communication or for any delay in its receipt.

________________________________
Notice● The information and attachment(s) contained in this communication are intended for the addressee only, and may be confidential and/or legally privileged. If you have received this communication in error, please contact the sender immediately, and delete this communication from any computer or network system. Any interception, review, printing, copying, re-transmission, dissemination, or other use of, or taking of any action upon this information by persons or entities other than the intended recipient is strictly prohibited by law and may subject them to criminal or civil liability. None of the interTouch Group of Companies shall be liable for the improper and/or incomplete transmission of the information contained in this communication or for any delay in its receipt.

RE: WSDL Generation has incorrect port

Posted by Kevin Witten <Ke...@nomadix.com>.
I downloaded and build the latest trunk and gave it a try. Still does not work.

The useOriginalwsdl parameter in the services.xml has no affect at all.

The modifyUserWSDLPortAddress parameter, if set to true, in the services.xml causes the wsdl writer to change both the hostname and the port.
So I get

<wsdl:service name="ACSService">
<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">
<soap:address location="https://67.130.148.13:80/axis2/services/ACSService.ACSServiceSOAP/"/>
</wsdl:port>
</wsdl:service>

Notice the port is 80.

What I need is

<wsdl:service name="ACSService">
<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">
<soap:address location="https://67.130.148.13/axis2/services/ACSService.ACSServiceSOAP/"/>
</wsdl:port>
</wsdl:service>


Because Apache is configured to only accept https connections on the default port.
Alternatively, this would also work

<wsdl:service name="ACSService">
<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">
<soap:address location="https://67.130.148.13:443/axis2/services/ACSService.ACSServiceSOAP/"/>
</wsdl:port>
</wsdl:service>

Any other ideas?
Kevin Witten
Software Engineer
Nomadix, Inc.  *  1100 Business Center Circle, Suite 100, Newbury Park, CA 91320  *  USA
direct +1 (818) 575-2421  *  main +1-818-597-1500  *  fax
interTouch Group of Companies  *  a NTT DoCoMo Group company
Enhancing Guest Experience
www.inter-touch.com<http://www.inter-touch.com/> *  www.maginet.net<http://www.maginet.net/> *  www.percipia.com<http://www.percipia.com/> *  www.nomadix.com <http://www.nomadix.com/>  *  www.azure.com.au<http://www.azure.com.au/>
From: Nandana Mihindukulasooriya [mailto:nandana.cse@gmail.com]
Sent: Tuesday, January 06, 2009 8:09 PM
To: axis-user@ws.apache.org
Subject: Re: WSDL Generation has incorrect port

Hi Kevin,
       Did you try this with the trunk ? There were few changes with respect to this in the trunk.

thanks,
nandana
On Wed, Jan 7, 2009 at 3:45 AM, Kevin Witten <Ke...@nomadix.com>> wrote:

Hello,



I am using Axis2 1.4.1 with Tomcat 6.0 and Apache2.2 httpd.



I setup Apache httpd to only support SSL and to connect to Tomcat via a proxy (AJP), via port 8009.



Apache httpd.conf has



SSLProxyEngine On

ProxyRequests Off

ProxyPass         /  ajp://localhost:8009/

ProxyPassReverse  /  ajp://localhost:8009/

ProxyPreserveHost On



Tomcat server.xml has the following connector



<Connector port="8009" protocol="AJP/1.3" proxyPort="443"/>





Now I deploy an Axis2 service (ACSService.aar) in the webapps\axis2\WEB-INF\services directory.

Restart Tomcat and Apache.



This service includes a WSDL file with the following port:



    <!-- The ACS Service -->

    <wsdl:service name="ACSService">

        <wsdl:port binding="tns:ACSServiceSOAP"

                   name="ACSServiceSOAP">

            <soap:address

                    location="https://localhost/axis2/services/ACSService"/>

        </wsdl:port>

    </wsdl:service>



I have changed the services.xml file to include

<parameter name="useOriginalwsdl">true</parameter>



Now when I run get the WSDL from the service (i.e. https://67.130.148.13/axis2/services/ACSService?wsdl) The URL in the port is not correct.

Notice the port 80. This is not correct as the only way to access this service is through SSL (port 443) as Apache is configured.



<wsdl:service name="ACSService">

<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">

<soap:address location="https://67.130.148.13:80/axis2/services/ACSService/"/>

</wsdl:port>

</wsdl:service>



Next I tried adding the following to services.xml

<parameter name="modifyUserWSDLPortAddress">false</parameter>



But this did not do what I expected. I would have expected the hostname up get updated to 67.130.148.13. Instead the URL was not changed at all.

So the output was as follows, which is the unmodified URL form the original WSDL.



<wsdl:service name="ACSService">

<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">

<soap:address location="https://localhost/axis2/services/ACSService/"/>

</wsdl:port>

</wsdl:service>



This seems like a bug, as the modifyUserWSDLPortAddress controls updating of the hostname and port.



How do I get the WSDL to update to the hostname with no port, or as a second choice port 443?



<wsdl:service name="ACSService">

<wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">

<soap:address location="https://67.130.148.13/axis2/services/ACSService/"/>

</wsdl:port>

</wsdl:service>





Thanks in advanced for the help.



Kevin Witten
Software Engineer
Nomadix, Inc.  *  1100 Business Center Circle, Suite 100, Newbury Park, CA 91320  *  USA
direct +1 (818) 575-2421  *  main +1-818-597-1500  *  fax

interTouch Group of Companies  *  a NTT DoCoMo Group company
Enhancing Guest Experience

www.inter-touch.com<http://www.inter-touch.com/> *  www.maginet.net<http://www.maginet.net/> *  www.percipia.com<http://www.percipia.com/> *  www.nomadix.com <http://www.nomadix.com/>  *  www.azure.com.au<http://www.azure.com.au/>

________________________________
Notice● The information and attachment(s) contained in this communication are intended for the addressee only, and may be confidential and/or legally privileged. If you have received this communication in error, please contact the sender immediately, and delete this communication from any computer or network system. Any interception, review, printing, copying, re-transmission, dissemination, or other use of, or taking of any action upon this information by persons or entities other than the intended recipient is strictly prohibited by law and may subject them to criminal or civil liability. None of the interTouch Group of Companies shall be liable for the improper and/or incomplete transmission of the information contained in this communication or for any delay in its receipt.

________________________________
Notice● The information and attachment(s) contained in this communication are intended for the addressee only, and may be confidential and/or legally privileged. If you have received this communication in error, please contact the sender immediately, and delete this communication from any computer or network system. Any interception, review, printing, copying, re-transmission, dissemination, or other use of, or taking of any action upon this information by persons or entities other than the intended recipient is strictly prohibited by law and may subject them to criminal or civil liability. None of the interTouch Group of Companies shall be liable for the improper and/or incomplete transmission of the information contained in this communication or for any delay in its receipt.

Re: WSDL Generation has incorrect port

Posted by Nandana Mihindukulasooriya <na...@gmail.com>.
Hi Kevin,
       Did you try this with the trunk ? There were few changes with respect
to this in the trunk.

thanks,
nandana

On Wed, Jan 7, 2009 at 3:45 AM, Kevin Witten <Ke...@nomadix.com>wrote:

>  Hello,
>
>
>
> I am using Axis2 1.4.1 with Tomcat 6.0 and Apache2.2 httpd.
>
>
>
> I setup Apache httpd to only support SSL and to connect to Tomcat via a
> proxy (AJP), via port 8009.
>
>
>
> Apache httpd.conf has
>
>
>
> SSLProxyEngine On
>
> ProxyRequests Off
>
> ProxyPass         /  ajp://localhost:8009/
>
> ProxyPassReverse  /  ajp://localhost:8009/
>
> ProxyPreserveHost On
>
>
>
> Tomcat server.xml has the following connector
>
>
>
> <Connector port="8009" protocol="AJP/1.3" proxyPort="443"/>
>
>
>
>
>
> Now I deploy an Axis2 service (ACSService.aar) in the
> webapps\axis2\WEB-INF\services directory.
>
> Restart Tomcat and Apache.
>
>
>
> This service includes a WSDL file with the following port:
>
>
>
>     <!-- The ACS Service -->
>
>     <wsdl:service name="ACSService">
>
>         <wsdl:port binding="tns:ACSServiceSOAP"
>
>                    name="ACSServiceSOAP">
>
>             <soap:address
>
>                     location="https://localhost/axis2/services/ACSService
> "/>
>
>         </wsdl:port>
>
>     </wsdl:service>
>
>
>
> I have changed the services.xml file to include
>
> <parameter name="useOriginalwsdl">true</parameter>
>
>
>
> Now when I run get the WSDL from the service (i.e.
> https://67.130.148.13/axis2/services/ACSService?wsdl) The URL in the port
> is not correct.
>
> Notice the port 80. This is not correct as the only way to access this
> service is through SSL (port 443) as Apache is configured.
>
>
>
> <wsdl:service name="ACSService">
>
> <wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">
>
> <soap:address location="
> https://67.130.148.13:80/axis2/services/ACSService/"/>
>
> </wsdl:port>
>
> </wsdl:service>
>
>
>
> Next I tried adding the following to services.xml
>
> <parameter name="modifyUserWSDLPortAddress">false</parameter>
>
>
>
> But this did not do what I expected. I would have expected the hostname up
> get updated to 67.130.148.13. Instead the URL was not changed at all.
>
> So the output was as follows, which is the unmodified URL form the original
> WSDL.
>
>
>
> <wsdl:service name="ACSService">
>
> <wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">
>
> <soap:address location="https://localhost/axis2/services/ACSService/"/>
>
> </wsdl:port>
>
> </wsdl:service>
>
>
>
> This seems like a bug, as the modifyUserWSDLPortAddress controls updating
> of the hostname and port.
>
>
>
> How do I get the WSDL to update to the hostname with no port, or as a
> second choice port 443?
>
>
>
> <wsdl:service name="ACSService">
>
> <wsdl:port name="ACSServiceSOAP" binding="nomadixacs:ACSServiceSOAP">
>
> <soap:address location="https://67.130.148.13/axis2/services/ACSService/
> "/>
>
> </wsdl:port>
>
> </wsdl:service>
>
>
>
>
>
> Thanks in advanced for the help.
>
>
>
> *Kevin Witten*
> Software Engineer
> Nomadix, Inc.  *  1100 Business Center Circle, Suite 100, Newbury Park, CA
> 91320  *  USA
> direct +1 (818) 575-2421  *  main +1-818-597-1500  *  fax
>
> *interTouch Group of Companies  *  a NTT DoCoMo Group company
> *Enhancing Guest Experience
>
> www.inter-touch.com *  www.maginet.net *  www.percipia.com *  www.nomadix.com
>  *  www.azure.com.au
>
> ------------------------------
> Notice● The information and attachment(s) contained in this communication
> are intended for the addressee only, and may be confidential and/or legally
> privileged. If you have received this communication in error, please contact
> the sender immediately, and delete this communication from any computer or
> network system. Any interception, review, printing, copying,
> re-transmission, dissemination, or other use of, or taking of any action
> upon this information by persons or entities other than the intended
> recipient is strictly prohibited by law and may subject them to criminal or
> civil liability. None of the interTouch Group of Companies shall be liable
> for the improper and/or incomplete transmission of the information contained
> in this communication or for any delay in its receipt.
>