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

Srinath Perera updated AXIS2-2741:
----------------------------------

    Priority: Blocker  (was: Major)

> Attachment using org.apache.axis2.rpc.receivers.RPCMessageReceiver is broken
> ----------------------------------------------------------------------------
>
>                 Key: AXIS2-2741
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2741
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: transports
>    Affects Versions: 1.2
>         Environment: Axis2-1.2 release/ Windows&Linux /Jboss 4.05GA
>            Reporter: Aliho
>            Assignee: Deepal Jayasinghe
>            Priority: Blocker
>
> org.apache.axis2.rpc.receivers.RPCMessageReceiver will throw a 
> NumberFormatException from trying to create a Byte object from a long binary 
> string.
> ==========TestService.java=========
> package test;
> public class TestService{
>   
>   public String Test(String fileName, String contentType, byte[] binary){
>     return "boom!";
>   }
> }
> =========service.xml=============
>       <service name="TestService"
>                scope="application">
>                <description>This is used for testing</description>
>                       <messageReceivers>
>                           <messageReceiver 
> mep="http://www.w3.org/2004/08/wsdl/in-only";
>                                            
> class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
>                           <messageReceiver 
> mep="http://www.w3.org/2004/08/wsdl/in-out";
>                                            
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>                       </messageReceivers>
>                                       <parameter 
> name="useOriginalwsdl">false</parameter> 
>                <parameter name="ServiceClass">test.TestService</parameter>
>       </service>      
> The above pojo will generate the following WSDL file.
> ========Generated wsdl===========
> <wsdl:definitions xmlns:axis2="http://test"; 
> xmlns:ns1="http://org.apache.axis2/xsd"; 
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
> xmlns:ns0="http://test/xsd"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
> targetNamespace="http://test";><wsdl:documentation>TestService</wsdl:documentation><wsdl:types><xs:schema
>  xmlns:ns="http://test/xsd"; attributeFormDefault="qualified" 
> elementFormDefault="qualified" targetNamespace="http://test/xsd";>
> <xs:element name="Test">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="fileName" nillable="true" type="xs:string" />
> <xs:element name="contentType" nillable="true" type="xs:string" />
> <xs:element name="binary" nillable="true" type="xs:base64Binary" />
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="TestResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="return" nillable="true" type="xs:string" />
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema></wsdl:types><wsdl:message name="TestMessage"><wsdl:part 
> name="part1" element="ns0:Test" /></wsdl:message><wsdl:message 
> name="TestResponse"><wsdl:part name="part1" element="ns0:TestResponse" 
> /></wsdl:message><wsdl:portType name="TestServicePortType"><wsdl:operation 
> name="Test"><wsdl:input 
> xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; 
> message="axis2:TestMessage" wsaw:Action="urn:Test" /><wsdl:output 
> message="axis2:TestResponse" /></wsdl:operation></wsdl:portType><wsdl:binding 
> name="TestServiceSOAP11Binding" 
> type="axis2:TestServicePortType"><soap:binding 
> transport="http://schemas.xmlsoap.org/soap/http"; style="document" 
> /><wsdl:operation name="Test"><soap:operation soapAction="urn:Test" 
> 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="TestServiceSOAP12Binding" 
> type="axis2:TestServicePortType"><soap12:binding 
> transport="http://schemas.xmlsoap.org/soap/http"; style="document" 
> /><wsdl:operation name="Test"><soap12:operation soapAction="urn:Test" 
> 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="TestServiceHttpBinding" type="axis2:TestServicePortType"><http:binding 
> verb="POST" /><wsdl:operation name="Test"><http:operation location="Test" 
> /><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="TestService"><wsdl:port name="TestServiceSOAP11port_http" 
> binding="axis2:TestServiceSOAP11Binding"><soap:address 
> location="http://10.67.90.102:8888/cms-war-0.0.1/services/TestService"; 
> /></wsdl:port><wsdl:port name="TestServiceSOAP11port_tcp1" 
> binding="axis2:TestServiceSOAP11Binding"><soap:address 
> location="tcp://10.67.90.102:6061/axis2/services/TestService" 
> /></wsdl:port><wsdl:port name="TestServiceSOAP12port_http" 
> binding="axis2:TestServiceSOAP12Binding"><soap12:address 
> location="http://10.67.90.102:8888/cms-war-0.0.1/services/TestService"; 
> /></wsdl:port><wsdl:port name="TestServiceSOAP12port_tcp1" 
> binding="axis2:TestServiceSOAP12Binding"><soap12:address 
> location="tcp://10.67.90.102:6061/axis2/services/TestService" 
> /></wsdl:port><wsdl:port name="TestServiceHttpport" 
> binding="axis2:TestServiceHttpBinding"><http:address 
> location="http://10.67.90.102:8888/cms-war-0.0.1/services/TestService"; 
> /></wsdl:port></wsdl:service></wsdl:definitions>
> ********************************************************************************************
> Use the above generated wsdl to create a client jar using wsdl2java, and try 
> to send a message to TestService. The service will throw a 
> NumberFormatException if the content element is anything other than a small 
> number (a number that is less than a byte).
> This is obviously wrong because content should be a long binary string.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to