WSDL2Java does not create correct base64Binary elements from imported schemas
-----------------------------------------------------------------------------

         Key: AXIS-2283
         URL: http://issues.apache.org/jira/browse/AXIS-2283
     Project: Apache Axis
        Type: Bug
  Components: WSDL processing  
    Versions: 1.3    
 Environment: Windows XP, Jakarta Tomcat 5.5.4
    Reporter: Inma MarĂ­n
    Priority: Critical


    A WSDL which includes references to Signature element from XMLDSig schema 
(http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd) is used as input to 
WSDL2Java. It generates java classes for this type and all of its components. 
      When running the service, there is a problem with element DigestValue in 
Signature. It should be base64Binary type  
(<ds:DigestValue>ZgupHg6RX3G1rk7TF9kAYmtOKW0=</ds:DigestValue>), 

however the service expects it as a set of numbers                  

(<ns1:DigestValue>
    <ns1:DigestValue>90</ns1:DigestValue>
    <ns1:DigestValue>103</ns1:DigestValue>
     <ns1:DigestValue>117</ns1:DigestValue 
               .... 
     <ns1:DigestValue>61</ns1:DigestValue>
</ns1:DigestValue>). 

So this type is not created correctly. The WSDL used is the following:

<definitions name="urn:umu:diic:ants:pki:pruebaSignature" 
targetNamespace="urn:umu:diic:ants:pki:pruebaSignature" 
xmlns:y="urn:umu:diic:ants:pki:pruebaSignature" 
xmlns:ys="urn:umu:diic:ants:pki:pruebaSignature:schema" 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns="http://schemas.xmlsoap.org/wsdl/";>
        <import namespace="http://www.w3.org/2000/09/xmldsig#"; 
location="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
<types>
                <xs:schema 
targetNamespace="urn:umu:diic:ants:pki:pruebaSignature:schema" 
elementFormDefault="qualified" 
xmlns:tn="urn:umu:diic:ants:pki:pruebaSignature:schema" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; >
                        <xs:complexType name="ResultType">
                                <xs:sequence>
                                        <xs:element name="ResultMajor" 
type="xs:anyURI"/>
                                        <xs:element name="ResultMinor" 
type="xs:anyURI"/>
                                        <xs:element name="ResultMessage" 
type="xs:string" minOccurs="0"/>
                                </xs:sequence>
                        </xs:complexType>
                        <xs:complexType name="responsePruebaSignatureType">
                                <xs:sequence>
                                        <xs:element name="result" 
type="tn:ResultType"/>
                                        <xs:element ref="ds:Signature"/> 
                                </xs:sequence>
                        </xs:complexType>
                        <xs:element name="responsePruebaSignature" 
type="tn:responsePruebaSignatureType"/>
                </xs:schema>
        </types>
        <message name="pruebaSignatureIn">
                <part name="body" element="ds:Signature"/>
        </message>
        <message name="pruebaSignatureOut">
                <part name="body" element="ys:responsePruebaSignature"/>
        </message>
        <portType name="pruebaSignatureSOAP">
                <operation name="pruebaSignature">
                        <input message="y:pruebaSignatureIn"/>
                        <output message="y:pruebaSignatureOut"/>
                </operation>
        </portType>
        <binding name="pruebaSignatureSOAPBinding" type="y:pruebaSignatureSOAP">
                <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
                <operation name="pruebaSignature">
                        <soap:operation 
soapAction="urn:pruebaSignature#pruebaSignature"/>
                        <input>
                                <soap:body use="literal"/>
                        </input>
                        <output>
                                <soap:body use="literal"/>
                        </output>
                </operation>
        </binding>
        <service name="pruebaSigService">
                <port name="pruebaSigService" 
binding="y:pruebaSignatureSOAPBinding">
                        <soap:address 
location="http://burbuja:8080/axis/services/pruebaSigService"/>
                </port>
        </service>
</definitions>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to