I have a question related to the way Apache SOAP 2.2 was engineered SOAP RPC
as against SOAP Messaging.

If You look at the SOAP RPC server, there is nothing which ties the server
code to SOAP specific API's.

e.g
public class SoapSample 
{
        
        public String[] print()
        {
                return "Hello World!";
        }
}

Its the abstraction level above that(may be the rpcrouter), which gives this
piece of code the definition of SOAP RPC server.

Now if you look at a SOAP Messagin server,

e.g

public class SoapMsgServer 
{
        public void purchaseOrder(Envelope inputEnv, SOAPContext reqCtx,
SOAPContext resCtx)
        {
                try
                {
                
                // dummy messaging server.
                
                resCtx.setRootPart("Hello from SOAP messaging server!",
"text/html");
                }
                catch(Exception ex)
                {
                        ex.printStackTrace();
                }

        }
}

There is a tight coupling, between the server code and the SOAP API's.

I was wondering why has the Apache SOAP Message server designed this way.
Why cant I return String or some datatype and the layer above
that(messagerouter ????) encapsulate the details of forming the SOAPEnvelope
and return it back to the client ????

Basically its the question of ownership.

any takers.....

reg
Nilesh


Reply via email to