Hello, We are developing an application which uses SOAP to communicate between server and client. We are using the RPC providor and Axis 1.3. All seems to work fine as long as we don't use any complex types in our arguments. I reduced the webservice to this example:
// deployment
<service name="TestService" provider="java:RPC">
<parameter name="className" value="Test"/>
<parameter name="allowedMethods" value="echo"/>
<beanMapping qname="myNS:Accesspoint" xmlns:myNS="urn:Test"
languageSpecificType="java:Accesspoint"/>
</service>
// the wsdl part for the Accesspoint type:
<wsdl:types>
<schema targetNamespace="urn:Test">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="Accesspoint">
<sequence>
<element name="macAddress" nillable="true" type="xsd:string"/>
<element name="signalStrength" type="xsd:int"/>
<element name="timestamp" nillable="true" type="xsd:dateTime"/>
</sequence>
</complexType>
</schema>
</wsdl:types>
This is autogenerated but the wsdl file is used to generate client bindings.
// the Accesspoint class:
public class Accesspoint {
private Calendar $timestamp;
private String $mac;
private int $signal;
public final Calendar getTimestamp() {
return $timestamp;
}
public final String getMacAddress() {
return $mac;
}
public int getSignalStrength() {
return $signal;
}
}
// the webservice
public class Test {
public Accesspoint echo (Accesspoint ap) {
return ap;
}
}
The members of the 'ap' argument are always (null, null, 0) when the
method is called. It seems like the call doesn't get deserialized properly.
Is there anything I'm doing wrong? I'm using the SimpleAxisServer but it
doesn't work with Tomcat either.
thanks,
Bart
--
Bart Vanbrabant <[EMAIL PROTECTED]>
PGP fingerprint: 093C BB84 17F6 3AA6 6D5E FC4F 84E1 FED1 E426 64D1
signature.asc
Description: OpenPGP digital signature
