You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Dorner, Thomas" <Th...@t-systems.com> on 2004/11/19 14:51:57 UTC

DataHandler - WSDL2Java

Helo all,

I use Axis 1.2 RC2 for development. My Service have a method download which
looks like this:

public java.lang.String download(String request) throws
java.rmi.RemoteException {

      return invoke("download", request)

}

 

I use Jave2WSDL and WSDL2Java (my WSDL looks good!)

Why have WSDL2Java produce this download-Object and
downloadResponse-Object???????

Is this correct?????

 

I think there is no Serializing or deserializing nessecary for this method!

 

I also have a method updload which looks like this:

 

public java.lang.String upload(java.lang.String uploadRequest,
javax.activation.DataHandler uploadUploadData) throws
java.rmi.RemoteException {

return null;

}

 

 

The same procedure - why do I get a upload and download Object after using
WSDL2Java????

Okay, maybe the DataHandler can produce a Object - but why I don't get this
before.

I have thought AXIS Deserialize the Datahandler internally!

 

I attach my wsdl:

 

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions targetNamespace="service:XXX" xmlns:impl="service:XXX"
xmlns:intf="service:XXX" xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns1="http://activation.javax"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

<!--WSDL created by Apache Axis version: 1.2RC2

Built on Nov 16, 2004 (12:19:44 EST)-->

 <wsdl:types>

  <schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="service:TCE" elementFormDefault="qualified">

   <import namespace="http://activation.javax"/>

   <element name="invoke">

    <complexType>

     <sequence>

      <element name="function" type="xsd:string"/>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="invokeResponse">

    <complexType>

     <sequence>

      <element name="invokeReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="init">

    <complexType/>

   </element>

   <element name="initResponse">

    <complexType/>

   </element>

   <element name="query">

    <complexType>

     <sequence>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="queryResponse">

    <complexType>

     <sequence>

      <element name="queryReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="update">

    <complexType>

     <sequence>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="updateResponse">

    <complexType>

     <sequence>

      <element name="updateReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="expand">

    <complexType>

     <sequence>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="expandResponse">

    <complexType>

     <sequence>

      <element name="expandReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="login">

    <complexType>

     <sequence>

      <element name="user" type="xsd:string"/>

      <element name="password" type="xsd:string"/>

      <element name="arguments" type="xsd:string"/>

      <element name="languageID" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="loginResponse">

    <complexType>

     <sequence>

      <element name="loginReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="logout">

    <complexType/>

   </element>

   <element name="logoutResponse">

    <complexType>

     <sequence>

      <element name="logoutReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="checkIn">

    <complexType>

     <sequence>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="checkInResponse">

    <complexType>

     <sequence>

      <element name="checkInReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="checkOut">

    <complexType>

     <sequence>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="checkOutResponse">

    <complexType>

     <sequence>

      <element name="checkOutReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="multiExpand">

    <complexType>

     <sequence>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="multiExpandResponse">

    <complexType>

     <sequence>

      <element name="multiExpandReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="getFilteredModelsForPart">

    <complexType>

     <sequence>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="getFilteredModelsForPartResponse">

    <complexType>

     <sequence>

      <element name="getFilteredModelsForPartReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="getFilteredModelsForPartSet">

    <complexType>

     <sequence>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="getFilteredModelsForPartSetResponse">

    <complexType>

     <sequence>

      <element name="getFilteredModelsForPartSetReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="upload">

    <complexType>

     <sequence>

      <element name="uploadRequest" type="xsd:string"/>

      <element name="uploadUploadData" type="xsd:anyType"/>

     </sequence>

    </complexType>

   </element>

   <element name="uploadResponse">

    <complexType>

     <sequence>

      <element name="uploadReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="download">

    <complexType>

     <sequence>

      <element name="request" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="downloadResponse">

    <complexType>

     <sequence>

      <element name="downloadReturn" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

  </schema>

 </wsdl:types>

 

   <wsdl:message name="multiExpandRequest">

 

      <wsdl:part name="parameters" element="impl:multiExpand"/>

 

   </wsdl:message>

 

   <wsdl:message name="checkInResponse">

 

      <wsdl:part name="parameters" element="impl:checkInResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="logoutResponse">

 

      <wsdl:part name="parameters" element="impl:logoutResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="getFilteredModelsForPartResponse">

 

      <wsdl:part name="parameters"
element="impl:getFilteredModelsForPartResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="logoutRequest">

 

      <wsdl:part name="parameters" element="impl:logout"/>

 

   </wsdl:message>

 

   <wsdl:message name="getFilteredModelsForPartRequest">

 

      <wsdl:part name="parameters" element="impl:getFilteredModelsForPart"/>

 

   </wsdl:message>

 

   <wsdl:message name="getFilteredModelsForPartSetRequest">

 

      <wsdl:part name="parameters"
element="impl:getFilteredModelsForPartSet"/>

 

   </wsdl:message>

 

   <wsdl:message name="uploadRequest">

 

      <wsdl:part name="parameters" element="impl:upload"/>

 

   </wsdl:message>

 

   <wsdl:message name="downloadRequest">

 

      <wsdl:part name="parameters" element="impl:download"/>

 

   </wsdl:message>

 

   <wsdl:message name="queryRequest">

 

      <wsdl:part name="parameters" element="impl:query"/>

 

   </wsdl:message>

 

   <wsdl:message name="queryResponse">

 

      <wsdl:part name="parameters" element="impl:queryResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="loginRequest">

 

      <wsdl:part name="parameters" element="impl:login"/>

 

   </wsdl:message>

 

   <wsdl:message name="initResponse">

 

      <wsdl:part name="parameters" element="impl:initResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="updateRequest">

 

      <wsdl:part name="parameters" element="impl:update"/>

 

   </wsdl:message>

 

   <wsdl:message name="expandRequest">

 

      <wsdl:part name="parameters" element="impl:expand"/>

 

   </wsdl:message>

 

   <wsdl:message name="updateResponse">

 

      <wsdl:part name="parameters" element="impl:updateResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="checkOutRequest">

 

      <wsdl:part name="parameters" element="impl:checkOut"/>

 

   </wsdl:message>

 

   <wsdl:message name="initRequest">

 

      <wsdl:part name="parameters" element="impl:init"/>

 

   </wsdl:message>

 

   <wsdl:message name="getFilteredModelsForPartSetResponse">

 

      <wsdl:part name="parameters"
element="impl:getFilteredModelsForPartSetResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="loginResponse">

 

      <wsdl:part name="parameters" element="impl:loginResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="invokeResponse">

 

      <wsdl:part name="parameters" element="impl:invokeResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="expandResponse">

 

      <wsdl:part name="parameters" element="impl:expandResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="downloadResponse">

 

      <wsdl:part name="parameters" element="impl:downloadResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="invokeRequest">

 

      <wsdl:part name="parameters" element="impl:invoke"/>

 

   </wsdl:message>

 

   <wsdl:message name="multiExpandResponse">

 

      <wsdl:part name="parameters" element="impl:multiExpandResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="checkOutResponse">

 

      <wsdl:part name="parameters" element="impl:checkOutResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="uploadResponse">

 

      <wsdl:part name="parameters" element="impl:uploadResponse"/>

 

   </wsdl:message>

 

   <wsdl:message name="checkInRequest">

 

      <wsdl:part name="parameters" element="impl:checkIn"/>

 

   </wsdl:message>

 

   <wsdl:portType name="XXX">

 

      <wsdl:operation name="invoke">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="init">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="query">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="update">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="expand">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="login">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="logout">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="checkIn">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="checkOut">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="multiExpand">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="getFilteredModelsForPart">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="getFilteredModelsForPartSet">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="upload">

 

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

 

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

 

      </wsdl:operation>

 

      <wsdl:operation name="download">

 

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

 

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

 

      </wsdl:operation>

 

   </wsdl:portType>

 

   <wsdl:binding name="TCE_ServiceSoapBinding" type="impl:TCE">

 

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

 

      <wsdl:operation name="invoke">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="invokeRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="invokeResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="init">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="initRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="initResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="query">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="queryRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="queryResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="update">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="updateRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="updateResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="expand">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="expandRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="expandResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="login">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="loginRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="loginResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="logout">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="logoutRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="logoutResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="checkIn">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="checkInRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="checkInResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="checkOut">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="checkOutRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="checkOutResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="multiExpand">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="multiExpandRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="multiExpandResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="getFilteredModelsForPart">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="getFilteredModelsForPartRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="getFilteredModelsForPartResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="getFilteredModelsForPartSet">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="getFilteredModelsForPartSetRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="getFilteredModelsForPartSetResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="upload">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="uploadRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="uploadResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

      <wsdl:operation name="download">

 

         <wsdlsoap:operation soapAction=""/>

 

         <wsdl:input name="downloadRequest">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:input>

 

         <wsdl:output name="downloadResponse">

 

            <wsdlsoap:body use="literal"/>

 

         </wsdl:output>

 

      </wsdl:operation>

 

   </wsdl:binding>

 

   <wsdl:service name="XXXService">

 

      <wsdl:port name="XXX_Service" binding="impl:XXX_ServiceSoapBinding">

 

         <wsdlsoap:address
location="http://localhost:8080/XXX/services/XXX_Service"/>

 

      </wsdl:port>

 

   </wsdl:service>

 

</wsdl:definitions>