axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Irazabal, Alex" <Alex.Iraza...@aig.com>
Subject RE: WRAPPED services without wsdl
Date Mon, 04 Aug 2003 15:31:24 GMT
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