Issue Details (XML | Word | Printable)

Key: AXIS-1986
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Unassigned
Reporter: David Rolfe
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Axis

java.lang.IllegalArgumentException: argument type mismatch When deserializing byte[]

Created: 10/May/05 09:40 PM   Updated: 11/Jun/05 10:58 AM
Component/s: Serialization/Deserialization
Affects Version/s: 1.2RC3
Fix Version/s: None

Time Tracking:
Not Specified

File Attachments:
  Size
Zip Archive Licensed for inclusion in ASF works smallarraysbug.zip 2005-05-10 10:15 PM Davanum Srinivas 43 kB
Environment:
   Web Servers: Tomcat 4.1.31, 5.0.28, 5.5.4
Axis Versions: Not present in Axis 1.1. Occurs in Axis 1.2 all releases up to 1.2.1.
Java: 1.4.2_04
Operating Systems: Present on Windows XP and Solaris 5.8
Issue Links:
Reference
 

Resolution Date: 11/Jun/05 10:58 AM


 Description  « Hide
We make a product for running Oracle stored procedures and SQL statements that is designed to work with Axis. This involves creating data structures that contain byte[] arrays. One of our regression tests involves the following method:

public axis12bug.plsql.RawProcReturn servicePlsqlRawProc
    (byte[] paramInParam
    ,byte[] paramInOutParam) throws DAOFactoryServiceException

RawProcReturn looks like this:

public class RawProcReturn
{
  public byte[] paramOutParam = null;
  public byte[] paramInOutParam = null;
   
}

This failing against Axis 1.2.1 but not Axis 1.1 because it throws the following error:

- Could not convert java.lang.Byte to bean field 'paramOutParam', type [B
- Exception:
java.lang.IllegalArgumentException: argument type mismatch
at org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:146)
at org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
at org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:154)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2448)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at axis12bug.TESTAXIS_12BUG1SoapBindingStub.servicePlsqlRawProc(TESTAXIS_12BUG1SoapBindingStub.java:235)
at axis12bug.RunTest.main(RunTest.java:42)
; nested exception is:
java.lang.IllegalArgumentException: argument type mismatch

This bug may be a clone of Axis-1985.

We have zipped a test case and uploaded it to:

http://www.orindasoft.com/public/friends/smallarraysbug.zip

We regard this as a blocker because:

1. This works in Axis 1.1.
2. The ability to work with objects that have byte[] arrays is fundamental to anyone working with BLOB or CLOB data.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Davanum Srinivas added a comment - 10/May/05 10:15 PM
uploading zip from URL.

David Rolfe added a comment - 04/Jun/05 10:35 PM
We will happily re-run our regression tests on a version of Axis that is believed to fix this bug. We run a Suite of tests on various combinations of Axis 1.1/1.2.1 and Tomcat. See:

http://www.orindasoft.com/public/Web%20Servicestwo.php4#supp


David Rolfe added a comment - 09/Jun/05 09:25 PM
Have uploaded Axis1985WSDL.zip to Axis-1985. It contains WSDL and WSDD for this problem.

Davanum Srinivas added a comment - 11/Jun/05 10:58 AM
Same as AXIS-1985. Please codegen with latest nightly (you will see arrayMapping's in your deploy.wsdd).

thanks,
dims