Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-1651

No binding factory for namespace http://schemas.xmlsoap.org/wsdl/http/ registered [related or similar to CXF-1517]

    XMLWordPrintableJSON

Details

    • Test
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 2.0.5, 2.1
    • Invalid
    • JAXB Databinding
    • None
    • Microsoft Windows XP [version 5.1.2600]
      Java 1.6.0_03

    • Unknown

    Description

      [ 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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              cguyomard Claude GUYOMARD
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: