axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dorner Thomas <thomas.dor...@edmb.debis.com>
Subject AW: Why use WSDL?
Date Mon, 10 May 2004 11:04:25 GMT
Thanks for Testing!
Okay - please see the following wsdl:



<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="service:PDMWebConnector"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="service:PDMWebConnector" xmlns:intf="service:PDMWebConnector"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <wsdl:types>
  <schema targetNamespace="http://xml.apache.org/xml-soap"
xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="mapItem">
    <sequence>
     <element name="key" nillable="true" type="xsd:string"/>
     <element name="value" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
   <complexType name="Map">
    <sequence>
     <element maxOccurs="unbounded" minOccurs="0" name="item"
type="apachesoap:mapItem"/>
    </sequence>
   </complexType>
  </schema>
 </wsdl:types>

   <wsdl:message name="loginResponse">

      <wsdl:part name="loginReturn" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="logoutResponse">

      <wsdl:part name="logoutReturn" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="invokeResponse">

      <wsdl:part name="invokeReturn" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="invokeRequest">

      <wsdl:part name="functionName" type="xsd:string"/>

      <wsdl:part name="params" type="apachesoap:Map"/>

   </wsdl:message>

   <wsdl:message name="loginRequest">

      <wsdl:part name="user" type="xsd:string"/>

      <wsdl:part name="password" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="logoutRequest">

   </wsdl:message>

   <wsdl:portType name="PDMWebConnector">

      <wsdl:operation name="invoke" parameterOrder="functionName params">

         <wsdl:input message="impl:invokeRequest" name="invokeRequest"/>

         <wsdl:output message="impl:invokeResponse" name="invokeResponse"/>

      </wsdl:operation>

      <wsdl:operation name="login" parameterOrder="user password">

         <wsdl:input message="impl:loginRequest" name="loginRequest"/>

         <wsdl:output message="impl:loginResponse" name="loginResponse"/>

      </wsdl:operation>

      <wsdl:operation name="logout">

         <wsdl:input message="impl:logoutRequest" name="logoutRequest"/>

         <wsdl:output message="impl:logoutResponse" name="logoutResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="PDMWebConnector_ServiceSoapBinding"
type="impl:PDMWebConnector">

      <wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="invoke">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="invokeRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="service:PDMWebConnector" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="invokeResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="service:PDMWebConnector" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="login">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="loginRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="service:PDMWebConnector" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="loginResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="service:PDMWebConnector" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="logout">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="logoutRequest">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="service:PDMWebConnector" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="logoutResponse">

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="service:PDMWebConnector" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="PDMWebConnectorService">

      <wsdl:port binding="impl:PDMWebConnector_ServiceSoapBinding"
name="PDMWebConnector_Service">

         <wsdlsoap:address
location="http://localhost:8080/PDMWebConnector/services/PDMWebConnector_Ser
vice"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>



-----Ursprüngliche Nachricht-----
Von: Susantha Kumara [mailto:Skumara@virtusa.com]
Gesendet: Montag, 10. Mai 2004 08:55
An: axis-user@ws.apache.org
Betreff: RE: Why use WSDL?


Could you send me the WSDL ?. It seems that wsdl2ws should work with it.

---
Susantha.

> -----Original Message-----
> From: Anne Thomas Manes [mailto:anne@manes.net]
> Sent: Friday, May 07, 2004 5:40 PM
> To: axis-user@ws.apache.org
> Subject: RE: Why use WSDL?
> 
> Turn your hashmap into an array.
> 
> First rule of interoperability -- do expose collections (List, Map, etc)
> through your interface.
> 
> Anne
> 
> -----Original Message-----
> From: Dorner Thomas [mailto:thomas.dorner@edmb.debis.com]
> Sent: Friday, May 07, 2004 2:54 AM
> To: 'axis-user@ws.apache.org'
> Subject: AW: Why use WSDL?
> 
> Some problems by using wsdl:
> 
> I have a auto generated wsdl (java2wsdl axis)- A friend wanna use
> this wsdl by by axis c++ (wsdl2ws) to generate the classes.
> 
> My wsdl contains a Hashmap - see example:
> 
>  <wsdl:types>
> - <schema targetNamespace="http://xml.apache.org/xml-soap"
> xmlns="http://www.w3.org/2001/XMLSchema">
>   <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
> - <complexType name="mapItem">
> - <sequence>
>   <element name="key" nillable="true" type="xsd:string" />
>   <element name="value" nillable="true" type="xsd:string" />
>   </sequence>
>   </complexType>
> - <complexType name="Map">
> - <sequence>
>   <element maxOccurs="unbounded" minOccurs="0" name="item"
> type="apachesoap:mapItem" />
>   </sequence>
>   </complexType>
>   </schema>
>   </wsdl:types>
> 
> 
> But the tool can´t handle the type Hashmap - exception:
> 
> org.apache.axis.wsdl.wsdl2ws.WrapperFault: unregisterd type
> {http://xml.apache.org/xml-soap}Map refered
> 
> 
> So, not even axis can handle their own wsdl?
> Their is also a Hashtable in c++!?
> 
> Have somebody an idea to solve this problem?
> 
> Thanks Thomas
> 
> 
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Hittesdorf,Michael [mailto:Michael.Hittesdorf@cna.com]
> Gesendet: Donnerstag, 6. Mai 2004 17:43
> An: axis-user@ws.apache.org
> Betreff: RE: Why use WSDL?
> 
> 
> 
> Some good reasons to use WSDL:
> 
> 1. WSDL aids interoperability. You can post your WSDL to a directory and
> any Web Services developer in any technology (Java, .NET, etc.) will
> have everything they need to build a client to invoke your service
> (assuming it conforms to established conventions/standards, such as
> WS-I)
> 
> 2. WSDL is more expressive than Java alone. With WSDL I can specify
> message payloads, invocation styles (RPC or document) and encoding, as
> well as endpoint addresses.
> 
> 
> 3. WSDL is a required artifact for many testing tools, Web Services
> frameworks, and service management products. Without WSDL, you can't
> take advantage of these technologies
> 
> 4. WSDL is a standard.  Though Axis lets you develop 'Web Services'
> without WSDL, this is not the accepted approach.  You are better off
> conforming to standards and conventions when building software that
> potentially needs to communicate with the outside world.
> 
> 5. WSDL assists in portability. If you want to switch from Axis to
> another Web Services toolkit, you will have a definition of your service
> from which to start.
> 
> 
> 
> There are probably other reasons but these are what comes immediately to
> mind.
> 
> Mick
> 
> 
> -----Original Message-----
> From: Robert Mecklenburg [mailto:mecklen@realmsys.com]
> 
> Sent: Thursday, May 06, 2004 9:17 AM
> To: Axis Users
> Subject: Why use WSDL?
> 
> 
> I'm new to axis and web services and I have a basic question.
> 
> Why bother with wsdl?
> 
> Here is a service:
> 
> public class Service
> {
>   public String doSomething(String name) throws RemoteException
>   { ...
>     return result;
>   }
> }
> 
> 
> Here is a client:
> 
> public class Client
> {
>   public String add(String name) throws AxisFault
>   {
>     Call call = new Call(getServerURL() + "/Service");
>     return (String) call.invoke("doSomething", new Object[] {name});
>   }
> }
> 
> 
> What could be simpler?  When I started with axis I wrote interfaces,
> then ran Java2WSDL, then generated client and server stubs with
> WSDL2Java.  For a similar service I wound up with 7 classes and 200
> lines of code -- all of which appears to be pointless.  I can do the
> same thing with 0 extra classes and two lines of simple java if I
> avoid the WSDL.
> 
> 
> So I'm trying to figure out what I'm missing.  Obviously someone
> thinks WSDL is worth all the extra obscurity, code bloat, and build
> complexity.  Please tell me your reasons.
> 
> 
> Thanks!
> --
> 
> Robert
> 
> E-MAIL CONFIDENTIALITY NOTICE:  The contents of this e-mail message and
> any
> attachments are intended solely for the
> 
> addressee(s) and may contain confidential and/or legally privileged
> information. If you are not the
> 
> intended recipient of this message or if this message has been addressed
> to
> you in error, please
> 
> immediately alert the sender by reply e-mail and then delete this message
> and any attachments. If you
> 
> are not the intended recipient, you are notified that any use,
> dissemination, distribution, copying, or
> 
> storage of this message or any attachment is strictly prohibited.

Mime
View raw message