You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by Oliver Rettig <Ol...@telda.net> on 2001/06/22 14:35:39 UTC
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
RE: problemen with string[] as argument on ms-client invoking apache soap-server
Posted by Shu <sh...@esker.fr>.
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 : oliver@jupiter.esker.fr [mailto:oliver@jupiter.esker.fr]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
>
RE: problemen with string[] as argument on ms-client invoking apache soap-server
Posted by Shu <sh...@esker.fr>.
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 : oliver@jupiter.esker.fr [mailto:oliver@jupiter.esker.fr]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
>