You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Bai Shen <ba...@gmail.com> on 2008/10/15 19:44:26 UTC

Difference between SOAP 1.1, SOAP 1.2 and SOAP HTTP

I created a java class, and then used Axis2 to create a web service from
that. However, in the WSDL, it created three connections.  A SOAP 1.1, a
SOAP 1.2, and a SOAP HTTP.  The SOAP 1.1 and SOAP 1.2 ones look identical to
me.  So I was wondering what the difference was. And is there a need for
them?  How does Axis2 know whether it's a 1.1 or 1.2?  TIA.

Bai Shen

Advice needed with Axis2 and attachment

Posted by Ricky Murphy <ri...@hotmail.com>.
Hello All:

I am seeking some advice on my project. The use case: I need to return an XML string to client side. This xml string represents the structure of an object or a collection of such objects. Depends on the situation, the collection could be small or big. if big, we are talking about several thousands of such objects. In Axis1, the entire XML string is on my payload and encoded as well (RPC/encoded). Therefore, the performance could be bad. When I started learning Axis2, with other benefit I get from Axis-2, I was thinking to use MTOM/SOAP Attachments, The reason is that I want to leverage the streaming support that MTOM provides (did I understand this correctly about MTOM)?

In Axis1, I didn't need to get Axis1 API involved (for example, the method has the signature: public String[] getBooks(){...}, where the return String is an XML presentation of Book objects. Alternatively, the signature of above method: public Book[] getBooks(){...}). What do you recommend in this use case to get the max performance.

Thank you,

-Rick

_________________________________________________________________
Stay organized with simple drag and drop from Windows Live Hotmail.
http://windowslive.com/Explore/hotmail?ocid=TXT_TAGLM_WL_hotmail_102008

Re: Difference between SOAP 1.1, SOAP 1.2 and SOAP HTTP

Posted by Bai Shen <ba...@gmail.com>.
Okay, I found where the difference of soap and soap12, which I hadn't
noticed before.  However, I don't see anything defining a difference between
the two.

<wsdl:binding name="MessageServiceSoap11Binding"
type="ns:MessageServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
−
<wsdl:operation name="sendMessages">
<soap:operation soapAction="urn:sendMessages" style="document"/>
−
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
</wsdl:operation>
−
<wsdl:operation name="getMessages">
<soap:operation soapAction="urn:getMessages" style="document"/>
−
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
−
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
−
<wsdl:binding name="MessageServiceSoap12Binding"
type="ns:MessageServicePortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
−
<wsdl:operation name="sendMessages">
<soap12:operation soapAction="urn:sendMessages" style="document"/>
−
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
</wsdl:operation>
−
<wsdl:operation name="getMessages">
<soap12:operation soapAction="urn:getMessages" style="document"/>
−
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
−
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>

On Wed, Oct 15, 2008 at 9:57 PM, keith chapman <ke...@gmail.com>wrote:

> Hi If you take this WSDL<https://mooshup.com/services/system/version?wsdl>[1] as an example, it has a SOAP 1.1 (system-version-SOAP11Binding) as well
> as a SOAP 1.2 (system-version-SOAP12Binding) Binding. If you further look
> into its content you will see that they use different namespaces, For e.g
> SOAP 1.1 Binding uses "<soap:binding transport="
> http://schemas.xmlsoap.org/soap/http" style="document"/>" whereas SOAP 1.2
> Binding uses "<soap12:binding transport="
> http://schemas.xmlsoap.org/soap/http" style="document"/>" and the soap12
> namespace is xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
> whereas the soap namespace is xmlns:soap="
> http://schemas.xmlsoap.org/wsdl/soap/".
>
> As you can see there is a difference between the two.
>
> Thanks,
> Keith.
>
> [1] https://mooshup.com/services/system/version?wsdl
>
> On Thu, Oct 16, 2008 at 12:35 AM, Bai Shen <ba...@gmail.com>wrote:
>
>> I looked at the wsdl again, and there's literally no difference.  As far
>> as I can tell, they both reference the same namespace.
>>
>>
>> On Wed, Oct 15, 2008 at 2:00 PM, keith chapman <ke...@gmail.com>wrote:
>>
>>> The SOAP 1.1 and SOAP 1.2 Bindings look identical but they have a small
>>> difference. They indicate to the client what SOAP version to use. If you
>>> generate a client specifying the endpoint it will generate it so that the
>>> message generated by the client would match the requirements specified in
>>> the corresponding binding. You could differentiate between SOAP 1.1 and 1.2
>>> using the namespace.
>>>
>>> SOAP 1.2 namespace is http://www.w3.org/2003/05/soap-envelope while SOAP
>>> 1.1 namespace is http://schemas.xmlsoap.org/soap/envelope/
>>>
>>> Thanks,
>>> Keith.
>>>
>>> On Wed, Oct 15, 2008 at 11:14 PM, Bai Shen <ba...@gmail.com>wrote:
>>>
>>>> I created a java class, and then used Axis2 to create a web service from
>>>> that. However, in the WSDL, it created three connections.  A SOAP 1.1, a
>>>> SOAP 1.2, and a SOAP HTTP.  The SOAP 1.1 and SOAP 1.2 ones look identical to
>>>> me.  So I was wondering what the difference was. And is there a need for
>>>> them?  How does Axis2 know whether it's a 1.1 or 1.2?  TIA.
>>>>
>>>> Bai Shen
>>>>
>>>
>>>
>>>
>>> --
>>> Keith Chapman
>>> Senior Software Engineer
>>> WSO2 Inc.
>>> Oxygenating the Web Service Platform.
>>> http://wso2.org/
>>>
>>> blog: http://www.keith-chapman.org
>>>
>>
>>
>
>
> --
> Keith Chapman
> Senior Software Engineer
> WSO2 Inc.
> Oxygenating the Web Service Platform.
> http://wso2.org/
>
> blog: http://www.keith-chapman.org
>

Re: Difference between SOAP 1.1, SOAP 1.2 and SOAP HTTP

Posted by keith chapman <ke...@gmail.com>.
Hi If you take this WSDL
<https://mooshup.com/services/system/version?wsdl>[1] as an example,
it has a SOAP 1.1 (system-version-SOAP11Binding) as well
as a SOAP 1.2 (system-version-SOAP12Binding) Binding. If you further look
into its content you will see that they use different namespaces, For e.g
SOAP 1.1 Binding uses "<soap:binding transport="
http://schemas.xmlsoap.org/soap/http" style="document"/>" whereas SOAP 1.2
Binding uses "<soap12:binding transport="
http://schemas.xmlsoap.org/soap/http" style="document"/>" and the soap12
namespace is xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" whereas
the soap namespace is xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/".

As you can see there is a difference between the two.

Thanks,
Keith.

[1] https://mooshup.com/services/system/version?wsdl

On Thu, Oct 16, 2008 at 12:35 AM, Bai Shen <ba...@gmail.com> wrote:

> I looked at the wsdl again, and there's literally no difference.  As far as
> I can tell, they both reference the same namespace.
>
>
> On Wed, Oct 15, 2008 at 2:00 PM, keith chapman <ke...@gmail.com>wrote:
>
>> The SOAP 1.1 and SOAP 1.2 Bindings look identical but they have a small
>> difference. They indicate to the client what SOAP version to use. If you
>> generate a client specifying the endpoint it will generate it so that the
>> message generated by the client would match the requirements specified in
>> the corresponding binding. You could differentiate between SOAP 1.1 and 1.2
>> using the namespace.
>>
>> SOAP 1.2 namespace is http://www.w3.org/2003/05/soap-envelope while SOAP
>> 1.1 namespace is http://schemas.xmlsoap.org/soap/envelope/
>>
>> Thanks,
>> Keith.
>>
>> On Wed, Oct 15, 2008 at 11:14 PM, Bai Shen <ba...@gmail.com>wrote:
>>
>>> I created a java class, and then used Axis2 to create a web service from
>>> that. However, in the WSDL, it created three connections.  A SOAP 1.1, a
>>> SOAP 1.2, and a SOAP HTTP.  The SOAP 1.1 and SOAP 1.2 ones look identical to
>>> me.  So I was wondering what the difference was. And is there a need for
>>> them?  How does Axis2 know whether it's a 1.1 or 1.2?  TIA.
>>>
>>> Bai Shen
>>>
>>
>>
>>
>> --
>> Keith Chapman
>> Senior Software Engineer
>> WSO2 Inc.
>> Oxygenating the Web Service Platform.
>> http://wso2.org/
>>
>> blog: http://www.keith-chapman.org
>>
>
>


-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org

Re: Difference between SOAP 1.1, SOAP 1.2 and SOAP HTTP

Posted by keith chapman <ke...@gmail.com>.
Hi If you take this WSDL
<https://mooshup.com/services/system/version?wsdl>[1] as an example,
it has a SOAP 1.1 (system-version-SOAP11Binding) as well
as a SOAP 1.2 (system-version-SOAP12Binding) Binding. If you further look
into its content you will see that they use different namespaces, For e.g
SOAP 1.1 Binding uses "<soap:binding transport="
http://schemas.xmlsoap.org/soap/http" style="document"/>" whereas SOAP 1.2
Binding uses "<soap12:binding transport="
http://schemas.xmlsoap.org/soap/http" style="document"/>" and the soap12
namespace is xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" whereas
the soap namespace is xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/".

As you can see there is a difference between the two.

Thanks,
Keith.

[1] https://mooshup.com/services/system/version?wsdl

On Thu, Oct 16, 2008 at 12:35 AM, Bai Shen <ba...@gmail.com> wrote:

> I looked at the wsdl again, and there's literally no difference.  As far as
> I can tell, they both reference the same namespace.
>
>
> On Wed, Oct 15, 2008 at 2:00 PM, keith chapman <ke...@gmail.com>wrote:
>
>> The SOAP 1.1 and SOAP 1.2 Bindings look identical but they have a small
>> difference. They indicate to the client what SOAP version to use. If you
>> generate a client specifying the endpoint it will generate it so that the
>> message generated by the client would match the requirements specified in
>> the corresponding binding. You could differentiate between SOAP 1.1 and 1.2
>> using the namespace.
>>
>> SOAP 1.2 namespace is http://www.w3.org/2003/05/soap-envelope while SOAP
>> 1.1 namespace is http://schemas.xmlsoap.org/soap/envelope/
>>
>> Thanks,
>> Keith.
>>
>> On Wed, Oct 15, 2008 at 11:14 PM, Bai Shen <ba...@gmail.com>wrote:
>>
>>> I created a java class, and then used Axis2 to create a web service from
>>> that. However, in the WSDL, it created three connections.  A SOAP 1.1, a
>>> SOAP 1.2, and a SOAP HTTP.  The SOAP 1.1 and SOAP 1.2 ones look identical to
>>> me.  So I was wondering what the difference was. And is there a need for
>>> them?  How does Axis2 know whether it's a 1.1 or 1.2?  TIA.
>>>
>>> Bai Shen
>>>
>>
>>
>>
>> --
>> Keith Chapman
>> Senior Software Engineer
>> WSO2 Inc.
>> Oxygenating the Web Service Platform.
>> http://wso2.org/
>>
>> blog: http://www.keith-chapman.org
>>
>
>


-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org

Re: Difference between SOAP 1.1, SOAP 1.2 and SOAP HTTP

Posted by Bai Shen <ba...@gmail.com>.
I looked at the wsdl again, and there's literally no difference.  As far as
I can tell, they both reference the same namespace.

On Wed, Oct 15, 2008 at 2:00 PM, keith chapman <ke...@gmail.com>wrote:

> The SOAP 1.1 and SOAP 1.2 Bindings look identical but they have a small
> difference. They indicate to the client what SOAP version to use. If you
> generate a client specifying the endpoint it will generate it so that the
> message generated by the client would match the requirements specified in
> the corresponding binding. You could differentiate between SOAP 1.1 and 1.2
> using the namespace.
>
> SOAP 1.2 namespace is http://www.w3.org/2003/05/soap-envelope while SOAP
> 1.1 namespace is http://schemas.xmlsoap.org/soap/envelope/
>
> Thanks,
> Keith.
>
> On Wed, Oct 15, 2008 at 11:14 PM, Bai Shen <ba...@gmail.com>wrote:
>
>> I created a java class, and then used Axis2 to create a web service from
>> that. However, in the WSDL, it created three connections.  A SOAP 1.1, a
>> SOAP 1.2, and a SOAP HTTP.  The SOAP 1.1 and SOAP 1.2 ones look identical to
>> me.  So I was wondering what the difference was. And is there a need for
>> them?  How does Axis2 know whether it's a 1.1 or 1.2?  TIA.
>>
>> Bai Shen
>>
>
>
>
> --
> Keith Chapman
> Senior Software Engineer
> WSO2 Inc.
> Oxygenating the Web Service Platform.
> http://wso2.org/
>
> blog: http://www.keith-chapman.org
>

Re: Difference between SOAP 1.1, SOAP 1.2 and SOAP HTTP

Posted by keith chapman <ke...@gmail.com>.
The SOAP 1.1 and SOAP 1.2 Bindings look identical but they have a small
difference. They indicate to the client what SOAP version to use. If you
generate a client specifying the endpoint it will generate it so that the
message generated by the client would match the requirements specified in
the corresponding binding. You could differentiate between SOAP 1.1 and 1.2
using the namespace.

SOAP 1.2 namespace is http://www.w3.org/2003/05/soap-envelope while SOAP 1.1
namespace is http://schemas.xmlsoap.org/soap/envelope/

Thanks,
Keith.

On Wed, Oct 15, 2008 at 11:14 PM, Bai Shen <ba...@gmail.com> wrote:

> I created a java class, and then used Axis2 to create a web service from
> that. However, in the WSDL, it created three connections.  A SOAP 1.1, a
> SOAP 1.2, and a SOAP HTTP.  The SOAP 1.1 and SOAP 1.2 ones look identical to
> me.  So I was wondering what the difference was. And is there a need for
> them?  How does Axis2 know whether it's a 1.1 or 1.2?  TIA.
>
> Bai Shen
>



-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org