[ https://issues.apache.org/jira/browse/AXIS2-2741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Deepal Jayasinghe updated AXIS2-2741: ------------------------------------- Priority: Critical (was: Blocker) > 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: Critical > > 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]