SOAP port address with SSL and/or non-standard ports

tmccobb's picture
I have used WSF/Spring to successfully build and deploy web services.  I have a user who requested HTTP Auth instead of WS-Security (primarily because he built his php site with NuSOAP which does not support WS-Security).  Everything seems to work fine in terms of SSL getting engaged and the authentication (in a JBoss) challenge processing correctly.   It has been drawn to my attention that the endpoints in the WSDL do not reflect the ports that are actually in use.  I have the webservices running in JBoss on a test box which I have set up with non-standard ports (9080/9443) to avoid collisions with another Tomcat app running on this service.  If I browse to the web services using the axis2 web app, on the listServices page the EPR for the service(s) are correctly displayed (after authentication) as Service EPR : https://public.raven-csi.com:9443/ACCWebService/services/catalogWebService However, when I inspect the WSDL, the port addresses have an incorrect port: <wsdl:service name="catalogWebService"> <wsdl:port name="catalogWebServiceHttpSoap11Endpoint" binding="axis2:catalogWebServiceSoap11Binding"> <soap:address location="http://72.249.183.51:8080/ACCWebService/services/catalogWebService.catalogWebServiceHttpSoap11Endpoint/"/> </wsdl:port> <wsdl:port name="catalogWebServiceHttpSoap12Endpoint" binding="axis2:catalogWebServiceSoap12Binding"> <soap12:address location="http://72.249.183.51:8080/ACCWebService/services/catalogWebService.catalogWebServiceHttpSoap12Endpoint/"/> </wsdl:port> <wsdl:port name="catalogWebServiceHttpEndpoint" binding="axis2:catalogWebServiceHttpBinding"> <http:address location="http://72.249.183.51:8080/ACCWebService/services/catalogWebService.catalogWebServiceHttpEndpoint/"/> </wsdl:port> </wsdl:service>   I expect to see something like this: <wsdl:port name="catalogWebServiceHttpSoap11Endpoint" binding="axis2:catalogWebServiceSoap11Binding"> <soap:address location="https://72.249.183.51:9443/ACCWebService/services/catalogWebService.catalogWebServiceHttpSoap11Endpoint/"/> </wsdl:port> I have read several posts suggesting inclusion of the modifyUserWSDLPortAddress=false and useOriginalwsdl=true parameters, with different combinations of values.  I have assumed that the correct  position for these parameters is in the axis2Config.xml, either as ParameterBeans in the Parameters section of the axisConfig bean definition, or in the definition of axis2TransportReceiver.  Neither seems to work. Snippets from axis2Config.xml follow: <bean id="axisConfig"         class="org.wso2.spring.ws.SpringAxisConfiguration">         <property name="parameters">             <list> <bean id="portAddr" class="org.wso2.spring.ws.beans.ParameterBean">                     <property name="name" value="modifyUserWSDLPortAddress"/>                     <property name="value" value="true"/>                 </bean>                 <bean id="orgWSDL" class="org.wso2.spring.ws.beans.ParameterBean">                     <property name="name" value="useOriginalwsdl"/>                     <property name="value" value="false"/>  </bean> </list> </parameters> ...... <bean id="axis2TransportReceiver"         class="org.wso2.spring.ws.beans.TransportReceiverBean">         <property name="name" value="https"></property>         <property name="clazz"             value="org.apache.axis2.transport.http.SimpleHTTPServer">         </property>         <property name="parameters">             <map>                 <entry key="port" value="8443" />                 <entry key="non-blocking" value="true" />                 <entry key="modifyUserWSDLPortAddress" value="false"/>                 <entry key="useOriginalwsdl" value="true" />             </map>         </property>     </bean> I suspect this may be more of an axis2 question than a WSF/Spring question other than the issue of where exactly to enter any parameters. Is there something that I should be doing to get the port addresses displayed accurately? Does it really matter? Distribution of these services will have a very limited audience, does it really matter that the correct URL appear in the WSDL?  Isn't it enough that users take the URL from the Service EPR?   -Tom McCobb
library project main code
Learn Cloud
Learn
Cloud

The WSO2 Application Server is a reliable application server that can host your enterprise web applications. The WSO2 Application Server as a Service is offered in StratosLive, the WSO2 Platform as a Service. This article explains how a simple web application can be developed and deployed from Carbon Studio to the WSO2 Application Server...

Latest Webinar
Different groups within an organization need to monitor different Key Performance Indicators (KPIs) - An operations team will be interested in the response times of business services and loads of each service,..
Thursday, February 9th 2012, 09.00 AM (PST)

Thursday, February 9th 2012, 10.00 AM (GMT)