DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7270>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7270 Error when mapping Arrays to Collections Summary: Error when mapping Arrays to Collections Product: Axis Version: beta-1 Platform: PC URL: http://www.silbergrau.com OS/Version: Windows NT/2K Status: NEW Severity: Blocker Priority: Other Component: Basic Architecture AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Remote method takes a Collection as argument and returns a Collection. Type of parameter sent is "xsd:anyType[3]" and contains 3 TypeA arguments (Note that this there could be types extending TypeA in there!) Seems that AXIS tries to map this to Object[] altough parameter is Collection: "java.lang.IllegalArgumentException: argument type mismatch on object "com.silbergrau.services.providers.tests.services.TestService", method name "passThroughCollection", tried argument types: [Ljava.lang.Object;" TYPES: ------ public class TypeA { private TypeA reference; } public class TypeB extends TypeA { } Remote method = Collection passThroughCollection(Collection collection) REQUEST ENVELOPE: ----------------- Collection c = new ArrayList(); c.add(new TypeA()); c.add(new TypeA()); c.add(new TypeA()); <soap-env:Envelope xmlns:soap-enc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap- env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- enc12="http://www.w3.org/2001/06/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:silbergrauSoapExtensions="http://www.silbergrau.com/soap/extensions"> <soap-env:Body> <ns2:passThroughCollection xmlns:ns2="TestService"> <param soap-env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soap-enc11:Array" id="5" soap-enc11:arrayType="xsd:anyType[3]"> <item xsi:type="ns3:TypeA" id="6" xmlns:ns3="http://www.silbergrau.com/schemas/encodedTypes"> <reference xsi:type="ns3:TypeA" xsi:null="1" xsi:nil="true"></reference> </item> <item xsi:type="ns4:TypeB" id="7" xmlns:ns4="http://www.silbergrau.com/schemas/encodedTypes"> <reference xsi:type="ns4:TypeA" xsi:null="1" xsi:nil="true"></reference> </item> <item xsi:type="ns5:TypeC" id="8" xmlns:ns5="http://www.silbergrau.com/schemas/encodedTypes"> <reference xsi:type="ns5:TypeA" xsi:null="1" xsi:nil="true"></reference> </item> </param> </ns2:passThroughCollection> </soap-env:Body> </soap-env:Envelope> RESPONSE ENVELOPE ----------------- <soap-env:Envelope xmlns:soap-enc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap- env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- enc12="http://www.w3.org/2001/06/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:silbergrauSoapExtensions="http://www.silbergrau.com/soap/extensions"> <soap-env:Body> <soap-env:Fault> <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Server.userException</faultcode> <faultstring>java.lang.IllegalArgumentException: argument type mismatch on object "com.silbergrau.services.providers.tests.services.TestService", method name "passThroughCollection", tried argument types: [Ljava.lang.Object;</faultstring> <detail> <ns2:stackTrace xmlns:ns2="http://xml.apache.org/axis/">java.lang.IllegalArgumentException: argument type mismatch on object "com.silbergrau.services.providers.tests.services.TestService", method name "passThroughCollection", tried argument types: [Ljava.lang.Object;
 at org.apache.axis.providers.java.RPCProvider.processMessage(Unknown Source)
 at org.apache.axis.providers.java.JavaProvider.invoke(Unknown Source) 
 at org.apache.axis.strategies.InvocationStrategy.visit(Unknown Source) 
 at org.apache.axis.SimpleChain.doVisiting(Unknown Source)
 at org.apache.axis.SimpleChain.invoke(Unknown Source)
 at org.apache.axis.server.AxisServer.invoke(Unknown Source)
 at org.apache.axis.transport.http.AxisServlet.doPost(Unknown Source) 
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:247)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193)
 at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:243)
 at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) 
 at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:201)
 at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) 
 at org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2344)
 at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:164)
 at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566)
 at org.apache.catalina.valves.ErrorDispatcherValve.invoke (ErrorDispatcherValve.java:170)
 at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564)
 at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:170)
 at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564)
 at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:462)
 at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:564)
 at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) 
 at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:163)
 at org.apache.catalina.core.StandardPipeline.invokeNext (StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) 
 at org.apache.catalina.connector.http.HttpProcessor.process (HttpProcessor.java:1011)
 at org.apache.catalina.connector.http.HttpProcessor.run (HttpProcessor.java:1106)
 at java.lang.Thread.run(Thread.java:484)
 </ns2:stackTrace> </detail> </soap-env:Fault> </soap-env:Body> </soap-env:Envelope>