I assume the code snippet of the getIt method is from your source MyService
class.
This class only defines the interface. Axis will generate a new class
called MyServiceSoapBindingImpl, which is where you have to implement the
getIt method.
By default, the getIt method in the generated MyServiceSoapBindingImpl class
just returns null.
----- Original Message -----
From: "(RV) Buchberger, J�rg" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, July 18, 2002 12:14 AM
Subject: Bean data not serialized
> Hi all.
>
> I'm new to this. So, probably I missed out on something.
> After following thru the userguide examples I tried to send a Bean via
Axis
> SOAP.
>
> No exceptions, no AxisFault.
> The Application runs and requests,
> the Service returns a BeanObject,
> Axis seems to serialize the Bean,
> soap envelope is sent (seems to be empty),
> Axis seems to deserialize the Bean,
> the client app receives a Bean of the type requested,
> but ==> without data <== .
>
> Any ideas?
> Note: code snippets and other info about my setup and the messages are at
> the end of this posting.
>
> Any help is greatly appreciated.
> Best regards.
> Joerg Buchberger
>
>
> p.s. info on my setup:
>
> -----------------------------
> MyService-method and -output:
> -----------------------------
>
> public SimpleObject getIt()
> {
> int id = this.getSomeId();
> String name = this.getName(id);
> SimpleItem anItem = new SimpleItem(id, name);
>
> System.out.println(anItem.getId()+""+anItem.getName());
>
> return anItem;
>
> } // END getIt
>
>
> stdout:
> -------
> 77 FooBar
>
>
> -----------------------------------
> Clientside code snippet and output:
> -----------------------------------
>
> <snippet>
> String url = host+port+"/axis/services/MyService";
>
> Service service = new Service();
> Call call = (Call) service.createCall();
>
> QName qn = new QName("urn:BeanService", "SimpleObject");
> call.registerTypeMapping(SimpleObject.class, qn,
> new BeanSerializerFactory(SimpleObject.class, qn),
> new BeanDeserializerFactory(SimpleObject.class, qn));
>
> call.setTargetEndpointAddress( new java.net.URL(url) );
> call.setOperationName(new QName("getIt") );
>
> anItem = (SimpleObject) call.invoke(new Object[] {});
>
> System.out.println(anItem.getId()+" "+anItem.getName());
> </snippet>
>
>
> stdout:
> -------
> 0 null
>
>
>
> -------------------------
> AdminClient list snippet:
> -------------------------
>
> <service name="MyService" provider="java:RPC">
> <parameter name="allowedMethods" value="*"/>
> <parameter
> name="className"
> value="my.packg.ws.MyService"/>
> <parameter name="sendXsiTypes" value="true"/>
> <parameter name="sendMultiRefs" value="true"/>
> <parameter name="sendXMLDeclaration" value="true"/>
> <beanMapping
> languageSpecificType="java:my.packg.SimpleObject"
> qname="ns1:SimpleObject"
> xmlns:ns1="urn:BeanService"/>
> </service>
>
>
> ------------
> TCP-Monitor:
> ------------
>
> Note: I abbreviated the long lines.
>
> ==== Request ====
>
> POST /axis/services/TreeService HTTP/1.0
> Host: localhost
> Content-Type: text/xml; charset=utf-8
> SOAPAction: ""
> Content-Length: 409
>
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope
> soapenv:encodingStyle="http://schemas..."
> xmlns:soapenv="http://schemas.xmlsoap..."
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-i..."
> xmlns:SOAP-ENC="http://schemas.xmlsoap...">
> <soapenv:Body>
> <GetRootItem/>
> </soapenv:Body>
> </soapenv:Envelope>
>
> ==== Response ====
>
> HTTP/1.1 200 OK
> Content-Type: text/xml; charset=utf-8
> Date: Wed, 17 Jul 2002 13:08:03 GMT
> Server: Apache Tomcat/4.0.4 (HTTP/1.1 Connector)
> Connection: close
>
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap..."
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...">
> <soapenv:Body>
> <getItResponse soapenv:encodingStyle="http://...">
> <getItReturn href="#id0"/>
> </getItResponse>
> <multiRef
> id="id0"
> soapenc:root="0"
> soapenv:encodingStyle="http://schemas..."
> xsi:type="ns1:SimpleObject"
> xmlns:soapenc="http://schemas.xmlsoap.org..."
> xmlns:ns1="urn:BeanService"/>
> </soapenv:Body>
> </soapenv:Envelope>
>
>
>
>