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