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
