Hi,

i downloaded latest fuse esb release and deployer my SA whith mtomEnabled pn
cxfse:proxy, but i get the same issue: fileattach element not send as
attachement but send as soapbody element.
I don't known if my issue is related to mtom or because my fileattach
element is defined as a string element in WSDL provided to me. 
Here the whole WSDL :
<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
        xmlns:tns="http://servicemix.apache.org/test_out"; 
        xmlns:typens="http://servicemix.apache.org/test_out/types";
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
        xmlns:xmime="http://www.w3.org/2005/05/xmlmime";
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
        name="HelloOUT" 
        targetNamespace="http://servicemix.apache.org/test_out";>

<wsdl:types>
                <xsd:schema 
targetNamespace="http://servicemix.apache.org/test_out/types";
                            elementFormDefault="qualified">
                        <xsd:element name="SayHelloOUT">
                          <xsd:complexType>
                                        <xsd:sequence>
                                                <xsd:element name="name" 
type="xsd:string"/>
                                                <xsd:element name="fileattach" 
type="xsd:string"/>
                                        </xsd:sequence>
                                </xsd:complexType>
                        </xsd:element>
                        <xsd:element name="SayHelloOUTResponse">
                          <xsd:complexType>
                                        <xsd:sequence>
                                                <xsd:element name="name" 
type="xsd:string"/>
                                        </xsd:sequence>
                                </xsd:complexType>
                        </xsd:element>
                        <xsd:element name="UnknownWordFault">
                          <xsd:complexType>
                                        <xsd:sequence>
                                            <xsd:element name="word" 
type="xsd:string"/>
                                        </xsd:sequence>
                                </xsd:complexType>
                        </xsd:element>
                </xsd:schema>
  </wsdl:types>

        <wsdl:message name="SayHelloOUTRequest">
                <wsdl:part name="request" element="typens:SayHelloOUT"/>
                <wsdl:part name="fileattach" type="xsd:string"/>

        </wsdl:message>
        <wsdl:message name="SayHelloOUTResponse">
                <wsdl:part name="payload" element="typens:SayHelloOUTResponse"/>
        </wsdl:message>
        <wsdl:message name="UnknownWordFault">
                <wsdl:part name="payload" element="typens:UnknownWordFault"/>
        </wsdl:message>

    <wsdl:portType name="HelloOUT">
                <wsdl:operation name="SayHelloOUT">
                        <wsdl:input message="tns:SayHelloOUTRequest"/>
                        <wsdl:output message="tns:SayHelloOUTResponse"/>
                        <wsdl:fault name="UnknownWord" 
message="tns:UnknownWordFault"/>
                </wsdl:operation>
        </wsdl:portType>

 <wsdl:binding name="HelloOUTSOAPBinding" type="tns:HelloOUT">
        <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"; />
                <wsdl:operation name="SayHelloOUT">
                        <wsdl:input>
                                <mime:multipartRelated>
                                        <mime:part>
                                                <soap:body parts="request" 
use="literal" />
                                </mime:part>
                                <mime:part>
                                                <mime:content part="fileattach" 
type="text/xml"/>
                                </mime:part>
                                </mime:multipartRelated>

                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                        <wsdl:fault name="UnknownWord">
                                <soap:fault use="literal" name="UnknownWord" />
                        </wsdl:fault>
       </wsdl:operation>
</wsdl:binding>

<wsdl:service name="HelloOUTService">
        <wsdl:port binding="tns:HelloOUTSOAPBinding" name="soap">
           <soap:address location="http://localhost:8080/HelloOUTService/";
/>
       </wsdl:port>
</wsdl:service>
</wsdl:definitions>





Freeman Fang wrote:
> 
> Hi,
> You need also add mtomEnabled="true" to your cxfse:proxy.
> This is a new added feature so there is no apache servicemix release 
> including it, try play with the latest FUSE ESB(FUSE ESB is based on 
> apache servicemix and get released more frequently) from [1]
> [1]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.3.1.17-fuse/
> Freeman
> 
> ppil1 wrote:
>> Hi on both endpoint i 've set mtomEnabled=true but issue is still the
>> same.
>> Only the proxied webservice is a multipart WS.
>> CxfSe component seems to send a wrong jbi message to cxf bc proxied
>> endpoint.
>> Instead of sending a jbi attachement for my fileattach element, coponent
>> is
>> sending element in jbi body message.
>>
>> Thanks for help.
>>
>> Here my configuration
>>
>> ...
>> <cxfbc:provider mtomEnabled="true"  wsdl="classpath:service.wsdl"
>>                       locationURI="http://localhost:8080/test";
>>                       service="test:HelloOUTService"
>>                       endpoint="soap"
>>                              />
>>
>> .....
>> <cxfse:endpoint mtomEnabled="true"  >
>>         <cxfse:pojo>
>>           <bean class="org.apache.servicemix.test.HelloIn" >
>>              <property name="myHelloOUT">
>>                      <cxfse:proxy  service="test:HelloOUTService" 
>> endpoint="soap"
>> context="#context" type="org.apache.servicemix.test.HelloOUT" />
>>                      </property>
>>           </bean>
>> ...
>>
>> Helloout WSDL
>>  <wsdl:binding name="HelloOUTSOAPBinding" type="tns:HelloOUT">
>>      <soap:binding style="document"
>> transport="http://schemas.xmlsoap.org/soap/http"; />
>>              <wsdl:operation name="SayHelloOUT">
>>                      <wsdl:input>
>>                              <mime:multipartRelated>
>>                                      <mime:part>
>>                                              <soap:body parts="request" 
>> use="literal" />
>>                              </mime:part>
>>                              <mime:part>
>>                                                      <mime:content 
>> part="fileattach" type="text/xml"/>
>>                              </mime:part>
>>                              </mime:multipartRelated>
>>
>>                      </wsdl:input>
>>                      <wsdl:output>
>>                              <soap:body use="literal" />
>>                      </wsdl:output>
>>                      <wsdl:fault name="UnknownWord">
>>                              <soap:fault use="literal" name="UnknownWord" />
>>                      </wsdl:fault>
>>        </wsdl:operation>
>> </wsdl:binding>
>>
>> <wsdl:service name="HelloOUTService">
>>      <wsdl:port binding="tns:HelloOUTSOAPBinding" name="soap">
>>            <soap:address
>> location="http://localhost:8080/HelloOUTService/";
>> />
>>        </wsdl:port>
>> </wsdl:service>
>>   
> 
> 
> -- 
> Freeman Fang
> ------------------------
> Open Source SOA: http://fusesource.com
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Issue-Ussing-Service-Mix-CXF-component-with-multipart-WSDL-tp23428472p23502132.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to