You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Claude GUYOMARD (JIRA)" <ji...@apache.org> on 2008/06/17 14:43:45 UTC

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

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.