You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Nadir Amra <am...@us.ibm.com> on 2008/05/17 03:33:34 UTC

Axis2/C doc/lit wrapper vs. non-wrapper style

How does axis2/C handle document/literal wrapped vs. unwrapped?  Does it 
support it?  What is the default?  When I generate client stubs it seems 
it is always the case that  the following is generated:

adb_phoneStatusResponse_t* 
            axis2_stub_op_IPTelephonyService_phoneStatusRequest( 
axis2_stub_t *stub, 
                                                                 const 
axutil_env_t *env,
 adb_phoneStatusRequest_t* _phoneStatusRequest);

Even if I specify -uw

So I am curious about the following:

(1) When is wrapped vs. unwrapped used?

(2) Is there actually a difference in SOAP request between the two?  From 
my readings it seems that this is more of a programming interface aspect 
than anything else - that is, whether the child elements of the wrapper 
element are listed as parameters or whether a structure is used. 

Thanks in advance.

Nadir Amra


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: Axis2/C doc/lit wrapper vs. non-wrapper style

Posted by Dimuthu Gamage <di...@gmail.com>.
Please see the inline comment.

On Sat, May 17, 2008 at 10:01 AM, Dimuthu Gamage <di...@gmail.com> wrote:
> Hi Nadir,
>
> If I start with answering your questions straight away,
>
> 1. In Axis2/Java (with Axis2/Java codegen tool) you can use wrapped or
> unwrapped mode ( -uw option) for any wsdl regardless whether it is a
> (just doc-lit, doc-lit bare or doc-lit wrapped wsdl.) But unlike
> Axis2/Java, Axis2/C still doesn't do any special for the unwrapped
> option (I think this can be fixed easily with a little hack).
>
> For an example say you have a simpleAdd schema element
>
>            <xs:element name="simpleAdd">
>                <xs:complexType>
>                    <xs:sequence>
>                        <xs:element minOccurs="0" name="param0"
> nillable="true" type="xs:int"/>
>                        <xs:element minOccurs="0" name="param1"
> nillable="true" type="xs:int"/>
>                    </xs:sequence>
>                </xs:complexType>
>            </xs:element>
>
> for wrapped mode the api is like this ( support both Axis2/C and Axis2/ Java)
>
> simpleAdd( param: simpleAdd); // you have to set param0, param1 within
> the simpleAdd adb Class
>
> for unwrapped mode (support only in Axis2/Java)
>
> simpleAdd(param0: int, param1: int);
>
>
> 2. I too agree with what you mentioned, it is just the client api
> should be different in doc -lit and doc-list wrapped mode. But the
> codegen tool doesn't care what is the mode of the actual wsdl, it just
> care about the user option -uw to generate a different (rpc-like) API.
>
> Thanks
> Dimuthu
>
>
> On Sat, May 17, 2008 at 7:03 AM, Nadir Amra <am...@us.ibm.com> wrote:
>> How does axis2/C handle document/literal wrapped vs. unwrapped?  Does it
>> support it?  What is the default?  When I generate client stubs it seems
>> it is always the case that  the following is generated:
>>
>> adb_phoneStatusResponse_t*
>>            axis2_stub_op_IPTelephonyService_phoneStatusRequest(
>> axis2_stub_t *stub,
>>                                                                 const
>> axutil_env_t *env,
>>  adb_phoneStatusRequest_t* _phoneStatusRequest);
>>
>> Even if I specify -uw
>>
>> So I am curious about the following:
>>
>> (1) When is wrapped vs. unwrapped used?
>>
>> (2) Is there actually a difference in SOAP request between the two?

AFAIK there is one difference in SOAP requests in two forms. In
doc-lit wsdls the operation name is equal to the first body child
element, where as in other cases it can be any name. So As I said
earlier mail the codegen tool handle that different internally and
give the API depending on the user option

Thanks
Dimuthu

  From
>> my readings it seems that this is more of a programming interface aspect
>> than anything else - that is, whether the child elements of the wrapper
>> element are listed as parameters or whether a structure is used.
>>
>> Thanks in advance.
>>
>> Nadir Amra
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: Axis2/C doc/lit wrapper vs. non-wrapper style

Posted by Dimuthu Gamage <di...@gmail.com>.
Hi Nadir,

If I start with answering your questions straight away,

1. In Axis2/Java (with Axis2/Java codegen tool) you can use wrapped or
unwrapped mode ( -uw option) for any wsdl regardless whether it is a
(just doc-lit, doc-lit bare or doc-lit wrapped wsdl.) But unlike
Axis2/Java, Axis2/C still doesn't do any special for the unwrapped
option (I think this can be fixed easily with a little hack).

For an example say you have a simpleAdd schema element

            <xs:element name="simpleAdd">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="param0"
nillable="true" type="xs:int"/>
                        <xs:element minOccurs="0" name="param1"
nillable="true" type="xs:int"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>

for wrapped mode the api is like this ( support both Axis2/C and Axis2/ Java)

simpleAdd( param: simpleAdd); // you have to set param0, param1 within
the simpleAdd adb Class

for unwrapped mode (support only in Axis2/Java)

simpleAdd(param0: int, param1: int);


2. I too agree with what you mentioned, it is just the client api
should be different in doc -lit and doc-list wrapped mode. But the
codegen tool doesn't care what is the mode of the actual wsdl, it just
care about the user option -uw to generate a different (rpc-like) API.

Thanks
Dimuthu


On Sat, May 17, 2008 at 7:03 AM, Nadir Amra <am...@us.ibm.com> wrote:
> How does axis2/C handle document/literal wrapped vs. unwrapped?  Does it
> support it?  What is the default?  When I generate client stubs it seems
> it is always the case that  the following is generated:
>
> adb_phoneStatusResponse_t*
>            axis2_stub_op_IPTelephonyService_phoneStatusRequest(
> axis2_stub_t *stub,
>                                                                 const
> axutil_env_t *env,
>  adb_phoneStatusRequest_t* _phoneStatusRequest);
>
> Even if I specify -uw
>
> So I am curious about the following:
>
> (1) When is wrapped vs. unwrapped used?
>
> (2) Is there actually a difference in SOAP request between the two?  From
> my readings it seems that this is more of a programming interface aspect
> than anything else - that is, whether the child elements of the wrapper
> element are listed as parameters or whether a structure is used.
>
> Thanks in advance.
>
> Nadir Amra
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org