Your argurment might be ok for service consumers. But if you are developing services for others to consume then WSDL is the public interface of your service. If you don't/can't/won't understand the WSDL for your service then you amybe shouldn't be publishing a web service.
> -----Original Message----- > From: Stuart Barlow [mailto:[EMAIL PROTECTED] > Sent: Thursday, August 07, 2003 8:16 AM > To: [EMAIL PROTECTED] > Subject: Re: WRAPPED services without wsdl > > > But then I have to know all the details of WSDL? :-) > > As an application (vertical solution developer) I should not > have to know the intricacies of interface defn. That is why > CORBA is dead. Because it is disgusting to use. > > What is the point of a web services toolkit if it doesnt > understand WSDL? > > But then of course I could just dig out that W3C WSDL document. > :-) > > Hansen, Richard wrote: > > > 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. > >>>>>> > >>>>> > >>> > > >
