Hi!
I have this class, that exposes a single method that returns a string.
It doesn't do anything fancy but log the parameters received and
return "0" (it's a mock service for development of apps that will
connect to a webservice with the same interface that does do fancy
things ;))
The problem is, the service fails with a SAXException if I deploy it
using server-config.wsdd, but works fine when deployed as a .jws file.
The only difference I could see was that the wsdd-deployed version
exposed wsdl that used soapenc:string for the parameters (parameters
are just Strings and a byte[] that is currently sent null) and the jws
one uses xsd:string. (using <parameter name="dotNetSoapEncFix"
value="true"/> on the wsdd file changed the wsdl to xsd:string but the
error is the same).
Thanks in advance for any light shed on this subject ;)
Method signature, server stack trace, clien stack trace and soapbody
sent to the service follow:
######### METHOD SIGNATURE ########################################
public String send(String destination_address, String customer_id,
String service_id, String climsg_id, String deliv_ack,
String password, String service_class, String call_back,
String call_back_type, String validity_period,
String source_address, String sm_class, String data_coding,
String text_data, byte[] bin_data, String code, String description)
###### SERVER SIDE STACK TRACE ##################################
2005-06-17 11:38:34,693 DEBUG
org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(toAxisFault00)
2005-06-17 11:38:34,693 DEBUG org.apache.axis.enterprise - Mapping
Exception to AxisFault
org.xml.sax.SAXException: Found character data inside an array element
while deserializing
at
org.apache.axis.encoding.ser.ArrayDeserializer.characters(ArrayDeserializer.java:502)
at
org.apache.axis.encoding.DeserializationContext.characters(DeserializationContext.java:966)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:177)
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.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:534)
2005-06-17 11:38:34,695 DEBUG org.apache.axis.SOAPPart - Enter:
SOAPPart ctor(FORM_FAULT)
2005-06-17 11:38:34,695 DEBUG
org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(setMsgForm)
2005-06-17 11:38:34,696 DEBUG org.apache.axis.SOAPPart - Setting
current message form to: FORM_FAULT (currentMessage is now
org.apache.axis.AxisFault)
2005-06-17 11:38:34,696 DEBUG org.apache.axis.SOAPPart - Exit: SOAPPart ctor()
2005-06-17 11:38:34,696 DEBUG org.apache.axis.SimpleChain - Enter:
SimpleChain::onFault
2005-06-17 11:38:34,696 DEBUG org.apache.axis.SimpleChain - Exit:
SimpleChain::onFault
2005-06-17 11:38:34,696 DEBUG
org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(axisFault00)
2005-06-17 11:38:34,696 DEBUG org.apache.axis.EXCEPTIONS - AxisFault:
2005-06-17 11:38:34,696 DEBUG org.apache.axis.utils.NSStack - NSPush (32)
2005-06-17 11:38:34,697 DEBUG
org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(empty00)
2005-06-17 11:38:34,697 DEBUG org.apache.axis.utils.NSStack - NSPop (empty)
2005-06-17 11:38:34,697 DEBUG org.apache.axis.utils.NSStack - NSPush (32)
2005-06-17 11:38:34,697 DEBUG
org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(empty00)
2005-06-17 11:38:34,697 DEBUG org.apache.axis.utils.NSStack - NSPop (empty)
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Found character data inside an
array element while deserializing
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException:
Found character data inside an array element while deserializing
at
org.apache.axis.encoding.ser.ArrayDeserializer.characters(ArrayDeserializer.java:502)
at
org.apache.axis.encoding.DeserializationContext.characters(DeserializationContext.java:966)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:177)
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.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:534)
{http://xml.apache.org/axis/}hostname:desarrollo
org.xml.sax.SAXException: Found character data inside an array element
while deserializing
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:330)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.xml.sax.SAXException: Found character data inside an
array element while deserializing
at
org.apache.axis.encoding.ser.ArrayDeserializer.characters(ArrayDeserializer.java:502)
at
org.apache.axis.encoding.DeserializationContext.characters(DeserializationContext.java:966)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:177)
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.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
... 33 more
2005-06-17 11:38:34,698 DEBUG
org.apache.axis.transport.http.AxisServlet - Returned
Content-Type:text/xml; charset=utf-8
2005-06-17 11:38:34,698 DEBUG
org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(addBody00)
############ CLIENT SIDE STACK TRACE
##################################################################
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userExce0ption
faultSubcode:
faultString: org.xml.sax.SAXException: Found character data inside an
array element while deserializing
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:desarrollo
org.xml.sax.SAXException: Found character data inside an array element
while deserializing
at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.content(Unknown Source)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.content(Unknown Source)
at org.apache.crimson.parser.Parser2.maybeElement(Unknown Source)
at org.apache.crimson.parser.Parser2.parseInternal(Unknown Source)
at org.apache.crimson.parser.Parser2.parse(Unknown Source)
at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at
org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:784)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:143)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
at org.apache.axis.client.Call.invoke(Call.java:2748)
at org.apache.axis.client.Call.invoke(Call.java:2424)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
############# SOAP BODY RECEIVED #######################################
<ns1:send soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://soapinterop.org"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><destination_address
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">93378596</destination_address><customer_id
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</customer_id><service_id
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">100860178</service_id><climsg_id
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1</climsg_id><deliv_ack
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">0</deliv_ack><password
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ati13channel05</password><service_class
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><call_back
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><call_back_type
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">0</call_back_type><sched_delivery
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><validity_period
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><source_address
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1912</source_address><sm_class
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">0</sm_class><data_coding
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">0</data_coding><text_data
xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Soy un
test!</text_data><bin_data xsi:type="xsd:base64Binary" xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/></ns1:send>