Long Story short:
Axis 1.2 beta.... could not invoje java-rpc with copmplex type as parameter.
1. Server side one service taking in a custom object as a paramater - Ident
2. client stub generated from wsdl.
3. Using tcpmon I see that server is not able to deserialize this object.
I am missing something obvoius .. for 4 hours already :(
the class on the server is
--------------------------------------------------------------
..... snip......
public class Ident implements Serializable
{
private String company;
private String usename;
private String password;
.... snip......
all get and set methods are present, nothing else ....
--------------------------------------------------------------
deploy.wsdd
--------------------------------------------------------------
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="SchedServer" provider="java:RPC">
<parameter name="className"
value="com.solutionsquare.sched.server.SchedServer"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="Application"/>
</service>
<beanMapping xmlns:ns="urn:BeanService" qname="ns:Ident"
languageSpecificType="java:com.solutionsquare.sched.data.Ident" />
</deployment>
--------------------------------------------------------------
service method:
public Customer getCustomer(com.solutionsquare.sched.data.Ident ident,
java.lang.String id) throws java.rmi.RemoteException;
TCPMON:
HTTP/1.1 500 Internal Server Error?
Content-Type: text/xml;charset=utf-8?
Date: Thu, 24 Jun 2004 15:10:49 GMT?
Server: Apache-Coyote/1.1?
Connection: close?
?
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>org.xml.sax.SAXException: Deserializing parameter 'ident':
could not find deserializer for type
{http://data.sched.solutionsquare.com}Ident</faultstring>
<detail/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Client:
SchedServerService schedService = new SchedServerServiceLocator();
URL serviceURL = new URL("http://localhost:8181/axis/services/SchedServer");
Customer cust1 = null;
cust1 = schedService.getSchedServer(serviceURL).getCustomer(new Ident(),
"1");