Hi,
I am using axis 1.2 and get the following error message.
org.xml.sax.SAXException: Deserializing parameter
'getCommonObjectReturn': could not find deserializer for type
{urn:com.chordiant.customer.businessClasses}Customer
I went to my wsdd file and added the required objects for serialization.
I used soap monitor and I see the response coming back, with full
returned object. Do I need to do something in the client ( i.e. set the
deserializer)to avoid this problem.
How do I avoid the error?
Regards
Sagar
-----Original Message-----
From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
Sent: Friday, September 03, 2004 7:19 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: TypeMapping when using RPC/literal on Axis 1.1
Axis 1.1 doesn't really support RPC/literal. Keep in mind, also, that
.NET
does not (and probably will never) support RPC/literal. I suggest you
use
wrapped document/literal instead.
You should also upgrade to Axis 1.2 if you want to use literal encoding.
- Anne
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Friday, September 03, 2004 3:38 AM
To: [EMAIL PROTECTED]
Subject: TypeMapping when using RPC/literal on Axis 1.1
Hi,
I am using Axis 1.1 in JBoss 3.2.3 and am trying to create a Webservice
using RPC/literal encoding. As I am using a complex object, I need a
custom
serializer, which I have already created. On my client which I created
using
AXIS as well, I register the typemapping with these serializers
programmatically, where they work like a charm. The SOAP they send out
looks
like intended.
On the Server I deployed the service using the following typemapping:
<service name="FrontendTest3" provider="java:EJB" style="RPC"
use="literal">
<parameter name="beanJndiName" value="ejb/FrontendTest3"/>
<parameter name="homeInterfaceName"
value="com.roche.mellibase3.interfaces3.FrontendTest3Home"/>
<parameter name="remoteInterfaceName"
value="com.roche.mellibase3.interfaces3.FrontendTest3"/>
<parameter name="allowedMethods"
value="doSimulate, resendSimulation, deleteMellibaseId"/>
<parameter name="jndiURL" value="jnp://localhost:1099"/>
<parameter name="jndiContextClass"
value="org.jnp.interfaces.NamingContextFactory"/>
<typeMapping
xmlns:myNS="http://application.mellibase.de/MellibaseMessageTypes.xsd"
qname="myNS:mb-request"
type="java:com.roche.mellibase3.jaxb.webservice.MbRequest"
serializer="com.roche.mellibase3.jaxbserialization.GeneralJaxBSerializer
Fac
tory"
deserializer="com.roche.mellibase3.jaxbserialization.GeneralJaxBDeserial
ize
rFactory"
encodingStlye=""
/>
<typeMapping
xmlns:myNS="http://application.mellibase.de/MellibaseMessageTypes.xsd"
qname="myNS:mb-result"
type="java:com.roche.mellibase3.jaxb.webservice.MbResult"
serializer="com.roche.mellibase3.jaxbserialization.GeneralJaxBSerializ
erFactory"
deserializer="com.roche.mellibase3.jaxbserialization.GeneralJaxBDeseri
alizerFactory"
encodingStlye=""
/>
</service>
However, there Axis only instantiates the Serializer Factories, but
never
retrieves a serializer, which leads me to the conclusion that these are
not
registered for the encoding used so that AXIS does not even try to use
them.
Additionally I get the Exception:
org.xml.sax.SAXException: SimpleDeserializer encountered a child
element,
which is NOT expected, in something it was trying to deserialize.
which again looks to me like Axis is not using my serializers.
However I was unable to find out how to register the serializers for
RPC/literal.
If anyone could give me a pointer to the solution of my problem I would
be
very grateful.
Cheers Robert Mitschke