You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Ken Pelletier <ke...@nika.com> on 2002/12/03 16:25:48 UTC
REPOST: arrayType encoding: xsd:ur-type
An outside client is sending the following array encoding for an
argument to a method, and Axis is not deserializing it. ( See error
return w/stack trace below )
<trackIDs SOAP-ENC:arrayType="xsd:ur-type[1]" xsi:type="SOAP-ENC:Array">
<item_0 xsi:type="xsd:string">3888197206</item_0>
</trackIDs>
If I change the arrayType from xsd:ur-type to xsd:string and resend the
message with TCPMonitor, the server deserializes it successfully.
This appears to be true for all array types; the ur-type[] encoding is
not being deserialized by Axis.
Q) Is this valid encoding for an arrayType? I see many examples of
this, and it does work with Apache SOAP.
Q) What can I do on the server side to get this to deserialize properly?
The client code that generates this array encoding is not under my
control.
<faultcode
xmlns:ns1="http://xml.apache.org/axis/">ns1:Server.userException</
faultcode>
<faultstring>org.xml.sax.SAXException: No deserializer defined for
array type {http://www.w3.org/2001/XMLSchema}ur-type</faultstring>
<detail>
<ns2:stackTrace
xmlns:ns2="http://xml.apache.org/axis/">org.xml.sax.SAXException: No
deserializer defined for array type
{http://www.w3.org/2001/XMLSchema}ur-type
at
org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDeser
ializer.java:257)
at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.
java:394)
at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseria
lizationContextImpl.java:906)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:
200)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.j
ava:684)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)
at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.ja
va:190)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:276
)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.j
ava:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.j
ava:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at com.nika.axis.AxisActionFilter.doFilter(Unknown Source)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:201)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:234
4)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:164)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462
)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
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.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j
ava:1011)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:
1106)
at java.lang.Thread.run(Thread.java:484)
</ns2:stackTrace>