Here are my steps.

1. Create WSDL
2. Run WSDL2Java to generate client and server classes.
3. Implement service using generated server skeleton.

I am convinced that starting with WSDL is best. WSDL is the public interface
for you service. Starting with a WSDL file as the definition avoids problems
and suprises. If I can define in it in WSDL then I am pretty sure axis will
handle it.  


> -----Original Message-----
> From: Stuart Barlow [mailto:[EMAIL PROTECTED]
> Sent: Thursday, August 07, 2003 4:58 AM
> To: [EMAIL PROTECTED]
> Subject: Re: WRAPPED services without wsdl
> 
> 
> Sorry to get back to this thread but...
> With AXIS you dont deploy a WSDL you write/generate a wsdd file.
> 
> So is the process...
> 1. Get Java interface I would like to convert to a web service
> 2. Run Java2WSDL to get WSDL
> 3. Fix errors in generated WSDL
> 4. Run WSDL2Java to generate client and server classes.
> 5. Implement service using generated server skeleton.
> 
> All the above works without step 3 for the default of RPC/Encoded.
> But RPC/Encoded is not recommended/supported in near future and
> difficult to talk to from Microsoft clients.
> 
> If I do the fixing in step 3 then I should have a much more
> compatible web service.
> 
> Thanks.
> Stuart.
> 
> Anne Thomas Manes wrote:
> 
> > You pretty much have to fix the WSDL.
> > WSDL editors:
> > - Cape Clear (http://www.capescience.com/downloads/wsdleditor/)
> > - Omniopera (http://www.omniopera.com)
> > - XMLSpy (http://www.altova.com/products_ide.html)
> > - SOAPscope (http://www.mindreef.com/)
> > 
> > Anne
> > 
> > ----- Original Message -----
> > From: "Irazabal, Alex" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Monday, August 04, 2003 11:31 AM
> > Subject: RE: WRAPPED services without wsdl
> > 
> > 
> > 
> >>Thanks. If I use AXIS on both ends (say using WRAPPED 
> services), do I
> > 
> > still
> > 
> >>have the same issues? I have a couple of web services 
> prototypes that
> > 
> > work,
> > 
> >>so I am assuming ( :) ) that is the case...Also any 
> suggestions on a WSDL
> >>editor/validator?
> >>Alex
> >>
> >>-----Original Message-----
> >>From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
> >>Sent: Monday, August 04, 2003 11:26 AM
> >>To: [EMAIL PROTECTED]
> >>Subject: Re: WRAPPED services without wsdl
> >>
> >>
> >>Generate the WSDL, then use a WSDL editor/validator to 
> identify and work
> >>through the errors. Most of the errors relate to namespace problems.
> >>Java2WSDL generates an empty targetNamespace in the 
> <schema> definition.
> >>
> >>----- Original Message -----
> >>From: "Irazabal, Alex" <[EMAIL PROTECTED]>
> >>To: <[EMAIL PROTECTED]>
> >>Sent: Monday, August 04, 2003 10:56 AM
> >>Subject: RE: WRAPPED services without wsdl
> >>
> >>
> >>
> >>>Thanks to all who replied...one last question: How is one 
> to avoid these
> >>>WSDL errors? Are they documented? Work-arounds?
> >>>Thanks,
> >>>A
> >>>
> >>>-----Original Message-----
> >>>From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
> >>>Sent: Monday, August 04, 2003 10:49 AM
> >>>To: [EMAIL PROTECTED]
> >>>Subject: Re: WRAPPED services without wsdl
> >>>
> >>>
> >>>Alex,
> >>>
> >>>1. Using doc/literal on the wire reduces interoperability 
> problems. The
> >>
> >>WS-I
> >>
> >>>Basic Profile requires the use of literal. From the 
> on-the-wire SOAP
> >>
> >>message
> >>
> >>>perspective, WRAPPED and DOCUMENT are identical -- they 
> both produce
> >>>document/literal on the wire. The only difference between these two
> >>
> >>options
> >>
> >>>is in what gets produced by Java2WSDL and WSDL2Java. When you use
> > 
> > WRAPPED,
> > 
> >>>your WSDL file uses certain naming conventions that cause 
> WSDL2Java to
> >>>produce an interface that supports invocation like:
> >>>      string return = myProxy.methodName( param1, param2 );
> >>>When you use DOCUMENT, WSDL2Java produces an interface like:
> >>>      string return = myProxy.methodName( javaBean );
> >>>
> >>>2. Clients figure out how to use your service by 
> interpreting your WSDL
> >>>file. If you let Axis generate your WSDL file for a 
> doc/literal service,
> >>>currently it produces errors. You know what format your 
> service needs to
> >>>process the requests, so you can build a client manually 
> using the call
> >>>object. But other developers don't know anything about the 
> service other
> >>>than what the WSDL tells them. If your WSDL has errors, no 
> other clients
> >>>will be able to access your service.
> >>>
> >>>Anne
> >>>
> >>>
> >>>----- Original Message -----
> >>>From: "Irazabal, Alex" <[EMAIL PROTECTED]>
> >>>To: <[EMAIL PROTECTED]>
> >>>Sent: Monday, August 04, 2003 10:33 AM
> >>>Subject: RE: WRAPPED services without wsdl
> >>>
> >>>
> >>>
> >>>>Anne, can you clarify a couple of things for me, please?
> >>>>1) What is the benefit of doc/literal on the wire using WRAPPED
> >>
> >>services?
> >>
> >>>>Why would one care what format is on the wire...
> >>>>2) What do you mean "other clients won't be able to 
> figure out how to
> >>>
> >>>access
> >>>
> >>>>your service"?
> >>>>
> >>>>Thanks,
> >>>>Alex
> >>>>
> >>>>[Irazabal, Alex]
> >>>> -----Original Message-----
> >>>>From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
> >>>>Sent: Monday, August 04, 2003 10:22 AM
> >>>>To: [EMAIL PROTECTED]
> >>>>Subject: Re: WRAPPED services without wsdl
> >>>>
> >>>>
> >>>>
> >>>>I don't understand why you would try to create a WRAPPED 
> web service
> >>>
> >>>without
> >>>
> >>>>using WSDL? It doesn't make any sense. The whole point 
> behind WRAPPED
> > 
> > is
> > 
> >>>to
> >>>
> >>>>let you generate a client proxy object using WSDL2Java so 
> that you can
> >>>>invoke the service using an RMI-style invocation (method name with
> >>>>parameters). From the client developer's point of view, 
> WRAPPED makes
> >>
> >>the
> >>
> >>>>service look and feel like rpc/encoded, but on the wire it's
> >>
> >>doc/literal.
> >>
> >>>>But if you aren't using WSDL2Java, then you'll have to 
> use the call
> >>>
> >>>object.
> >>>
> >>>>I don't think that Axis provides a mechanism to reference a schema
> > 
> > file.
> > 
> >>>It
> >>>
> >>>>only supports WSDL. Besides, Axis will always create a 
> WSDL file for
> > 
> > you
> > 
> >>>>when you deploy the service. The problem is that right now, the
> >>
> >>generated
> >>
> >>>>WSDL will have errors in it, which means that other 
> clients won't be
> >>
> >>able
> >>
> >>>to
> >>>
> >>>>figure out how to access your service.
> >>>>
> >>>>Here's some sample client code for a typical WRAPPED service. It
> > 
> > should
> > 
> >>>look
> >>>
> >>>>pretty much identical to client code for an RPC service:
> >>>>
> >>>>package test.axis.wrapped.client;
> >>>>
> >>>>import javax.xml.namespace.QName;
> >>>>import javax.xml.rpc.Service;
> >>>>import javax.xml.rpc.ServiceFactory;
> >>>>import java.net.URL;
> >>>>import test.axis.wrapped.iface;
> >>>>
> >>>>public class AxisWrappedClient
> >>>>{
> >>>>   public static void main(String[]args) throws Exception {
> >>>>        String UrlString = "wsdl-url";
> >>>>        String nameSpaceUri = "urn:axis.wrapped"
> >>>>        String serviceName = "WrappedService";
> >>>>        String portName = "WrappedServicePort";
> >>>>
> >>>>        URL currWsdlUrl = new URL(UrlString);
> >>>>        ServiceFactory serviceFactory = 
> ServiceFactory.newInstance();
> >>>>        Service currService =
> > 
> > serviceFactory.createService(currWsdlUrl,
> > 
> >>>>                new QName(nameSpaceUri, serviceName));
> >>>>
> >>>>        Curr myProxy = (Curr) currService.getPort(
> >>>>                new QName(nameSpaceUri, portName),
> >>>>                test.axis.wrapped.iface.class);
> >>>>
> >>>>       string return = myProxy.methodName( arg[0], arg[1] );
> >>>>
> >>>>   }
> >>>>}
> >>>>
> >>>>
> >>>>Note that test.axis.wrapped.iface is the interface generated by
> >>
> >>WSDL2Java.
> >>
> >>>>Anne
> >>>>
> >>>>
> >>>>
> >>>>----- Original Message -----
> >>>>
> >>>>From: Dimuthu Leelarathne <mailto:[EMAIL PROTECTED]>
> >>>>To: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> >>>>Sent: Monday, August 04, 2003 12:42 AM
> >>>>Subject: WRAPPED services without wsdl
> >>>>
> >>>>
> >>>>Hi all,
> >>>>
> >>>>I'm trying to write a wrapped web service without using 
> wsdl. I have
> >>
> >>some
> >>
> >>>>simple basic questions,
> >>>>
> >>>>1. Where should I put the xml schema ? Should it be inside wsdd or
> >>
> >>should
> >>
> >>>I
> >>>
> >>>>put a reference  to it in the wsdd ?
> >>>>
> >>>>2. I read something like this written by Anne ;
> >>>>
> >>>>The main reason that you want to use WRAPPED
> >>>>is so that you can invoke your service using something like this:
> >>>>string ResponseInfo = service.SubscriptionRequest( 
> usedId, password );
> >>>>
> >>>>If this is the case how can I provide it in the client without
> >>>
> >>>instantiating
> >>>
> >>>>a call object ? Since wsdl is not used stubs, SDI and etc 
> ..... won't
> > 
> > be
> > 
> >>>>created. So should I just anyway go ahead and use the 
> call object ?
> >>>>
> >>>>Thank you,
> >>>>Dimuthu.
> >>>>
> >>>
> > 
> > 
> 

Reply via email to