axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "donald yang" <donal...@googlemail.com>
Subject Re: AXIS2 map java byte[] to xml byte not base64Binary
Date Thu, 15 Feb 2007 15:52:14 GMT
Hi Ajith

      Many thanks for your reply. I have log the bug(ref number axis2-2192).

     Could you please have a look?

cheers
donald

* <http://issues.apache.org/jira/browse/AXIS2-2192>*


On 2/15/07, Ajith Ranabahu <ajith.ranabahu@gmail.com> wrote:
>
> Hi,
> this seems to be a bug in the Java2WSDL converter - we should be
> having a switch to change the behavior. Please log a Jira.
>
> Ajith
>
>
> On 2/15/07, donald yang <donaldyy@googlemail.com> wrote:
> > Hi, It seems AXIS2 has a bug to map java byte[] to xml base64Binary.
> When I
> > declare a complex data structure, which have a byte[] member variable,
> the
> > data type of that variable in WSDL is xsd:byte, not xsd:base64Binary.
> > However if the variable is not a member variable, AXIS2 map it to xml
> > base64Binary. It is a very strange behaviour. Here is one example[1],
> [2].
> >
> >
> > [1] java source code
> > public class ComplexTestCaseService
> > {
> >     public byte[] echoByteArray(byte[] test)
> >     {
> >
> >         return test;
> >   }
> >  public Record echoRecord(Record record)
> >   {
> >         return record;
> >  }
> > .........................
> > }
> >
> > public class Record implements Serializable
> > {
> >     private double double_var;
> >     private byte[] byteArray_var;
> >
> >     public byte[] getByteArray_var() {
> >         return byteArray_var;
> >     }
> >     public void setByteArray_var(byte[] byteArray_var) {
> >         this.byteArray_var = byteArray_var;
> >     }
> >     public double getDouble_var() {
> >         return double_var;
> >     }
> >     public void setDouble_var(double double_var) {
> >         this.double_var = double_var;
> >     }
> > }
> >
> > [2] WSDL generated by AXIS2
> >     <wsdl:definitions targetNamespace=" http://ws.apache.org/axis2">
> > <wsdl:documentation>
> >         4GL Test Service
> >     </wsdl:documentation>
> > −
> >     <wsdl:types>
> > −
> >     <xs:schema attributeFormDefault="qualified"
> > elementFormDefault="qualified" targetNamespace="
> > http://ws.apache.org/axis2/xsd">
> > −
> >     <xs:element name="echoRecord">
> > −
> >     <xs:complexType>
> > −
> >     <xs:sequence>
> > <xs:element name="record" nillable="true" type="ns:Record"/>
> > </xs:sequence>
> > </xs:complexType>
> > </xs:element>
> > <xs:element name="Record" type="ns:Record"/>
> > −
> >     <xs:complexType name="Record">
> > −
> >     <xs:sequence>
> > <xs:element maxOccurs="unbounded" name="byteArray_var" type="xs:byte"/>
> > <xs:element name="double_var" type="xs:double"/>
> > </xs:sequence>
> > </xs:complexType>
> > −
> >     <xs:element name="echoRecordResponse">
> > −
> >     <xs:complexType>
> > −
> >     <xs:sequence>
> > <xs:element name="return" nillable="true" type="ns:Record"/>
> > </xs:sequence>
> > </xs:complexType>
> > </xs:element>
> > −
> >     <xs:element name="echoByteArray">
> > −
> >     <xs:complexType>
> > −
> >     <xs:sequence>
> >  <xs:element name="test" nillable="true" type="xs:base64Binary"/>
> > </xs:sequence>
> > </xs:complexType>
> > </xs:element>
> > −
> >     <xs:element name="echoByteArrayResponse">
> > −
> >     <xs:complexType>
> > −
> >     <xs:sequence>
> > <xs:element name="return" nillable="true" type="xs:base64Binary"/>
> > </xs:sequence>
> > </xs:complexType>
> > </xs:element>
> > </xs:schema>
> > </wsdl:types>
> > −
> >     <wsdl:message name="echoRecordMessage">
> > <wsdl:part name="part1" element="ns0:echoRecord"/>
> > </wsdl:message>
> > −
> >     <wsdl:message name="echoRecordResponse">
> > <wsdl:part name="part1" element="ns0:echoRecordResponse"/>
> > </wsdl:message>
> > −
> >     <wsdl:message name="echoByteArrayMessage">
> > <wsdl:part name="part1" element="ns0:echoByteArray"/>
> > </wsdl:message>
> > −
> >     <wsdl:message name="echoByteArrayResponse">
> > <wsdl:part name="part1"
> > element="ns0:echoByteArrayResponse"/>
> > </wsdl:message>
> > −
> >     <wsdl:portType name="ComplexTestCaseServicePortType">
> > −
> >     <wsdl:operation name="echoRecord">
> > <wsdl:input message="axis2:echoRecordMessage"
> > wsaw:Action="urn:echoRecord"/>
> > <wsdl:output message="axis2:echoRecordResponse"/>
> > </wsdl:operation>
> > −
> >     <wsdl:operation name="echoByteArray">
> > <wsdl:input message="axis2:echoByteArrayMessage"
> > wsaw:Action="urn:echoByteArray"/>
> > <wsdl:output message="axis2:echoByteArrayResponse"/>
> > </wsdl:operation>
> > </wsdl:portType>
> > −
> >     <wsdl:binding
> > name="ComplexTestCaseServiceSOAP11Binding"
> > type="axis2:ComplexTestCaseServicePortType">
> > <soap:binding
> > transport="http://schemas.xmlsoap.org/soap/http"
> > style="document"/>
> > −
> >     <wsdl:operation name="echoRecord">
> > <soap:operation soapAction="urn:echoRecord" style="document"/>
> > −
> >     <wsdl:input>
> > <soap:body use="literal"/>
> > </wsdl:input>
> > −
> >     <wsdl:output>
> > <soap:body use="literal"/>
> > </wsdl:output>
> > </wsdl:operation>
> > −
> >     <wsdl:operation name="echoByteArray">
> > <soap:operation soapAction="urn:echoByteArray" style="document"/>
> > −
> >     <wsdl:input>
> > <soap:body use="literal"/>
> > </wsdl:input>
> > −
> >     <wsdl:output>
> > <soap:body use="literal"/>
> > </wsdl:output>
> > </wsdl:operation>
> > </wsdl:binding>
> > −
> >     <wsdl:binding
> > name="ComplexTestCaseServiceSOAP12Binding"
> > type="axis2:ComplexTestCaseServicePortType">
> > <soap12:binding transport="
> > http://schemas.xmlsoap.org/soap/http" style="document"/>
> > −
> >     <wsdl:operation name="echoRecord">
> > <soap12:operation soapAction="urn:echoRecord" style="document"/>
> > −
> >     <wsdl:input>
> > <soap12:body use="literal"/>
> > </wsdl:input>
> > −
> >     <wsdl:output>
> > <soap12:body use="literal"/>
> > </wsdl:output>
> > </wsdl:operation>
> > −
> >     <wsdl:operation name="echoByteArray">
> > <soap12:operation soapAction="urn:echoByteArray" style="document"/>
> > −
> >     <wsdl:input>
> > <soap12:body use="literal"/>
> > </wsdl:input>
> > −
> >     <wsdl:output>
> > <soap12:body use="literal"/>
> > </wsdl:output>
> > </wsdl:operation>
> > </wsdl:binding>
> > −
> >     <wsdl:binding name="ComplexTestCaseServiceHttpBinding"
> > type="axis2:ComplexTestCaseServicePortType">
> > <http:binding verb="POST"/>
> > −
> >     <wsdl:operation name="echoRecord">
> > <http:operation location="echoRecord"/>
> > −
> >     <wsdl:input>
> > <mime:content type="text/xml"/>
> > </wsdl:input>
> > −
> >     <wsdl:output>
> > <mime:content type="text/xml"/>
> > </wsdl:output>
> > </wsdl:operation>
> > −
> >     <wsdl:operation name="echoByteArray">
> > <http:operation location="echoByteArray"/>
> > −
> >     <wsdl:input>
> > <mime:content type="text/xml"/>
> > </wsdl:input>
> > −
> >     <wsdl:output>
> > <mime:content type="text/xml"/>
> > </wsdl:output>
> > </wsdl:operation>
> > </wsdl:binding>
> > −
> >     <wsdl:service name="ComplexTestCaseService">
> > −
> >     <wsdl:port name="ComplexTestCaseServiceSOAP11port_http"
> > binding="axis2:ComplexTestCaseServiceSOAP11Binding">
> > <soap:address
> > location="http://localhost:8080/axis2/services/ComplexTestCaseService"/>
> > </wsdl:port>
> > −
> >     <wsdl:port name="ComplexTestCaseServiceSOAP12port_http"
> > binding="axis2:ComplexTestCaseServiceSOAP12Binding">
> > <soap12:address
> > location="http://localhost:8080/axis2/services/ComplexTestCaseService"/>
> > </wsdl:port>
> > −
> >     <wsdl:port name="ComplexTestCaseServiceHttpport1"
> > binding="axis2:ComplexTestCaseServiceHttpBinding">
> > <http:address
> > location="http://localhost:8080/axis2/rest/ComplexTestCaseService"/>
> > </wsdl:port>
> > </wsdl:service>
> >  </wsdl:definitions>
> >
> >
> >
>
>
> --
> Ajith Ranabahu
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>

Mime
View raw message