axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anne Thomas Manes" <a...@manes.net>
Subject Re: WRAPPED services without wsdl
Date Thu, 07 Aug 2003 14:56:55 GMT
Agreed. Any volunteers?

(I wish I could, but I can't. It may not be apparent from my messages, but
I'm not a Java developer. I'm pretty knowledgeable about XML, SOAP, and
WSDL, so I support this effort by answering questions.)

Anne

----- Original Message -----
From: "Manchaiah, Girish (LNG-DAY)" <girish.manchaiah@lexisnexis.com>
To: <axis-user@ws.apache.org>
Sent: Thursday, August 07, 2003 10:16 AM
Subject: RE: WRAPPED services without wsdl


> May be one of us should help make opensource WSTKs emit right WSDLs
>
> -----Original Message-----
> From: Anne Thomas Manes [mailto:anne@manes.net]
> Sent: Thursday, August 07, 2003 10:10 AM
> To: axis-user@ws.apache.org
> Subject: Re: WRAPPED services without wsdl
>
>
> I think you're being a little harsh, Richard. WSDL is a very complex
beast.
> I've been studying WSDL for a couple of years, now, yet I often need to
> reference the spec when I answer questions about it.
>
> Stuart's correct -- a Web services toolkit should know how to spit out
valid
> WSDL. But doc/literal support has been an afterthought for most of the
Java
> toolkits. I've seen problems with doc/literal WSDL generation with Axis
> (buggy), JAX-RPC RI (seriously buggy), and GLUE (minor bugs). I haven't
seen
> any bugs with WASP so far. I haven't tried BEA, Cape Clear, or XMLBus,
> although I suspect that they handle doc/lit better than Axis does.
>
> I certainly agree with you that the best practice is always to start with
> WSDL, but I don't think it's unreasonable to use a java2wsdl tool to
> generate the first cut at the WSDL file. I also think it's helpful to have
> some type of java2schema tool to generate xsd type descriptions of a Java
> class. Particularly at these early stages.
>
> It would be nice if we had more tools to choose from -- particularly
design
> &development tools -- that would spit out valid doc/literal WSDL files.
> These tools are coming, but for the moment, you still need to do a lot of
> hand-crafting.
>
> In any case, for the moment I definitely recommend using one of the tools
> listed below to help you create and validate WSDL files.
>
> Anne
>
> ----- Original Message -----
> From: "Hansen, Richard" <richard.hansen@thomson.com>
> To: <axis-user@ws.apache.org>
> Sent: Thursday, August 07, 2003 9:28 AM
> Subject: RE: WRAPPED services without wsdl
>
>
> > 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:sbarlow@peopledoc.com]
> > > Sent: Thursday, August 07, 2003 8:16 AM
> > > To: axis-user@ws.apache.org
> > > 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:sbarlow@peopledoc.com]
> > > >>Sent: Thursday, August 07, 2003 4:58 AM
> > > >>To: axis-user@ws.apache.org
> > > >>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" <Alex.Irazabal@aig.com>
> > > >>>To: <axis-user@ws.apache.org>
> > > >>>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:anne@manes.net]
> > > >>>>Sent: Monday, August 04, 2003 11:26 AM
> > > >>>>To: axis-user@ws.apache.org
> > > >>>>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" <Alex.Irazabal@aig.com>
> > > >>>>To: <axis-user@ws.apache.org>
> > > >>>>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:anne@manes.net]
> > > >>>>>Sent: Monday, August 04, 2003 10:49 AM
> > > >>>>>To: axis-user@ws.apache.org
> > > >>>>>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" <Alex.Irazabal@aig.com>
> > > >>>>>To: <axis-user@ws.apache.org>
> > > >>>>>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:anne@manes.net]
> > > >>>>>>Sent: Monday, August 04, 2003 10:22 AM
> > > >>>>>>To: axis-user@ws.apache.org
> > > >>>>>>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:muthulee@vijayaba.cse.mrt.ac.lk>
> > > >>>>>>To: axis-user@ws.apache.org <mailto:axis-user@ws.apache.org>
> > > >>>>>>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.
> > > >>>>>>
> > > >>>>>
> > > >>>
> > > >
> > >
> >
>



Mime
View raw message