I was able to get the attachments to the client as per Dan's suggestion. Howerver, I'm missing an image in the attachment. The attachment are of type pdf.
When I use SoapUI to test the service, I was able to get the pdf without a problem. I have tried Xfire client and I see a missing image on the pdf as well. Any pointers..ideas.. --Vijay On 4/4/08 12:26 PM, "Daniel Kulp" <[EMAIL PROTECTED]> wrote: > On Friday 04 April 2008, Benson Margulies wrote: >> SwA is different from MTOM. I don't know of CXF does SwA. > > It does for the jaxws frontend as the jaxws spec requires it. It's > pretty much tied to how the jaxws spec requires the code to be generated > which is why the code lives in the jaxws frontend. Also, the > processing is a bit more complex than mtom so we only add the swa > interceptors if the JAX-WS interface/wsdl indicates that there will be > swa attachments. > > Dan > > >> >> On Fri, Apr 4, 2008 at 11:07 AM, Vijay Allam < >> >> [EMAIL PROTECTED]> wrote: >>> In this case I do not have element that represents the attachment in >>> WSDL. It comes as part of the Soap message as multi part attachment. >>> So not sure how do I get the attachment. I could only find code that >>> can easily get attachment using axis1.1 for the request. >>> >>> --Vijay >>> >>> On 4/3/08 7:58 PM, "Freeman Fang" <[EMAIL PROTECTED]> wrote: >>>> Hi Vijay, >>>> >>>> We have mtom demo in the kit, which shows how SOAP message >>>> with an attachment and XML-binary Optimized Packaging(mtom) work. >>>> >>>> Regards >>>> >>>> Freeman >>>> >>>> Vijay Allam wrote: >>>>> I have a third part webservice that returns an attachment. How do >>>>> I get >>> >>> the >>> >>>>> attachment with CXF client. Any example code is apreciated. >>>>> >>>>> --Vijay >>>>> >>>>> On 4/3/08 9:57 AM, "Cencio" <[EMAIL PROTECTED]> wrote: >>>>>> Hi, >>>>>> >>>>>> i'm still unable to retrieve the wsdl from my service... i post >>>>>> all my >>> >>> info: >>>>>> web.xml: >>>>>> >>>>>> <web-app> >>>>>> <context-param> >>>>>> <param-name>contextConfigLocation</param-name> >>>>>> <param-value>WEB-INF/beans.xml</param-value> >>>>>> </context-param> >>>>>> >>>>>> <listener> >>>>>> <listener-class> >>>>>> >>>>>> org.springframework.web.context.ContextLoaderListener >>>>>> </listener-class> >>>>>> </listener> >>>>>> >>>>>> <servlet> >>>>>> <servlet-name>CXFServlet</servlet-name> >>>>>> <display-name>CXF Servlet</display-name> >>>>>> <servlet-class> >>>>>> >>>>>> org.apache.cxf.transport.servlet.CXFServlet </servlet-class> >>>>>> <load-on-startup>1</load-on-startup> >>>>>> </servlet> >>>>>> >>>>>> <servlet-mapping> >>>>>> <servlet-name>CXFServlet</servlet-name> >>>>>> <url-pattern>/*</url-pattern> >>>>>> </servlet-mapping> >>>>>> </web-app> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> beans.xml: >>>>>> >>>>>> <beans xmlns="http://www.springframework.org/schema/beans" >>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>> xmlns:jaxws="http://cxf.apache.org/jaxws" >>>>>> xsi:schemaLocation=" >>>>>> http://www.springframework.org/schema/beans >>>>>> http://www.springframework.org/schema/beans/spring-beans.xsd >>>>>> http://cxf.apache.org/jaxws >>>>>> http://cxf.apache.org/schemas/jaxws.xsd"> >>>>>> >>>>>> <import resource="classpath:META-INF/cxf/cxf.xml" /> >>>>>> <import >>> >>> resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> >>> >>>>>> <import >>>>>> resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <bean >>>>>> id="logInbound" >>>>>> class="org.apache.cxf.interceptor.LoggingInInterceptor"/> >>>>>> <bean id="logOutbound" >>>>>> class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> >>>>>> >>>>>> <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl"> >>>>>> <property name="inInterceptors"> >>>>>> <list> >>>>>> <ref bean="logInbound"/> >>>>>> </list> >>>>>> </property> >>>>>> <property name="outInterceptors"> >>>>>> <list> >>>>>> <ref bean="logOutbound"/> >>>>>> </list> >>>>>> </property> >>>>>> <property name="outFaultInterceptors"> >>>>>> <list> >>>>>> <ref bean="logOutbound"/> >>>>>> </list> >>>>>> </property> >>>>>> </bean> >>>>>> <jaxws:endpoint >>>>>> id="ese5" >>>>>> address="ordine" >>>>>> >>>>>> implementor="org.rivenditore.ordine.OrdineInterfaceImpl" /> >>>>>> >>>>>> </beans> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> ordine.wsdl >>>>>> >>>>>> >>>>>> >>>>>> <wsdl:definitions >>>>>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>>>>> xmlns:ele="http://www.rivenditore.org/ordiniElements" >>>>>> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >>>>>> xmlns:ord="http://www.rivenditore.org/Ordine" >>>>>> targetNamespace="http://www.rivenditore.org/Ordine"> >>>>>> >>>>>> <wsdl:import namespace=" >>> >>> http://www.rivenditore.org/submitOrdineTypes" >>> >>>>>> location="submitOrdine.xsd" /> >>>>>> >>>>>> <wsdl:types> >>>>>> <xsd:schema >>>>>> targetNamespace="http://www.rivenditore.org/ordiniElements" >>>>>> >>>>>> xmlns:soType="http://www.rivenditore.org/submitOrdineTypes >>> >>> "> >>> >>>>>> <xsd:element name="notifica" type="xsd:string"/> >>>>>> <xsd:element name="esito" type="soType:esitoType"/> >>>>>> <xsd:element name="ordine" type="soType:ordineType"/> >>>>>> </xsd:schema> >>>>>> </wsdl:types> >>>>>> >>>>>> <wsdl:message name="NotificaMessage"> >>>>>> <wsdl:part name="parameter" element="ele:notifica"/> >>>>>> </wsdl:message> >>>>>> >>>>>> >>>>>> <wsdl:message name="SubmitOrdineRequestMessage"> >>>>>> <wsdl:part name="parameter" element="ele:ordine"/> >>>>>> </wsdl:message> >>>>>> >>>>>> <wsdl:message name="SubmitOrdineResponseMessage"> >>>>>> <wsdl:part name="parameter" element="ele:esito"/> >>>>>> </wsdl:message> >>>>>> >>>>>> <wsdl:portType name="OrdineInterface"> >>>>>> >>>>>> <wsdl:operation name="SubmitOrdine"> >>>>>> <wsdl:input message="ord:SubmitOrdineRequestMessage"/> >>>>>> <wsdl:output >>>>>> message="ord:SubmitOrdineResponseMessage"/> </wsdl:operation> >>>>>> >>>>>> <wsdl:operation name="Notifica"> >>>>>> <wsdl:output message="ord:NotificaMessage"/> >>>>>> </wsdl:operation> >>>>>> >>>>>> </wsdl:portType> >>>>>> >>>>>> <wsdl:binding name="OrdineInterfaceBinding" >>> >>> type="ord:OrdineInterface"> >>> >>>>>> <soap:binding style="document" >>>>>> transport="http://schemas.xmlsoap.org/soap/http"/> >>>>>> >>>>>> <wsdl:operation name="SubmitOrdine"> >>>>>> <soap:operation >>>>>> soapAction="http://www.rivenditore.org/service/ordini/#SubmitOrd >>>>>> ine"/> <wsdl:input> >>>>>> <soap:body use="literal"/> >>>>>> </wsdl:input> >>>>>> <wsdl:output> >>>>>> <soap:body use="literal"/> >>>>>> </wsdl:output> >>>>>> </wsdl:operation> >>>>>> >>>>>> <wsdl:operation name="Notifica"> >>>>>> <soap:operation /> >>>>>> <wsdl:output> >>>>>> <soap:body use="literal"/> >>>>>> </wsdl:output> >>>>>> </wsdl:operation> >>>>>> </wsdl:binding> >>>>>> >>>>>> <wsdl:service name="OrdineService"> >>>>>> <wsdl:port name="OrdineInterfaceEndpoint" >>>>>> binding="ord:OrdineInterfaceBinding"> >>>>>> <soap:address >>>>>> location="http://localhost:8080/ese5/ordine"/> </wsdl:port> >>>>>> </wsdl:service> >>>>>> >>>>>> >>>>>> </wsdl:definitions> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> submitOrdine.xsd: >>>>>> >>>>>> >>>>>> >>>>>> <?xml version="1.0"?> >>>>>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >>>>>> >>>>>> targetNamespace="http://www.rivenditore.org/submitOrdineTypes" >>>>>> xmlns:so="http://www.rivenditore.org/submitOrdineTypes"> >>>>>> >>>>>> <xs:complexType name="ordineType"> >>>>>> <xs:sequence maxOccurs="unbounded"> >>>>>> <xs:element name="articolo" type="so:articoloType"/> >>>>>> </xs:sequence> >>>>>> </xs:complexType> >>>>>> >>>>>> <xs:complexType name="articoloType"> >>>>>> <xs:sequence> >>>>>> <xs:element name="codice" type="so:codiceType"/> >>>>>> <xs:element name="quantita" >>>>>> type="xs:positiveInteger"/> </xs:sequence> >>>>>> </xs:complexType> >>>>>> >>>>>> <xs:simpleType name="codiceType"> >>>>>> <xs:restriction base="xs:string"> >>>>>> <xs:pattern value="[A-Z][A-Z][0-9]{4}"/> >>>>>> </xs:restriction> >>>>>> </xs:simpleType> >>>>>> >>>>>> <xs:complexType name="esitoType"> >>>>>> <xs:choice minOccurs="1" maxOccurs="1"> >>>>>> <xs:choice> >>>>>> <xs:element name="ok" type="so:okType"/> >>>>>> <xs:element name="fail" type="xs:string"/> >>>>>> </xs:choice> >>>>>> </xs:choice> >>>>>> </xs:complexType> >>>>>> >>>>>> <xs:complexType name="okType"> >>>>>> <xs:sequence> >>>>>> <xs:element name="idOrdine" >>>>>> type="xs:positiveInteger" /> <xs:element name="totale" >>>>>> type="so:totaleType" /> </xs:sequence> >>>>>> </xs:complexType> >>>>>> >>>>>> <xs:complexType name="totaleType"> >>>>>> <xs:simpleContent> >>>>>> <xs:extension base="xs:decimal"> >>>>>> <xs:attribute name="valuta" type="xs:string" >>> >>> default="EUR" >>> >>>>>> use="optional"/> >>>>>> </xs:extension> >>>>>> </xs:simpleContent> >>>>>> </xs:complexType> >>>>>> >>>>>> </xs:schema> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> I develope both client and server using wsdl2java. >>>>>> >>>>>> Thx for any help. > >