RPC/Encoding dependency

In the editors copy of Part 2[1], section 4.1[2] states;

'As noted above, RPC invocation and response structs can be encoded
according to the rules in 3 SOAP Encoding, or other encodings can be
specified using the encodingStyle attribute'

While I grant that strictly speaking for each parameter accessor I could use
a different encoding, the encoding of the procedure/method signature is, by
definition, the same as Section 3[3] encoding. For example, given the
following COM IDL method signature

    void Add ( [in] long x, [in] long y, [out] long* sum );

I could not encode the request as;

    <Add x='10' y='20' xmlns:soap='http://www.w3.org/2001/12/soap-envelope'
         soap:encodingStyle='urn:example-org:attrenc' />

in fact, I could ONLY encode the request as;

    <Add xmlns:soap='http://www.w3.org/2001/12/soap-envelope'
         soap:encodingStyle='http://www.w3.org/2001/12/soap-encoding' >
      <X>10</x>
      <y>20</y>
    </Add>

Given the following IDL

    struct Point
    {
        long x,y;
    }

    void Add ( [in] struct Point pt1,
               [in] struct Point pt2,
               [out] struct Point* ptret );

I *could* encode each point using something other than section 3;

    <Add xmlns:soap='http://www.w3.org/2001/12/soap-envelope'
         soap:encodingStyle='http://www.w3.org/2001/12/soap-encoding' >
      <pt1 x='10' y='20' soap:encoding='urn:example-org:attrenc' />
      <pt2 y='10' x='20' soap:encoding='urn:example-org:attrenc' />
    </Add>

but the request element is always serialized according to Section 3.

Gudge

[1] http://www.w3.org/2000/xp/Group/1/10/11/soap12-part2.xml
[2] http://www.w3.org/2000/xp/Group/1/10/11/soap12-part2.xml#IDAGG5CF
[3] http://www.w3.org/2000/xp/Group/1/10/11/soap12-part2.xml#soapenc

Received on Friday, 8 February 2002 11:00:23 UTC