cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Mao <james....@iona.com>
Subject Re: Binding ID urls have me confused, or the code is confused
Date Mon, 12 Nov 2007 03:24:27 GMT
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:james.mao@iona.com]
>> Sent: Wednesday, November 07, 2007 10:28 PM
>> To: cxf-dev@incubator.apache.org
>> 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.
>>>
>>>
>>>       
>
>   

Mime
View raw message