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 Erie Ed <Er...@prc.com> on 2002/04/03 20:32:23 UTC
Custom Serialization
I was wondering if anyone could help me with a deserialization problem.
The soap fault I recieve is the following:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode
xmlns:ns1="http://xml.apache.org/axis/">ns1:Server.userException</faultcode>
<faultstring>org.xml.sax.SAXException: Deserializing parameter
'arg1': could not find deserializer for type
urn:Customizer:QueryData</faultstring>
<detail>
<ns2:stackTrace
xmlns:ns2="http://xml.apache.org/axis/">org.xml.sax.SAXException:
Deserializing parameter 'arg1': could not find deserializer for
type urn:Customizer:QueryData
at org.apache.axis.message.RPCHandler.onStartChild(Unknown
Source)
at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Unknown
Source)
at org.apache.axis.message.SAX2EventRecorder.replay(Unknown
Source)
at org.apache.axis.message.MessageElement.publishToHandler(Unknown
Source)
at org.apache.axis.message.RPCElement.deserialize(Unknown
Source)
at org.apache.axis.message.RPCElement.getParams(Unknown Source)
at org.apache.axis.providers.java.RPCProvider.processMessage(Unknown
Source)
at org.apache.axis.providers.java.JavaProvider.invoke(Unknown
Source)
at org.apache.axis.strategies.InvocationStrategy.visit(Unknown
Source)
at org.apache.axis.SimpleChain.doVisiting(Unknown Source)
at org.apache.axis.SimpleChain.invoke(Unknown Source)
at org.apache.axis.server.AxisServer.invoke(Unknown Source)
at org.apache.axis.transport.http.AxisServlet.doPost(Unknown
Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
77)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)&
#xd;
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:201)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
77)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
75)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)&
#xd;
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)&#
xd;
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
77)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
75)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171
)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
75)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)&
#xd;
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
77)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)&#x
d;
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
75)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)&
#xd;
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1024)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1119
)
at java.lang.Thread.run(Thread.java:484)
</ns2:stackTrace>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Here is the soap message that is being sent to the server:
<SOAP-ENV:Envelope xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'>
<SOAP-ENV:Body>
<ns1:processCollection xmlns:ns1='CustomQuery'>
<arg1 href='#id0'/>
</ns1:processCollection>
<multiRef id='id0' SOAP-ENC:root='0' xsi:type='ns2:QueryData'
xmlns:ns2='urn:Customizer'>
<portal xsi:type='xsd:string'>Primary Airfields,
AOB</portal>
<maxResults xsi:type='xsd:int'>20</maxResults>
<countryCodes xsi:type='SOAP-ENC:Array'
SOAP-ENC:arrayType='xsd:string[1]'>
<item xsi:type='xsd:string'>AF</item>
</countryCodes>
</multiRef>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>"
The following is contained in the server-config.wsdd file:
<service name="CustomQuery" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="intel.Customizer"/>
<typeMapping qname="ns1:QueryData" xmlns:ns1="urn:Customizer"
languageSpecificType="java:intel.QueryData"
serializer="intel.serialize.QuerySerializer"
deserializer="intel.serialize.QueryDeSerializer"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</service>
If anything else is needed to debug please let me know.
Ed Erie
Northrup Gruman IT
Conshohocken,Pa 19428