YOur samplebean class is not really a bean. In short, you should have
methods like:
String getName();
void setName(String name);
int getAge();
void setAge(int age);
You should take a look at the JavaBeans spec on Sun's web-site.
Thanks,
-Matt
> -----Original Message-----
> From: raja [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, June 21, 2001 1:03 PM
> To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> Subject: Sending paramters
>
>
> Hi,
> I have written a sample application in soap that sends a string to the
> server ( here the service object ) and gets an object in return.
> I am unable
> to extract the values from the object ( response object ). Also, i would
> like to know how to pass an object ( here a bean ) to the service
> object. I
> have mapped the bean and used a serializer and deserializer object --
> BeanSerializer for it. I need to pass values in this object.
>
> here is the code for the client, server and the bean object.
> Please suggest
>
> The client
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ----------------------
> import java.io.*;
> import java.util.*;
> import java.net.*;
> import org.w3c.dom.*;
> import org.apache.soap.util.xml.*;
> import org.apache.soap.*;
> import org.apache.soap.encoding.*;
> import org.apache.soap.encoding.soapenc.*;
> import org.apache.soap.rpc.*;
> import samplebean;
> class ClientSample
> {
> public static void main(String arg[]) throws Exception
> {
> int i = 0;
> try
> {
> SOAPMappingRegistry smr = new SOAPMappingRegistry();
> //BeanSerializer beanSer = new BeanSerializer();
> BeanSerializer bs = new BeanSerializer();
> smr.mapTypes(Constants.NS_URI_SOAP_ENC,
> new
> QName("urn:sampleservermap", "samplebean1"),
>
> samplebean.class, bs, bs);
> Call call = new Call();
> call.setTargetObjectURI ("urn:sampleserverret");
> call.setMethodName ("samplemethod");
> call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
> call.setSOAPMappingRegistry(smr);
> String symbol = new String("hello");
> Vector params = new Vector ();
>
> params.addElement (new Parameter("symbol",
> String.class, symbol, null));
> call.setParams(params);
>
>
> URL url = new URL
> ("http://localhost:8080/soap/servlet/rpcrouter");
> Response resp = call.invoke (/* router URL */ url,
> /* actionURI */ "" );
>
> // Check the response.
> if (resp.generatedFault ()) {
> Fault fault = resp.getFault ();
> System.out.println ("Ouch, the call failed:
> "+fault);
> System.out.println (" Fault Code = " +
> fault.getFaultCode ());
> System.out.println (" Fault String = " +
> fault.getFaultString ());
> }
> else
> {
> Parameter result = resp.getReturnValue ();
> Object value = result.getValue();
> samplebean smpbn = (samplebean)value;
> System.out.println ("Result is " + smpbn.name +
> value);
> }
> }
> catch(Exception e)
> {
> System.out.println("Exception " +e.getMessage());
> }
>
> }
>
> }
>
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ----------------------
> The server (service object ) code
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ----------------------
> import java.util.*;
> import org.w3c.dom.*;
> import javax.xml.parsers.*;
> import org.apache.soap.util.xml.*;
> import samplebean;
>
> public class SampleServer
> {
>
> public SampleServer(){
> }
> public samplebean samplemethod(String str)
> {
> samplebean sb = new samplebean();
> try
> {
> System.out.println( "Received from client " +str );
>
> sb.name = "raja";
>
>
> }
> catch ( Exception e)
> {
> System.out.println ("Server " +e.getMessage());
> }
> finally
> {
> return sb ;
> }
> }
> }
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ----------------------
>
> The bean class
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ----------------------
> public class samplebean
> {
> public samplebean()
> {
> }
> public String name = new String();
> public int age;
>
> public String getname()
> {
> return name;
> }
> }
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ----------------------
>
> Please suggest. Thanx in advance.
> Raja
> Innova Solutions
> Ph: Off : 3543139,40,50 X 217
> Res : 3551023
>