Here's a sample WSDL from the WS-I Attachments Profile showing how to define and bind your attachment:
<wsdl:definitions xmlns:types="http://example.com/mimetypes" xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://example.com/mimewsdl" xmlns:tns="http://example.com/mimewsdl"> <wsdl:types> <xsd:schema targetNamespace="http://example.com/mimetypes" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="http://ws-i.org/profiles/basic/1.1/xsd" /> <xsd:complexType name="ClaimDetailType"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="ClaimForm" type="ref:swaRef"/> </xsd:sequence> </xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="ClaimIn"> <wsdl:part name="ClaimDetail" type="types:ClaimDetailType"/> <wsdl:part name="ClaimPhoto" type="xsd:base64Binary"/> </wsdl:message> <wsdl:message name="ClaimOut"> <wsdl:part name="ClaimRefNo" type="xsd:string"/> </wsdl:message> <wsdl:portType name="ClaimPortType"> <wsdl:operation name="SendClaim"> <wsdl:input message="tns:ClaimIn"/> <wsdl:output message="tns:ClaimOut"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="ClaimBinding" type="tns:ClaimPortType"> <soapbind:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="SendClaim"> <soapbind:operation soapAction="http://example.com/soapaction"/> <wsdl:input> <mime:multipartRelated> <mime:part> <soapbind:body use="literal" parts="ClaimDetail" namespace="http://example.com/mimetypes"/> </mime:part> <mime:part> <mime:content part="ClaimPhoto" type="image/jpeg"/> </mime:part> </mime:multipartRelated> </wsdl:input> <wsdl:output> <soapbind:body use="literal" namespace="http://example.com/mimetypes"/> </wsdl:output> </wsdl:operation> </wsdl:binding> </wsdl:definitions> On Feb 10, 2008 10:29 PM, Anne Thomas Manes <[EMAIL PROTECTED]> wrote: > Your return type is defined as a SwA reference, but you don't have > binary element defined (what the reference is supposed to reference, > and your binding does not define a MIME attachment. > > Axis2 has only partial support for SwA -- you'd be better off switching to > MTOM. > > Anne > > > On Feb 9, 2008 2:14 PM, Kiran Sriram <[EMAIL PROTECTED]> wrote: > > > > Hello, > > > > I am trying to implement a webservice using WSDL first approach. My > > requirement is to add method signature which returns a file as an attachment > > to caller. I am using SWA, wsi:swaRef as type of the return parameter. i > > have imported the schema for it in my wsdl file. When i generated the server > > side skeleton using Axis2 WSDL2Java tool, the method signature is generated > > like this: > > > > public org.ws_i.profiles.basic._1_1.xsd.SwaRef > > ContentExportAsAttachment > > ( boolean attachType,java.lang.String > > lock,java.lang.String traslation > > ) > > > > > > I dont understand why it is generating the type of the return parameter > > like this: org.ws_i.profiles.basic._1_1.xsd.SwaRef. This is not even getting > > compiled now. I thought this should be mapped to > > "javax.activation.DataHandler" class. > > I have used adb binding here. > > > > I am pasting the wsdl file here, it is a simple wsdl with only one method. > > style i used is document literal. > > > > Any help in this regard is greatly appreciated. > > > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > > > <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > > xmlns:tns="http://www.example.org/TestCommand/" > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TestCommand" > > targetNamespace="http://www.example.org/TestCommand/"> > > > > <wsdl:types> > > > > <xsd:schema targetNamespace="http://www.example.org/TestCommand/" > > > > xmlns="http://www.w3.org/2001/XMLSchema" > > > > xmlns:wsi="http://ws-i.org/profiles/basic/1.1/xsd" > > > > > > > > > <import namespace="http://ws-i.org/profiles/basic/1.1/xsd" > > > > schemaLocation="http://ws-i.org/profiles/basic/1.1/swaref.xsd"/> > > > > > > > > <xsd:element name="ContentExportAsAttachment"> > > > > <xsd:complexType> > > > > <xsd:sequence> > > > > <xsd:element name="attachType" type="xsd:boolean" /> > > > > <xsd:element name="Lock" type="xsd:string"></xsd:element> > > > > <xsd:element name="Traslation" type="xsd:string"></xsd:element> > > > > </xsd:sequence> > > > > </xsd:complexType> > > > > </xsd:element> > > > > <xsd:element name="ContentExportAsAttachmentResponse"> > > > > <xsd:complexType> > > > > <xsd:sequence> > > > > <xsd:element name="return" type="wsi:swaRef"/> > > > > </xsd:sequence> > > > > </xsd:complexType> > > > > </xsd:element> > > > > </xsd:schema> > > > > </wsdl:types> > > > > <wsdl:message name="ContentExportAsAttachmentRequest"> > > > > <wsdl:part element="tns:ContentExportAsAttachment" name="parameters"/> > > > > </wsdl:message> > > > > <wsdl:message name="ContentExportAsAttachmentResponse"> > > > > <wsdl:part element="tns:ContentExportAsAttachmentResponse" > > name="parameters"/> > > > > </wsdl:message> > > > > <wsdl:portType name="TestCommand"> > > > > <wsdl:operation name="ContentExportAsAttachment"> > > > > <wsdl:input message="tns:ContentExportAsAttachmentRequest"/> > > > > <wsdl:output message="tns:ContentExportAsAttachmentResponse"/> > > > > </wsdl:operation> > > > > </wsdl:portType> > > > > <wsdl:binding name="TestCommandSOAP" type="tns:TestCommand"> > > > > <soap:binding style="document" > > transport="http://schemas.xmlsoap.org/soap/http"/> > > > > <wsdl:operation name="ContentExportAsAttachment"> > > > > <soap:operation > > soapAction="http://www.example.org/TestCommand/NewOperation"/> > > > > <wsdl:input> > > > > <soap:body use="literal"/> > > > > </wsdl:input> > > > > <wsdl:output> > > > > <soap:body use="literal"/> > > > > </wsdl:output> > > > > </wsdl:operation> > > > > </wsdl:binding> > > > > <wsdl:service name="TestCommand"> > > > > <wsdl:port binding="tns:TestCommandSOAP" name="TestCommandSOAP"> > > > > <soap:address location="http://www.example.org/"/> > > > > </wsdl:port> > > > > </wsdl:service> > > > > </wsdl:definitions> > > Thanks, > > Kiran > > > > > > ________________________________ > > Helping your favorite cause is as easy as instant messaging. You IM, we > > give. Learn more. > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
