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

Reply via email to