|
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
|
|