Hi!
Thanks for both your responses. They were both very helpful.
I will retry with a single object as a param.
Though, another question arose in my mind from these: Since the client is not
sending method info (in a doc-literal scenario), my interface could only have
one method in it. I could not have two methods, since axis wouldn't know which
method to call. (Is that just so glaringly obvious I should have seen it?) I
will try this as well...
Thanks again very much!
-K
--- Anne Thomas Manes <[EMAIL PROTECTED]> wrote:
> <flameOn>
> The documentation in the user guide is terrible. You should always
> start with WSDL -- not from Java.
> </flameOn>
>
> Here are some basic rules:
>
> If you want to generate a web service from your Java interface, then
> you should always use wrapped/literal. Wrapped/literal supports
> multiple parameters, whereas document/literal does not.
>
> If you want to generate document/literal from your Java interface,
> then you need to design your interface such that it accepts a single
> object as input and returns a single object.
>
> Better yet, write your WSDL first, and generate your Java code from it.
>
> Anne
>
>
> On Fri, 04 Mar 2005 13:17:30 +0900, Bill Keese
> <[EMAIL PROTECTED]> wrote:
> > Do you really want document/literal rather than wrapped/literal? Most
> > people send messages like
> >
> > <concatentate>
> > <in0>hello</in0>
> > <in0>world</in0>
> > </concatenate>
> >
> > ...which is wrapped literal (since the top tag is the name of the
> function).
> >
> > Ketan Deshpande wrote:
> >
> > >Hi all!
> > >
> > >I am a newbie at this, so please be gentle...
> > >
> > >I am trying to write a web service that is document-literal. I am
> > >following the
> > >example give in the Axis guide:
> > >(I am using axis-1_2RC2)
> > >
> > >1. Create an interface & Compile it to .class
> > >public interface MyWebService {
> > > public String concatenate(String str1, String str2);
> > >}
> > >2. Generate WSDL from it:
> > >java -classpath %MY_CLASSPATH% org.apache.axis.wsdl.Java2WSDL -o
> > >myws.doc.wsdl
> > >-u LITERAL --style DOCUMENT -l%MY_LOCATION% -n "urn:MyWebServiceNS"
> > >MyWebService
> > >
> > >3. Now generate server code from it:
> > >java -classpath %MY_CLASSPATH% org.apache.axis.wsdl.WSDL2Java -W -s -S
> > >true -o
> > >server.doc.generated myws.doc.wsdl
> > >
> > >When I run this, I get a NullPointerException on the Server side, in
> > >Axis code.
> > >
> > >
> > >SOAPMonitor shows the client sending this message in the envelope:
> > ><soapEnv:Body>
> > > <in0 xmlns="urn:MyWebServiceNS">A</in0>
> > > <in1 xmlns="urn:MyWebServiceNS">B</in1>
> > ></soapEnv:Body>
> > >
> > >When I looked into the server code, I saw that the server skeleton was
> > >more
> > >like RPC or Wrapped:
> > > public java.lang.String concatenate(java.lang.String in0,
> > >java.lang.String
> > >in1) throws java.rmi.RemoteException
> > > {
> > > java.lang.String ret = impl.concatenate(in0, in1);
> > > return ret;
> > > }
> > >
> > >
> > >What am I doing wrong? Any pointers you can provide will be most
> > >gratefully
> > >appreciated.
> > >
> > >Thanks much!
> > >
> > >-Ketan
> > >
> > >=====
> > >Ketan Deshpande
> > >[EMAIL PROTECTED]
> > >
> > >__________________________________________________
> > >Do You Yahoo!?
> > >Tired of spam? Yahoo! Mail has the best spam protection around
> > >http://mail.yahoo.com
> > >
> > >
> > >
> > >
> >
>
Ketan Deshpande
[EMAIL PROTECTED]
__________________________________
Celebrate Yahoo!'s 10th Birthday!
Yahoo! Netrospective: 100 Moments of the Web
http://birthday.yahoo.com/netrospective/