Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0-RC
-
None
Description
The binding id returned in javax.xml.ws.handler.PortInfo getBindingID() method is incorrect.
initializePorts() in ServiceImpl uses EndpointInfo.getTransportId() to set the bindingId. Even ei.getBinding().getBindingId() is broken.
Ideally ei.getBinding().getBindingId() should return the proper binding id.
The stack trace of bindingID initialization is here:
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:1158)
at org.apache.cxf.service.model.BindingInfo.<init>(BindingInfo.java:45)
at org.apache.cxf.binding.soap.model.SoapBindingInfo.<init>(SoapBindingInfo.java:45)
at org.apache.cxf.binding.soap.model.SoapBindingInfo.<init>(SoapBindingInfo.java:40)
at org.apache.cxf.binding.soap.SoapBindingFactory.createBindingInfo(SoapBindingFactory.java:252)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildBinding(WSDLServiceBuilder.java:471)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:262)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:159)
at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:117)
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:108)
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:99)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:55)
at javax.xml.ws.Service.<init>(Service.java:57)
.....(Cut shorted)
JAXWS TCK tests fail becuse of this.
The bindingId should be one among these:
"http://schemas.xmlsoap.org/wsdl/soap/http";
"http://www.w3.org/2003/05/soap/bindings/HTTP/";
"http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true";
"http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true";
Currently the biding id is none of these.