users@jax-rpc.java.net

ambiguity in mapping output message part as return or inout ?

From: Ken Lodge <klodge_at_capeclear.com>
Date: Mon, 19 Aug 2002 11:30:54 +0100

Consider the following wsdl fragment (note parameterOrder not specified):

    <message name="myRequest">
        <part name="arg1" type="xsd:string"/>
        <part name="arg2" type="xsd:int"/>
    </message>
    <message name="myResponse">
        <part name="arg2" type="xsd:int"/>
    </message>
    <portType name="myPortType">
        <operation name="myOperation">
            <input message="tns:myRequest"/>
            <output message="tns:myResponse"/>
        </operation>
    </portType>

In section 4.3.4 WSDL Operation, under the WSDL parameterOrder subheading,
there are 2 rules applicable here:

[1] "If a part name appears in both the input and output message
with the same type, it is an inout parameter"

[2] "If there is a single unlisted [in parameterOrder attribute ] output
part,
then it is the return type. Otherwise, the return type is void."

Rule [1] indicates arg2 should be treated as an inout, with void return
type.
But rule [2] indicates that there should be a return type of int (and 2
input
parameters - arg1 and arg2).

My guess is to treat arg2 as an inout, but I cannot find any part of the
spec
to confirm this, and no direct discussion of it in the interest group
archive.
Am I missing something ?

Thanks,
Ken.


Ken Lodge
Cape Clear Software
61 Fitzwilliam Lane, Dublin 2
ph: +353-1-2419955

CAPE CLEAR named in Red Herring 100:
www.redherring.com

CAPE CLEAR named as top 10 private software firm:
www.venturewire.com

CAPE CLEAR awarded "Next Big Thing" at Enterprise 2002:
 www.capeclear.com/news/press_releases/reports/next_big_thing.shtml