One more update ....
I think it is a bug in WSDL2Java ....

here is what I found

delpoy.wsdd:
=========================================
<beanMapping xmlns:ns="urn:SchedServer"
qname="ns:Ident"
languageSpecificType="java:com.solutionsquare.sched.data.Ident" />

=========================================

?wsdl
=========================================
<wsdl:definitions
targetNamespace="http://localhost:8180/axis/services/SchedServer";>
        <!--
WSDL created by Apache Axis version: 1.2beta
Built on Mar 31, 2004 (12:47:03 EST)
-->
        <wsdl:types>
        <schema targetNamespace="urn:SchedServer">
=========================================

but ... in generated Ident.java i found THIS

typeDesc.setXmlType(new
javax.xml.namespace.QName("http://data.sched.solutionsquare.com";, "Ident"));
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

so I changed deploy.wsdd to

<beanMapping xmlns:ns="http://data.sched.solutionsquare.com";
qname="ns:Ident"
languageSpecificType="java:com.solutionsquare.sched.data.Ident" />

and it WORKED !

so where is inconsistency/bug somewhere .......

thanks,
Tomas

> Update:
>
> I made it work, but that is not how I want to do it.
> Server side beans are just data + setter and getter. Once I copied beans
> from client side, which were generated by WSDL2Java nad have all those
> additional get De/Serializer methods everything started working.
>
> Can I somehow make server side beans work with simple beans. I do not want
> to write wsdl and generate beans out of it to make things work.
>
> thanks,
> Tomas
>
>> 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