axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From J├╝rgen Kaatz <ka...@etracker.com>
Subject Deserializer problem with varying data types in data tables tansfered via SOAP
Date Thu, 16 Jul 2009 11:19:06 GMT
Hi,

I have a problem with the Axis serializer/deserilaizer. Perhaps this is an offtopic item,
but it would be very nice if someone can give any useful hints.

That's what I wanna to do:
I want to transfer statistical reports via SOAP. This several reports vary in the amount of
columns and - that's the problem - they vary in the column data types (eg report A, column
1 is a string; report B, column 1 is an integer; ...). 

That's what I have done:
First I declare the data type for the column values in the WSDL with 'anyType' and set the
'real' data type of the column at runtime to 'string', 'integer', 'float' or 'date'. This
works on several clients (JAX-WS, C#, PHP...) but not on Axis 1.4 (see error message below).

I want to know, if there is a better solution to declare and handle varying data types in
a data table transferred via SOAP. What I have to declare in the WSDL and what kind of type
I have to set at runtime?

Bye Juergen

Axis error message:
AxisFault
  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException [^]
  faultSubcode:
  faultString: org.xml.sax.SAXException: No deserializer for string
  faultActor:
  faultNode:
  faultDetail:
  {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: [^] No deserializer for
string
  at
org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:314)
  at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
  at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
  at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
  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)


Mime
View raw message