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