Details
-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
JBossAS-4.0.3 SP1
-
None
Description
We experience a problem with the WS4EE stack on JBoss 4.0.3 when deserializing JAX-RPC value type properties of array type when the number of elements is greater than 2 and when the request envelope was created by a .NET client. There are similar issues reported on AXIS. Here's a typical stack trace we get:
14:59:13,330 ERROR [BeanPropertyTarget] Could not convert [Lcrm.application.business.common.customersvc.CallDataObject; to bean field 'typedElements[2]', type [Lcrm.application.business.common.customersvc.CallDataObject;
14:59:13,390 ERROR [RPCInvocation] java.lang.IllegalArgumentException: array element type mismatch
java.lang.IllegalArgumentException: array element type mismatch
at org.jboss.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:243)
at org.jboss.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:305)
at org.jboss.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:590)
at org.jboss.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:1269)
at org.jboss.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:252)
at org.jboss.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1394)
at org.jboss.axis.message.RPCElement.deserialize(RPCElement.java:266)
at org.jboss.axis.message.RPCElement.getParams(RPCElement.java:402)
at org.jboss.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:235)
at org.jboss.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:103)
at org.jboss.axis.providers.java.JavaProvider.invoke(JavaProvider.java:358)
at org.jboss.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)
at org.jboss.axis.SimpleChain.doVisiting(SimpleChain.java:160)
at org.jboss.axis.SimpleChain.invoke(SimpleChain.java:123)
at org.jboss.axis.handlers.soap.SOAPService.invoke(SOAPService.java:560)
at org.jboss.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:215)
at org.jboss.webservice.server.ServerEngine.invoke(ServerEngine.java:104)
at org.jboss.axis.transport.http.AxisServlet.doPost(AxisServlet.java:911)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.jboss.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
Message:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>
</wsa:Action>
<wsa:MessageID>urn:uuid:6bdec88b-6594-4cae-81a5-628b86b75699</wsa:MessageID>
<wsa:ReplyTo>
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:To>http://localhost:8082/ws/customersvc</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-b935bb5d-4a72-4b8d-ba5d-d529e18cc23e">
<wsu:Created>2006-11-10T13:59:13Z</wsu:Created>
<wsu:Expires>2006-11-10T14:04:13Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<setCustomerDo xmlns="http://logic.business.application.crm">
<update xmlns="">
<deleted>false</deleted>
<created>true</created>
<pruned>true</pruned>
<Original xsi:nil="true" />
<CRC>0</CRC>
<customerId>0002</customerId>
<contractDate>2006-11-07T00:00:00</contractDate>
<call>
<typedElements>
<deleted>false</deleted>
<created>true</created>
<pruned>true</pruned>
<Original xsi:nil="true" />
<CRC>0</CRC>
<callResolved>false</callResolved>
<callDescription xsi:nil="true" />
<callTimestamp>0001-01-01T00:00:00</callTimestamp>
</typedElements>
<typedElements>
<deleted>false</deleted>
<created>true</created>
<pruned>true</pruned>
<Original xsi:nil="true" />
<CRC>0</CRC>
<callResolved>false</callResolved>
<callDescription xsi:nil="true" />
<callTimestamp>0001-01-01T00:00:00</callTimestamp>
</typedElements>
<typedElements>
<deleted>false</deleted>
<created>true</created>
<pruned>true</pruned>
<Original xsi:nil="true" />
<CRC>0</CRC>
<callResolved>false</callResolved>
<callDescription xsi:nil="true" />
<callTimestamp>0001-01-01T00:00:00</callTimestamp>
</typedElements>
</call>
<firstName>Andre</firstName>
<serviceAgreement>
<deleted>false</deleted>
<created>true</created>
<pruned>true</pruned>
<Original xsi:nil="true" />
<CRC>0</CRC>
<serviceLevel>
<value>1</value>
</serviceLevel>
<saDescription>Medium Service</saDescription>
<saPrice>50.95</saPrice>
<customer />
<saId>0001</saId>
</serviceAgreement>
<customerTitle>Mr</customerTitle>
<lastName>Bos</lastName>
<address>
<countryCode>31</countryCode>
<phone xsi:nil="true" />
<zipCode>1005 BB</zipCode>
<street>Hoogoorddreef</street>
<city>Amsterdam</city>
<stateCode xsi:nil="true" />
<email>Reinier.Bos@nl.compuware.com</email>
</address>
</update>
</setCustomerDo>
</soap:Body>
</soap:Envelope>