Hello Oliver,

>From your previous e-mail,  I think that you use MS SoapToolkit C++ version
to implement your Client.
In this case, a parameter (or response value) of Array type must be a
SAFEARRAY type.
Perhaps didn't you use this when invoking SOAP call?

Herve

> -----Message d'origine-----
> De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]De la part
> de Oliver Rettig
> Envoye : vendredi 22 juin 2001 14:36
> A : soap
> Objet : problemen with string[] as argument on ms-client invoking apache
> soap-server
>
>
> Hi,
>
> always problems with invoking commands with String[] as argument:
>
> This is my wsdl:
>
> <?xml version="1.0" encoding='UTF-8'?>
>
> <definitions name="urn:KlickBlickOperator"
>              targetNamespace="urn:KlickBlickOperator"
>              xmlns:tns="urn:KlickBlickOperator"
>              xmlns:typens="urn:xml-klickblick"
>              xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>              xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>              xmlns="http://schemas.xmlsoap.org/wsdl/";>
>
>   <types>
>     <xsd:schema targetNamespace="urn:KlickBlickOperator"
>
> xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
>                 elementFormDefault='qualified'>
>       <xsd:complexType name='ArrayOfstring'>
>         <xsd:complexContent>
>           <xsd:restriction base='SOAP-ENC:Array'>
>             <xsd:attribute ref="SOAP-ENC:arrayType"
> arrayType="xsd:string[]"/>
>           </xsd:restriction>
>         </xsd:complexContent>
>       </xsd:complexType>
>     </xsd:schema>
>   </types>
>
>   <!-- message declns -->
>   <message name='stringResponse'>
>     <part name='Result' type='xsd:string'/>
>   </message>
>   <message name='stringArrayRequest'>
>     <part name='arg0' type='tns:ArrayOfstring'/>
>   </message>
>   <message name='stringArrayResponse'>
>     <part name='arg0' type='tns:ArrayOfstring'/>
>   </message>
>  <!-- port type declns -->
>   <portType name="KlickBlickOperator">
>     <operation name='dummy1'>
>         <input message='stringArrayRequest'/>
>         <output message='stringArrayResponse'/>
>     </operation>
>     <operation name='dummy2'>
>         <input message='stringArrayRequest'/>
>         <output message='stringResponse'/>
>     </operation>
>   </portType>
>
>   <!-- binding declns -->
>   <binding name="KlickBlickSOAPBinding" type="KlickBlickOperator">
>     <soap:binding style="rpc"
>                   transport="http://schemas.xmlsoap.org/soap/http"/>
>     <operation name="dummy1">
>       <soap:operation soapAction=""/>
>       <input>
>       <soap:body use="encoded"
>                    namespace="urn:KlickBlickOperator"
>
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>       </input>
>       <output>
>         <soap:body use="encoded"
>                    namespace="urn:KlickBlickOperator"
>
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>       </output>
>     </operation>
>     <operation name="dummy2">
>       <soap:operation soapAction=""/>
>       <input>
>       <soap:body use="encoded"
>                    namespace="urn:KlickBlickOperator"
>
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>       </input>
>       <output>
>         <soap:body use="encoded"
>                    namespace="urn:KlickBlickOperator"
>
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>       </output>
>     </operation>
>   </binding>
>
> <!-- service decln -->
>   <service name="KlickBlickOperator">
>     <port name="KlickBlickOperator" binding="KlickBlickSOAPBinding">
>       <soap:address location="http://server/soap/servlet/rpcrouter"/>
>     </port>
>   </service>
>
> </definitions>
>
> Invoking of both methods: dummy1, dummy2 results the following
> error-message:
>
> Invoke of dummy (array) method faild: Client: Type conversion failure
> for element arg0.
>
> Has somebody an idea what can be wrong. Is there a fault in the wsdl. Or
> has somedody some code examples for a ms-client?
>
> Thanks for help
>
> cheers
>
> Oliver
>

Reply via email to