Eric ,
 
I still dont know your interface definition. But still I will comment on this as i have did a bit of R&D on this.
 
Lets assume u have a function in ur Webservice
    public string store (javax.activation.DataHandler dh)     {}
Now once u create WSDL file using java2wsdl tool. It should generate a wsdl  in which the parameter dh maps to a type apachesoap:DataHandler
 
     <wsdl:message name="storeRequest"> 
      <wsdl:part name="in0" type="apachesoap:DataHandler" />
 </wsdl:message>
 
and then when u run WSDL2JAVA tool u will get the Stubs and Skeletons and deploy.wsdd.
 
For me there was no typeMapping in it since I assume that its already mapped in the WSDL. ( I dunno whether I am right here .. ) . 
 
My Service did work fine and perfect where i could pass attachments. 
 
 
 
Regards
Dhanush
 
 
----- Original Message -----
Sent: Friday, May 21, 2004 10:39 PM
Subject: Typemapping for DataHandler

I'm having some issues using a typeMapping to define a DataHandler.
What I'm trying to write a service using attachements (which is very
similar to the echo example).  The admin client deploys the service
fine, however there isn't a complex mapping for DataHandler.  Here's my
deploy.wsdd:

<?xml version="1.0"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
             xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
 
xmlns:transactionHistory="http://service.history.transaction.ai">
     <service name="TransactionHistoryService" provider="java:RPC">
 
<endpointURL>http://localhost:8080/apps/transaction/history/services/TransactionHistoryService</endpointURL>
 
<namespace>http://localhost:8080/apps/transaction/history/services/TransactionHistoryService</namespace>
         <parameter name="className"
value="ai.transaction.history.service.TransactionHistoryService" />
         <parameter name="wsdlServiceElement"
value="TransactionHistoryService" />
         <parameter name="allowedMethods" value="store,retrieve" />
         <operation name="retrieve" returnQName="data"
returnType="ns1:DataHandler">
           <parameter name="key" type="tns:string"
xmlns:tns="http://www.w3.org/2001/XMLSchema" />
         </operation>
         <operation name="store" returnQName="key"
returnType="tns:string" xmlns:tns="http://www.w3.org/2001/XMLSchema">
           <parameter name="data" type="ns1:DataHandler" />
<typeMapping
 
deserializer="org.apache.axis.encoding.ser.JAFDataHandlerDeserializerFactory"
 
languageSpecificType="java:javax.activation.DataHandler"
                      qname="transactionHistory:DataHandler"
 
serializer="org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory"
 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
         <beanMapping
                      qname="transactionHistory:TransactionHistoryException"
 
xmlns:transactionHistory="http://service.history.transaction.ai"
 
languageSpecificType="java:ai.transaction.history.exception.TransactionHistoryException"
/>
     </service>
</deployment>

I also attached the wsdl file that it generates.  It seems to generate
fine, except there isn't a mapping for DataHandler.  Also, out of
curiousity, has anyone tried to do a service like this that works with
both Java and .NET?  I saw some stuff in the example about setting DIME
encoding which I assuming is for .NET interoperability.  Thanks in advance.

--
Eric W. Hauser
Application Developer
accessIndiana..."linking hoosiers to government"
http://www.IN.gov
10 W. Market St., Suite 600
Indianapolis, IN 46204
Phone: (317) 233-4007
Fax: (317) 233-2011

**********************************************************************
CONFIDENTIALITY NOTICE:
This E-mail and any attachments are confidential.  If you are not the
intended recipient, you do not have permission to disclose, copy,
distribute, or open any attachments.  If you have received this E-mail
in error, please notify us immediately by returning it to the sender and
delete this copy from your system.
Thank you.
accessIndiana, MyLocal.IN.gov, CivicNet
**********************************************************************


<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService" xmlns:intf="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://service.history.transaction.ai" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.2beta
Built on Mar 31, 2004 (12:47:03 EST)-->
 <wsdl:types>
  <schema targetNamespace="http://service.history.transaction.ai" xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="TransactionHistoryException">
    <sequence/>
   </complexType>
  </schema>
 </wsdl:types>

   <wsdl:message name="storeRequest">

      <wsdl:part name="data" type="tns1:DataHandler"/>

   </wsdl:message>

   <wsdl:message name="retrieveResponse">

      <wsdl:part name="data" type="tns1:DataHandler"/>

   </wsdl:message>

   <wsdl:message name="TransactionHistoryException">

      <wsdl:part name="fault" type="tns1:TransactionHistoryException"/>

   </wsdl:message>

   <wsdl:message name="retrieveRequest">

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

   </wsdl:message>

   <wsdl:message name="storeResponse">

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

   </wsdl:message>

   <wsdl:portType name="TransactionHistoryService">

      <wsdl:operation name="retrieve" parameterOrder="key">

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

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

         <wsdl:fault message="impl:TransactionHistoryException" name="TransactionHistoryException"/>

      </wsdl:operation>

      <wsdl:operation name="store" parameterOrder="data">

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

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

         <wsdl:fault message="impl:TransactionHistoryException" name="TransactionHistoryException"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="TransactionHistoryServiceSoapBinding" type="impl:TransactionHistoryService">

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

      <wsdl:operation name="retrieve">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="retrieveRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="retrieveResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService" use="encoded"/>

         </wsdl:output>

         <wsdl:fault name="TransactionHistoryException">

            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="TransactionHistoryException" namespace="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService" use="encoded"/>

         </wsdl:fault>

      </wsdl:operation>

      <wsdl:operation name="store">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="storeRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="storeResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService" use="encoded"/>

         </wsdl:output>

         <wsdl:fault name="TransactionHistoryException">

            <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="TransactionHistoryException" namespace="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService" use="encoded"/>

         </wsdl:fault>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="TransactionHistoryService">

      <wsdl:port binding="impl:TransactionHistoryServiceSoapBinding" name="TransactionHistoryService">

         <wsdlsoap:address location="http://localhost:8080/apps/transaction/history/services/TransactionHistoryService"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>
*********************************************************
Disclaimer:         

This message (including any attachments) contains
confidential information intended for a specific
individual and purpose, and is protected by law.
If you are not the intended recipient, you should
delete this message and are hereby notified that
any disclosure, copying, or distribution of this
message, or the taking of any action based on it,
is strictly prohibited.

*********************************************************
Visit us at http://www.mahindrabt.com

Reply via email to