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");



Reply via email to