On Tuesday 29 April 2008, Urciolo, Kevin wrote:
> I using CXF 2.1 WSDL->JAVA.  The wsdl references SOAP 1.2.
>
> <definitions name="abc"
>  targetNamespace="http://localhost:8080/abc/";
>  xmlns:tns="http://localhost:8080/abc/";
>  xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope";
>  xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding";
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>  xmlns:xop="http://www.w3.org/2004/08/xop/include";
>  xmlns:xmime="http://www.w3.org/2005/05/xmlmime";
>  xmlns:ns="http://localhost:8080/siststm/";
>  xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap12/";
>  xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/";
>  xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/";
>  xmlns="http://schemas.xmlsoap.org/wsdl/";>
>
> Why is the namespace in the XML request referencing SOAP 1.1?
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>
> I get the client by doing the following:
> JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new
> JaxWsProxyFactoryBean();
> jaxWsProxyFactoryBean.setServiceClass(Class.forName(portClassName));
> jaxWsProxyFactoryBean.setAddress(url);
> Object object = jaxWsProxyFactoryBean.create();

Any chance you can supply a quick testcase? Actually, just the wsdl would 
do.  I'm wonding if the the code generator isn't adding the appropriate 
@SOAPBinding annotation onto the port class so it uses the default of 
Soap 1.1.   

One workaround MIGHT be to add:
jaxWsProxyFactoryBean.setWsdlLocation(wsdl);
to point at the wsdl and see if it picks up the correct stuff from there. 

Alternatively, try:
jaxWsProxyFactoryBean.setBindingId(
   "http://schemas.xmlsoap.org/wsdl/soap12/";);
or
jaxWsProxyFactoryBean.setBindingId(
   "http://www.w3.org/2003/05/soap/bindings/HTTP/";);


-- 
J. Daniel Kulp
Principal Engineer, IONA
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to