You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Jose MarĂ­a Zaragoza <de...@gmail.com> on 2013/03/08 11:47:19 UTC

Retrieve WSDL by whole service, not by endpoint

Hello:

We are working with Apache CXF 2.7.3
We've defined a service with 2 endpoints ( soap 1.1 and soap 1.2 )

Our clients can retrieve WSDL by endpoint , with

http://x.x.x.x:8080/services/MyService.MyServiceHttpSoap11Endpoint/?wsdl
http://x.x.x.x:8080/services/MyService.MyServiceHttpSoap12Endpoint/?wsdl

All OK.
But I would like that our clients could retrieve the WSDL for the
whole service definition
A WSDL with something like this:

 <wsdl:service name="MyService">
        <wsdl:port name="MyServiceHttpSoap11Endpoint"
binding="ns:MyServiceSoap11Binding">
            <soap:address
location="http://localhost:8080/services/MyService.MyServiceHttpSoap11Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="MyServiceHttpSoap12Endpoint"
binding="ns:MyServiceSoap12Binding">
            <soap12:address
location="http:/localhost:8080/services/MyServiceMyServiceHttpSoap12Endpoint/"/>
        </wsdl:port>
    </wsdl:service>


How I could do this ? Thanks


This is our Spring context.xml

<!--  Endpoint SOAP 1.1-->
	<jaxws:endpoint
	  implementor="#MyServiceImpl"
	  address="/services/MyService.MyServiceHttpSoap11Endpoint/"
	  bindingUri="http://schemas.xmlsoap.org/wsdl/soap/http" >
		
		<jaxws:binding>
  	   		<soap:soapBinding version="1.1"/>
  		</jaxws:binding>  		
	</jaxws:endpoint>
	
	 <!--  Endpoint SOAP 1.2-->
	<jaxws:endpoint
	  implementor="#MyServiceImpl"
	  address="/services/MyServiceMyServiceHttpSoap12Endpoint/"
	  bindingUri="http://www.w3.org/2003/05/soap/bindings/HTTP/" >
		
		<jaxws:binding>
  	   		<soap:soapBinding version="1.2"/>
  		</jaxws:binding>
	</jaxws:endpoint>