Hi Benson,

The reason there's so much confusions about the Binding ID urls, is that previous the tools is kind of independent, so it has it's own constants to define the bindingId, from the code-gen point of view(jax-ws), it will read the binding from the java annotaion(java2wsdl) @javax.xml.ws.BindingType(value = "http://www.w3.org/2003/05/soap/bindings/HTTP/";) for the soap 1.2
Or, from the wsdl (wsdl2java)
<soap12:binding transport="http://www.w3.org/2003/05/soap/bindings/HTTP/"; style="document" />

Then in the runtime, it should pick up the binding information from the java code or wsdl depend on the programming model they used

Now tools depend on the runtime, so we should combine those binding ids.
The runtime previously have lots of hard coded binding urls, i just fixed a few, but i guess there still have some.

So, I guess the work we ought to do is that, combine the constants, clearly define the binding ids.

And I think the binding id should not be a unique url, the

http://schemas.xmlsoap.org/wsdl/soap12/  can be a soap12 binding,

AND

|http://www.w3.org/2003/05/soap/bindings/HTTP/ should also be identified as a soap 1.2 binding, and the URL actually is a Constants in |javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING

James

James,

I could use a little help making sense of the JIRAs. They are definitely
in the same neighborhood as what I was asking about, but I feel a bit
undereducated.

Here's my hypothesis: internally, CXF uses URLs to identify bindings and
transports. These ids are completely private to CXF, and have no
necessary relationship to the outside world.

However, in some cases, the implementors decided to choose a URL that
\did/ have significance in the outside world. In other cases, they chose
a URL that looks as if it might have such significance, but doesn't.

http://schemas.xmlsoap.org/wsdl/soap12/ is the binding ID inside CXF for
SOAP 1.2.

It is also the TNS for
http://schemas.xmlsoap.org/wsdl/soap12/wsdl11soap12.xsd.

http://schemas.xmlsoap.org/wsdl/soap/ is named as a constant in
WSDLConstants as NS_SOAP11. It is used as a soap version strung in
SoapBindingInfo, and SoapBindingUtil recognizes it as indicating that a
WSDL is talking about Soap 1.1. However, it is NOT the binding ID for
Soap 1.1, that is http://schemas.xmlsoap.org/soap/.

Is there a reason for this lack of parallelism? I am guessing, 'no', but
I sure wish someone else would comment.

--benson




-----Original Message-----
From: James Mao [mailto:[EMAIL PROTECTED]
Sent: Wednesday, November 07, 2007 10:28 PM
To: [email protected]
Subject: Re: Binding ID urls have me confused, or the code is confused

Hi Benson,

Thanks for picking up the task[1], I was planned to do this dirty
work,
but since you kindly 'steal' it from me, i guess i'll just reassign
this
to you :)
Right, there's a few confusions inside the code, you probably could
find
the clue from the description of the tasks

Regards,
James
[1]https://issues.apache.org/jira/browse/CXF-613

Watching bindings being created:

http://schemas.xmlsoap.org/wsdl/soap12/    (soap 1.2)
http://schemas.xmlsoap.org/soap/           (soap 1.1)

but, in WSDLConstants.java:

public static final String NS_SOAP11 =
"http://schemas.xmlsoap.org/wsdl/soap/";;

public static final String NS_SOAP12 =
"http://schemas.xmlsoap.org/wsdl/soap12/";;

Plenty of code uses the constants from WSDLConstants.

It looks like there are two different vocabularies here, and I would
be
grateful if someone would explain them to me.



Reply via email to