axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stuart Barlow <sbar...@peopledoc.com>
Subject Re: WRAPPED services without wsdl
Date Thu, 07 Aug 2003 13:15:57 GMT
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