You may have at most one message part in the SOAP Body in a document style message. If you want to send parameters, then you should use RPC style instead.

If you want to use document style, then you must define a single wrapper element that encapsulates your four parameters.

Anne

On 6/14/06, Monica Ruiu <[EMAIL PROTECTED]> wrote:
Hi all,

I'm a junior java developer and I'm trying to set up a document literal web service.
In the service there is a message with 4 input parameters and my problem is the loss
of values of the wsdl:parts.
Each part in wsdl:message refers to a xml element, the client builds the request
with all the elements referred by the parts. In the request all the elemets have the value
but on the server (*Impl class) only the first parameter contains the value all the others are null.

Could you tell me where I'm wrong ?

TIA

monica

PS:
...
            <xsd:simpleType name="data-model-list-mode-type">
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="all"/>
                    <xsd:enumeration value="active"/>
                    <xsd:enumeration value="archive"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:element name="data-model-list-request-application-name" type="xsd:string"/>
            <xsd:element name="data-model-list-request-repository-name" type="xsd:string"/>
            <xsd:element name="data-model-list-request-model-name" type="xsd:string"/>
            <xsd:element name="data-model-list-request-mode" type="clt:data-model-list-mode-type"/>
...
    <wsdl:message name="modelDefinitionListRequest">
        <wsdl:part name="applicationName" element="clt:data-model-list-request-application-name"/>
        <wsdl:part name="repositoryName" element="clt:data-model-list-request-repository-name"/>
        <wsdl:part name="modelName" element="clt:data-model-list-request-model-name"/>
        <wsdl:part name="mode" element="clt:data-model-list-request-mode"/>
    </wsdl:message>
...
        <wsdl:operation name="getModels">
            <wsdl:input message="cltengine:modelDefinitionListRequest"/>
            <wsdl:output message="cltengine:modelDefinitionListResponse"/>
        </wsdl:operation>
...
    <wsdl:binding name="DataModelSOAP" type="cltengine:DataModelPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http "/>

        <wsdl:operation name="getModels">
            <soap:operation soapAction="http://cmos.bassnet.biz/template/getModels"/>
            <wsdl:input>
                <soap:body use="literal" parts="applicationName repositoryName modelName mode" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>





Reply via email to