[ 
https://issues.apache.org/jira/browse/CXF-1885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Kulp resolved CXF-1885.
------------------------------

       Resolution: Won't Fix
    Fix Version/s: Invalid


CXF doesn't support SOAP encoding (only literal encoding) and the DataHandler 
thing in this wsdl is an ancient xmlsoap specific proprietary extension.    
Normally, you would use xsd:base64Binary with an mtom contentType thing which 
would map into a datahandler.

> WSDL parsing error with apachesoap:DataHandler
> ----------------------------------------------
>
>                 Key: CXF-1885
>                 URL: https://issues.apache.org/jira/browse/CXF-1885
>             Project: CXF
>          Issue Type: Bug
>         Environment: CXF 2.1.3, win32
>            Reporter: Himanshu Arora
>             Fix For: Invalid
>
>
> Hi,
> I'm trying to access a service whose WSDL was created through AXIS.
> And now due to our requirements I'm creating the client through CXF. So I 
> updated my WSDL to use "doc/lite" encoding and some other changes.
> I did similar changes in other WSDLs which have primitive types and they are 
> working fine. But in the following WSDL, I'm getting following error:-
> ---------------------------------------------------------------------------------------
> WSDLToJava Error:
>  Summary:  Failures: 2, Warnings: 0
>  <<< ERROR!
> Part <file> in Message 
> <{http://schema.vasoftware.com/sf/soap43/service}uploadFileRequest> reference
> d Type <{http://xml.apache.org/xml-soap}DataHandler> can not be found in the 
> schemas
> Part <downloadFileReturn> in Message 
> <{http://schema.vasoftware.com/sf/soap43/service}downloadFileRe
> sponse> referenced Type <{http://xml.apache.org/xml-soap}DataHandler> can not 
> be found in the schema
> s
> ---------------------------------------------------------------------------------------
> Following is my WSDL:-
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions 
> targetNamespace="http://schema.vasoftware.com/sf/soap43/service"; 
> xmlns="http://schemas.xmlsoap.org/wsdl/";
>     xmlns:apachesoap="http://xml.apache.org/xml-soap"; 
> xmlns:impl="http://schema.vasoftware.com/sf/soap43/service";
>     xmlns:intf="http://schema.vasoftware.com/sf/soap43/service"; 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
>     xmlns:tns1="http://schema.vasoftware.com/sf/soap43/type"; 
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>     xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>     <wsdl:types>
>         <schema targetNamespace="http://schema.vasoftware.com/sf/soap43/type"; 
> xmlns="http://www.w3.org/2001/XMLSchema";>
>             <import namespace="http://schemas.xmlsoap.org/soap/encoding/"; 
> schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"; />
>             <xsd:element name="PermissionDeniedFault" 
> type="tns1:PermissionDeniedFault"></xsd:element>
>             <xsd:element name="InvalidSessionFault" 
> type="tns1:InvalidSessionFault"></xsd:element>
>             <xsd:element name="SystemFault" 
> type="tns1:SystemFault"></xsd:element>
>             <complexType name="WebServiceFault">
>                 <sequence />
>             </complexType>
>             <complexType name="PermissionDeniedFault">
>                 <complexContent>
>                     <extension base="tns1:WebServiceFault">
>                         <sequence />
>                     </extension>
>                 </complexContent>
>             </complexType>
>             <complexType name="SystemFault">
>                 <complexContent>
>                     <extension base="tns1:WebServiceFault">
>                         <sequence />
>                     </extension>
>                 </complexContent>
>             </complexType>
>             <complexType name="InvalidSessionFault">
>                 <complexContent>
>                     <extension base="tns1:WebServiceFault">
>                         <sequence />
>                     </extension>
>                 </complexContent>
>             </complexType>
>         </schema>
>     </wsdl:types>
>     <wsdl:message name="PermissionDeniedFault">
>         <wsdl:part name="fault" element="tns1:PermissionDeniedFault" />
>     </wsdl:message>
>     <wsdl:message name="SystemFault">
>         <wsdl:part name="fault" element="tns1:SystemFault" />
>     </wsdl:message>
>     <wsdl:message name="downloadFileResponse">
>         <wsdl:part name="downloadFileReturn" element="apachesoap:DataHandler" 
> />
>     </wsdl:message>
>     <wsdl:message name="downloadFileRequest">
>         <wsdl:part name="sessionId" type="xsd:string" />
>         <wsdl:part name="fileId" type="xsd:string" />
>     </wsdl:message>
>     <wsdl:message name="InvalidSessionFault">
>         <wsdl:part name="fault" element="tns1:InvalidSessionFault" />
>     </wsdl:message>
>     <wsdl:message name="uploadFileRequest">
>         <wsdl:part name="sessionId" type="xsd:string" />
>         <wsdl:part name="file" element="apachesoap:DataHandler" />
>     </wsdl:message>
>     <wsdl:message name="uploadFileResponse">
>         <wsdl:part name="uploadFileReturn" type="xsd:string" />
>     </wsdl:message>
>     <wsdl:portType name="FileStorageAppSoap">
>         <wsdl:operation name="downloadFile" parameterOrder="sessionId fileId">
>             <wsdl:input message="impl:downloadFileRequest" 
> name="downloadFileRequest" />
>             <wsdl:output message="impl:downloadFileResponse" 
> name="downloadFileResponse" />
>             <wsdl:fault message="impl:InvalidSessionFault" 
> name="InvalidSessionFault" />
>             <wsdl:fault message="impl:PermissionDeniedFault" 
> name="PermissionDeniedFault" />
>             <wsdl:fault message="impl:SystemFault" name="SystemFault" />
>         </wsdl:operation>
>         <wsdl:operation name="uploadFile" parameterOrder="sessionId file">
>             <wsdl:input message="impl:uploadFileRequest" 
> name="uploadFileRequest" />
>             <wsdl:output message="impl:uploadFileResponse" 
> name="uploadFileResponse" />
>             <wsdl:fault message="impl:InvalidSessionFault" 
> name="InvalidSessionFault" />
>             <wsdl:fault message="impl:SystemFault" name="SystemFault" />
>         </wsdl:operation>
>     </wsdl:portType>
>     <wsdl:binding name="FileStorageAppSoapBinding" 
> type="impl:FileStorageAppSoap">
>         <wsdlsoap:binding style="rpc" 
> transport="http://schemas.xmlsoap.org/soap/http"; />
>         <wsdl:operation name="downloadFile">
>             <wsdlsoap:operation soapAction="" />
>             <wsdl:input name="downloadFileRequest">
>                 <wsdlsoap:body 
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>                     
> namespace="http://schema.vasoftware.com/sf/soap43/service"; use="literal" />
>             </wsdl:input>
>             <wsdl:output name="downloadFileResponse">
>                 <wsdlsoap:body 
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>                     
> namespace="http://schema.vasoftware.com/sf/soap43/service"; use="literal" />
>             </wsdl:output>
>             <wsdl:fault name="InvalidSessionFault">
>                 <wsdlsoap:fault 
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>                     
> namespace="http://schema.vasoftware.com/sf/soap43/service"; use="literal" />
>             </wsdl:fault>
>             <wsdl:fault name="PermissionDeniedFault">
>                 <wsdlsoap:fault 
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>                     
> namespace="http://schema.vasoftware.com/sf/soap43/service"; use="literal" />
>             </wsdl:fault>
>             <wsdl:fault name="SystemFault">
>                 <wsdlsoap:fault 
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>                     
> namespace="http://schema.vasoftware.com/sf/soap43/service"; use="literal" />
>             </wsdl:fault>
>         </wsdl:operation>
>         <wsdl:operation name="uploadFile">
>             <wsdlsoap:operation soapAction="" />
>             <wsdl:input name="uploadFileRequest">
>                 <wsdlsoap:body 
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>                     
> namespace="http://schema.vasoftware.com/sf/soap43/service"; use="literal" />
>             </wsdl:input>
>             <wsdl:output name="uploadFileResponse">
>                 <wsdlsoap:body 
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>                     
> namespace="http://schema.vasoftware.com/sf/soap43/service"; use="literal" />
>             </wsdl:output>
>             <wsdl:fault name="InvalidSessionFault">
>                 <wsdlsoap:fault 
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>                     
> namespace="http://schema.vasoftware.com/sf/soap43/service"; use="literal" />
>             </wsdl:fault>
>             <wsdl:fault name="SystemFault">
>                 <wsdlsoap:fault 
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
>                     
> namespace="http://schema.vasoftware.com/sf/soap43/service"; use="literal" />
>             </wsdl:fault>
>         </wsdl:operation>
>     </wsdl:binding>
>     <wsdl:service name="FileStorageAppSoapService">
>         <wsdl:port binding="impl:FileStorageAppSoapBinding" 
> name="FileStorageApp">
>             <wsdlsoap:address 
> location="http://localhost:8080/sf-soap43/services/FileStorageApp"; />
>         </wsdl:port>
>     </wsdl:service>
> </wsdl:definitions>
> Does CXF not support DataHandler?
> If yes, then is there something wrong in my WSDL?
> Thanks,
> Himanshu

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to