[ 
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.

Reply via email to