RE: ISSUE-67: Need a SOAP 1.2-specific SOAP/JMS transport URL value [SOAP-JMS Binding specification]

Agree with both points, point 2 expresses my opinion on  this.

From: public-soap-jms-request@w3.org [mailto:public-soap-jms-request@w3.org] On Behalf Of Phil Adams
Sent: Monday, November 22, 2010 6:37 PM
To: Eric Johnson
Cc: SOAP-JMS Binding Working Group WG; public-soap-jms-request@w3.org
Subject: Re: ISSUE-67: Need a SOAP 1.2-specific SOAP/JMS transport URL value [SOAP-JMS Binding specification]

Hi Eric,
Thanks for responding to the issue so quickly.   Here are some comments:

1) I like your value better: "http://www.w3.org/2010/soapjms/soap1.2/"
1a) agreed, we should also define "http://www.w3.org/2010/soapjms/soap1.1/<http://www.w3.org/2010/soapjms/soap1.2/>"

2) I agree that part is important in terms of completing the issue, but I was hesitant to go into that level of detail until we've agreed on the approach for resolving the issue.   I think we're on the same page in that regard, so the next step would be to propose the actual changes to the spec.

I think I would prefer a non-normative informational appendix that specifies these values for use with JAX-WS in the event that the vendor implementation needs to support JAX-WS.    I would hesitate to define this change as a new optional normative conformance target, due to where we are in the process and because I'm not totally convinced that we should be coupling our binding spec with JAX-WS (or at least to that extent).    To be honest, I think a more proper place to define these BindingType annotation values would be in the JAX-WS spec itself, where it also defines the SOAP/HTTP-related values.   But, that would need to be addressed in a future version of JAX-WS and there's no telling when that would occur.   So, failing that, perhaps we should add a non-normative appendix that *encourages* the use of specific values for the SOAP 1.1/JMS and SOAP 1.2/JMS cases.  This would at least provide some guidance to vendors that also need to support JAX-WS so that they could in turn provide portability to their own customers.

If you agree with this, then I'll go ahead and propose the actual changes to the binding spec.

Thanks,
Phil


From:

Eric Johnson <eric@tibco.com>

To:

SOAP-JMS Binding Working Group WG <public-soap-jms@w3.org>

Date:

11/22/2010 04:49 PM

Subject:

Re: ISSUE-67: Need a SOAP 1.2-specific SOAP/JMS transport URL value  [SOAP-JMS Binding specification]

Sent by:

public-soap-jms-request@w3.org


________________________________



Hi Phil,

Thanks for raising the issue.

I'm assuming we'll open the issue, and am leaping ahead to discussing
your proposal:

1) I'm not thrilled by "http://www.w3.org/2010/soap12jms/".  I think it
should probably be scoped within the URL space we have, and perhaps
should be "http://www.w3.org/2010/soapjms/soap1.2/" instead.

1a) Since this is within the scope of what should be used by the JAX-WS
BindingType, then perhaps we should take the opportunity to eliminate
ambiguity, and specify "http://www.w3.org/2010/soapjms/soap1.1/" as well?

2) Your proposal doesn't discuss exactly where in the specification this
new value would be documented.  This strikes me as somewhat important,
because if this new value doesn't appear in the WSDL, but is only useful
for the JAX-WS BindingType attribute, then making this a normative
constraint involves actually adding an optional normative conformance
target for a JAX-WS conforming binding.

The question is, then, do we make this an informative appendix?  Or did
you have something else in mind?

-Eric.

On 11/22/10 2:04 PM, SOAP-JMS Binding Working Group Issue Tracker wrote:
> ISSUE-67: Need a SOAP 1.2-specific SOAP/JMS transport URL value [SOAP-JMS Binding specification]
>
> http://www.w3.org/2002/ws/soapjms/tracker/issues/67
>
> Raised by: Phil Adams
> On product: SOAP-JMS Binding specification
>
> Currently, the SOAP/JMS binding spec defines a single value (http://www.w3.org/2010/soapjms/) to be used as the soap:binding transport URL to indicate that the WSDL binding supports SOAP/JMS (see section 3.3.2 of the binding spec).   According to the spec, this single value should be used for both SOAP 1.1 and SOAP 1.2.   [Also, it seems that it is merely a coincidence that this transport URL value is the same as the soapjms binding namespace value, although they don't need to be the same value.   My point is that the value "http://www.w3.org/2010/soapjms/" seems to be serving double duty - it is the soapjms binding namespace value *and* it is also the soap:binding transport URL value that indicates that SOAP over JMS is being used.]
>
> If one restricts their view to only the WSDL document, then this approach works fine, as the soap version associated with the actual binding itself can be used to determine which version of SOAP is being used.   For example, if the soap:binding element name refers to the SOAP 1.1 namespace, then the binding indicates SOAP 1.1, and if the soap:binding element name refers to the SOAP 1.2 namespace, then the binding indicates SOAP 1.2.
>
> Unfortunately, this approach of using a single value to be shared between SOAP 1.1 and SOAP 1.2 leads to a problem when considering a JAX-WS application that does not use a WSDL document.  In this situation, the author of the endpoint
> implementation class might use the BindingType annotation like this:
>
> @WebService
> @BindingType("http://www.w3.org/2010/soapjms/")
> public class MyEndpointImpl {
> }
>
> In this case, the author has only the BindingType annotation at his disposal to indicate the SOAP version and transport that should be used by his endpoint.
> For the HTTP case, the JAX-WS specification defines separate values for SOAP 1.1 and SOAP 1.2, thereby allowing the endpoint author to differentiate between
> them while specifying the BindingType annotation.   But since the SOAP/JMS binding spec defines only a single value, the author can specify only SOAP 1.1 over JMS in this way.
>
> For this reason, I'm proposing that the SOAP/JMS binding spec define the following transport URL value to be used in the BindingType annotation to indicate SOAP 1.2 over JMS:
> http://www.w3.org/2010/soap12jms/
>
> I'm also proposing that the binding spec be clarified to indicate that the use of the value "http://www.w3.org/2010/soapjms/" in the BindingType annotation specifically indicates that SOAP 1.1 over JMS should be used for the endpoint.
>
> This proposal does not affect the value that will be used in the WSDL document as we can continue to use the value "http://www.w3.org/2010/soapjms/" as the soap:binding transport, since the soap:binding element name's namespace can be used to define the SOAP version to be used.
>
> To clarify...  if the endpoint author specifies
>     @BindingType("http://www.w3.org/2010/soap12jms/")
> on his endpoint implementation class, then this equates to the use of SOAP 1.2 over JMS and the corresponding wsdl binding (generated by the JAX-WS wsgen tool) would look like this:
>   <wsdl11:binding name="StockQuoteSoapJMSBinding" type="tns:StockQuotePortType"
>                xmlns:soapjms="http://www.w3.org/2010/soapjms/">
> 15<wsdl11soap12:binding style="document"
>                transport="http://www.w3.org/2010/soapjms/"/>
>    ....
>
> Similarly, if the endpoint author specifies
>     @BindingType("http://www.w3.org/2010/soapjms/")
> then the corresponding wsdl binding as generated by wsgen would look like this:
>   <wsdl11:binding name="StockQuoteSoapJMSBinding" type="tns:StockQuotePortType"
>                xmlns:soapjms="http://www.w3.org/2010/soapjms/">
> 15<wsdl11soap11:binding style="document"
>                transport="http://www.w3.org/2010/soapjms/"/>
>    ....
>
>
> Before I propose specific changes to the SOAP/JMS binding spec, let's first agree on this general approach for solving this issue
>
>
>

Received on Tuesday, 23 November 2010 15:17:07 UTC