No binding factory for namespace http://schemas.xmlsoap.org/wsdl/http/ registered [related or similar to CXF-1517] ------------------------------------------------------------------------------------------------------------------
Key: CXF-1651 URL: https://issues.apache.org/jira/browse/CXF-1651 Project: CXF Issue Type: Test Components: JAXB Databinding Affects Versions: 2.1, 2.0.5 Environment: Microsoft Windows XP [version 5.1.2600] Java 1.6.0_03 Reporter: Claude GUYOMARD Fix For: 2.1 [ Related to issue CXF-1517 ] Hi, Investigating CXF 2.1, i tried to create a client to consume the following service: " Metric Weight Unit Convertor " http://www.webservicex.net/WS/WSDetails.aspx?WSID=33&CATID=13 WSDL url : http://www.webservicex.net/convertMetricWeight.asmx?WSDL Commands I ran: Client code generation: wsdl2java http://www.webservicex.net/convertMetricWeight.asmx?WSDL WS consumption: MetricWeightUnitHttpPost httpPost = service.getMetricWeightUnitHttpPost(); double res = httpPost.changeMetricWeightUnit("123", MetricWeights.KILOGRAM.toString(), MetricWeights.GRAM.toString()); Is this a correct use of the generated classes ? Exception stacktrace I receive: INFO: Creating Service {http://www.webserviceX.NET/}MetricWeightUnit from WSDL: http://www.webservicex.net/convertMetric Weight.asmx?WSDL Exception in thread "main" javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:249) at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:234) at javax.xml.ws.Service.getPort(Service.java:92) at net.webservicex.MetricWeightUnit.getMetricWeightUnitHttpPost(MetricWeightUnit.java:99) at test.WsCaller.testChangeMetricWeightUnitWithPost(WsCaller.java:56) at test.WsCaller.main(WsCaller.java:20) Caused by: org.apache.cxf.service.factory.ServiceConstructionException at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:58) at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:97) at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:89) at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:369) at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:247) ... 5 more Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/http/ registere d. at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:92) at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51) ... 9 more My observations using the Eclipse debugger: In the method JaxWSClientFactoryBean#bind(), a test for equality is done with the 2 following values: 1- http://schemas.xmlsoap.org/wsdl/http/ ( data from the generated code ) 2- SOAPBinding.SOAP11HTP_BINDING ( = http://schemas.xmlsoap.org/wsdl/soap/http ) I googled "http://schemas.xmlsoap.org/wsdl/soap/http". No result ! Naively : Does using this namespace really have a sense ? couldn't it be the origin of the problem #CXF-1517 ? Then, just for passing the test, I modified the value of the variable that contained "http://schemas.xmlsoap.org/wsdl/http/" for SOAPBinding.SOAP11HTP_BINDING and then reset this variable to its original value. A new exception is launched in SoapBindingInfo#resolveSoapVersion(String n) where n = http://schemas.xmlsoap.org/wsdl/http/ A new comparison is run between : n = http://schemas.xmlsoap.org/wsdl/http/ versus WSDLConstants.NS_SOAP11 = http://schemas.xmlsoap.org/wsdl/soap/ Is this really compare apples to apples ? Just hoping that this will help to solve the problem. Best regards, Claude GUYOMARD Personal Software System (PSS) Santa Cruz de Tenerife, Spain -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.