cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Freeman Fang (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-628) Service.addPort(QName, String, String) does not accept binding ID javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING
Date Wed, 23 May 2007 02:19:16 GMT

    [ https://issues.apache.org/jira/browse/CXF-628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498079
] 

Freeman Fang commented on CXF-628:
----------------------------------

If you still see this problem today, give me a shout
btw, my test code on client side is 
public void testAddPortWithSpecifiedBinding() throws Exception {
        QName fakePortName = new QName("http://apache.org/hello_world_soap_http",
                                                 "FackPort");
        Service service = Service.create(serviceName);
        service.addPort(fakePortName, javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING, 
                        "http://localhost:9009/SoapContext/SoapPort");
        Greeter greeter = service.getPort(fakePortName, Greeter.class);

        String response = new String("Bonjour");
        try {
            greeter.greetMe("test");
            String reply = greeter.sayHi();
            assertNotNull("no response received from service", reply);
            assertEquals(response, reply);
        } catch (UndeclaredThrowableException ex) {
            throw (Exception)ex.getCause();
        }
      
        
    }
On server side is 
//publish port with soap12 binding
        address = "http://localhost:9009/SoapContext/SoapPort";
        EndpointImpl e = (EndpointImpl) Endpoint.create(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING,

                                                        implementor);
        e.publish(address);
        
And the wsdl in test is wtih saop11 binding, I believe it's same as your scenario. 

And the messasge I catch is
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Body><sayHi
xmlns:ns2="http://www.w3.org/2005/08/addressing/wsdl" xmlns="http://apache.org/hello_world_soap12_http/types"
/></soap:Body></soap:Envelope>

It should use soap12 binding now

> Service.addPort(QName, String, String) does not accept binding ID javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-628
>                 URL: https://issues.apache.org/jira/browse/CXF-628
>             Project: CXF
>          Issue Type: Bug
>          Components: Soap Binding
>    Affects Versions: 2.0-RC
>         Environment: NA
>            Reporter: Steven E. Harris
>         Assigned To: Freeman Fang
>            Priority: Minor
>             Fix For: 2.0
>
>
> I'm trying to using the javax.xml.ws.Service.addPort() method, as described here:
> http://java.sun.com/javase/6/docs/api/javax/xml/ws/Service.html#addPort(javax.xml.namespace.QName,%20java.lang.String,%20java.lang.String)

> Per the documentation, one should specify the constant 
>   javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING
> for the bindingId parameter to request a SOAP1.2-over-HTTP binding. When I try to use
this constant in CXF, I see the following exception:
> [...]
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Could not resolve
a binding for http://www.w3.org/2003/05/soap/bindings/HTTP/
> 	at org.apache.cxf.frontend.AbstractEndpointFactory.createBindingInfo(AbstractEndpointFactory.java:255)
> 	at org.apache.cxf.frontend.AbstractEndpointFactory.createEndpointInfo(AbstractEndpointFactory.java:182)
> 	at org.apache.cxf.frontend.AbstractEndpointFactory.createEndpoint(AbstractEndpointFactory.java:104)
> 	at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:44)
> 	at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:82)
> 	at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:314)
> 	at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:237)
> 	... 9 more
> Caused by: org.apache.cxf.BusException: No binding factory for namespace http://www.w3.org/2003/05/soap/bindings/HTTP/
registered.
> 	at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:78)
> 	at org.apache.cxf.frontend.AbstractEndpointFactory.createBindingInfo(AbstractEndpointFactory.java:250)
> 	... 15 more
> I can see that the file "META-INF/cxf/cxf-extension-soap.xml" is getting loaded by the
Bus, which I thought would enable SOAP 1.2 for use.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message