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


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