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.