SimpleDeserializer encountered a child element, which is NOT
ortegamarcdaniel Oct 13, 2005 5:31 PMHi ,
I've have wrote and deployed a web service in JBOSS 4.0.2 under freeBSD (java 1.4.2_p5). Everything works fine with a basic SOAP console sending raw XML request. The service runs fast and sends matching responses.
But when trying to access the service via a servlet container for demo purpose the following message is raised :
exception
javax.servlet.ServletException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.; nested exception is:
 org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
 com.coordialis.business.service.web.servlets.impl.SDemoServlet.perform(SDemoServlet.java:79)
 com.coordialis.business.service.web.servlets.impl.SDemoServlet.doPost(SDemoServlet.java:47)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
 root cause
 org.jboss.axis.AxisFault: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
 org.jboss.axis.AxisFault.makeFault(AxisFault.java:99)
 org.jboss.axis.client.Call.invoke(Call.java:2667)
 org.jboss.axis.client.Call.invoke(Call.java:2538)
 org.jboss.axis.client.Call.invokeInternal(Call.java:1976)
 org.jboss.axis.client.Call.invoke(Call.java:1914)
 org.jboss.webservice.client.CallImpl.invoke(CallImpl.java:265)
 org.jboss.axis.client.Call.invoke(Call.java:1871)
 com.coordialis.business.service.web.servlets.impl.SDemoServlet.perform(SDemoServlet.java:76)
 com.coordialis.business.service.web.servlets.impl.SDemoServlet.doPost(SDemoServlet.java:47)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
The invoking client code is :
 Context objCtx = this.__createContext(this.getJNDIProps());
 QueryViadilisService service = (QueryViadilisService) objCtx.lookup("comp/env/service/QueryViadilisService");
 QName portName = new QName("http://www.coordialis.com/ws/wsdl/viadilis", "queryViadilisPort");
 QName operationName = new QName("http://www.coordialis.com/ws/wsdl/viadilis", "getViadilisEntities");
 Call call = service.createCall(portName, operationName);
 request.setAttribute("entities", call.invoke(operationName, new Object[]{objQuery}));
Activated traces on the server clearly show that the message is sent and nicely processed by the web service. But the deserialization fails on jax-rpc client side in the servlet container. The container is the same for the demo servlet and the web services. Does anyone has an idea ? This is the very last point of our development to show the efficiency of our service and we are blocked on arrival close to the release date.
 
    