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 "Adam.Leggett" <Ad...@upco.co.uk> on 2001/06/05 11:14:00 UTC
Arrays with MS Hi-level client
I am using Apache2.1, MSSoap2.0 Hi-level and GLUE for my WSDL generation.
Trying interop between Apache Service and MS Hi-level Client.
Using a series of 'echo' methods to test ie:
public class EchoTestService {
public EchoTestService() {
super();
}
public float echoFloat(float f)
{
return f;
}
public float[] echoFloatArray(float[] ff)
{
return ff;
}
public int echoInteger(int i)
{
return i;
}
public int[] echoIntegerArray(int[] ii)
{
return ii;
}
public String echoString(String str)
{
return str;
}
public String[] echoStringArray(String[] ss)
{
return ss;
}
}
Have no problem with using the functions that do not require or return array
type.
However, when calling the array functions i get a strange error. No
SOAP-Fault is reported by the client but it appears that it believes the
return type to be an array of complex type and cannot map.
[Please note i'm a Java developer not a VB guru!]
Do I need to include something in my deploy desciptor to accomodate this.
DD.xml:
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
id="urn:interop">
<isd:provider type="java"
scope="Application"
methods="echoInteger echoString echoFloat echoIntegerArray
echoFloatArray echoStringArray">
<isd:java class="uk.co.upco.soap.training.EchoTestService"
static="false"/>
</isd:provider>
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListene
r>
<isd:mappings>
<isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:x="" qname="x:inputInteger"
xml2JavaClassName="org.apache.soap.encoding.soapenc.IntDeserializer"/>
<isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:x="" qname="x:inputFloat"
xml2JavaClassName="org.apache.soap.encoding.soapenc.FloatDeserializer"/>
<isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:x="" qname="x:inputString"
xml2JavaClassName="org.apache.soap.encoding.soapenc.StringDeserializer"/>
<isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:x="" qname="x:inputIntegerArray"
xml2JavaClassName="org.apache.soap.encoding.soapenc.ArraySerializer"/>
<isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:x="" qname="x:inputFloatArray"
xml2JavaClassName="org.apache.soap.encoding.soapenc.ArraySerializer"/>
<isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:x="" qname="x:inputStringArray"
xml2JavaClassName="org.apache.soap.encoding.soapenc.ArraySerializer"/>
<isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:x="" qname="x:string"
xml2JavaClassName="org.apache.soap.encoding.soapenc.StringDeserializer"/>
</isd:mappings>
</isd:service>
Soap request and response for array function:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAPSDK1:echoFloatArray xmlns:SOAPSDK1="urn:interop">
<inputFloatArray xmlns:SOAPSDK2="http://www.w3.org/1999/XMLSchema"
xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/"
SOAPSDK3:arrayType="SOAPSDK2:float[3]"
xmlns:SOAPSDK4="http://www.w3.org/1999/XMLSchema-instance"
SOAPSDK4:type="SOAPSDK3:Array">
<SOAPSDK3:float>2.5</SOAPSDK3:float>
<SOAPSDK3:float>3.4</SOAPSDK3:float>
<SOAPSDK3:float>4.2</SOAPSDK3:float>
</inputFloatArray>
</SOAPSDK1:echoFloatArray>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:echoFloatArrayResponse xmlns:ns1="urn:interop"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <return
xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Array"
ns2:arrayType="xsd:float[3]">
<item xsi:type="xsd:float">2.5</item>
<item xsi:type="xsd:float">3.4</item>
<item xsi:type="xsd:float">4.2</item>
</return>
</ns1:echoFloatArrayResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Thanks in advance
Adam Leggett
UPCO
Direct Line: 0113 20 10 631
Fax: 0113 20 10 666
<http://www.upco.co.uk>
The contents of this email are intended for the named addressees and may
contain confidential and / or privileged material. If received in error,
please contact UPCO on +44 (0)113 20 10 600 and then delete the entire email
from your system. Unauthorised review, distribution, disclosure or other use
of this information could constitute a breach of confidence. Your
co-operation in this matter is greatly appreciated.
---------------------------------------------------------------------
To unsubscribe, e-mail: soap-user-unsubscribe@xml.apache.org
For additional commands, email: soap-user-help@xml.apache.org