axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Morten Olsen" <...@unwire.dk>
Subject Howto not mess up response when using Call.setHandler
Date Wed, 30 Mar 2005 07:56:31 GMT
Hi all,

 

I'm trying to implement authentication in my web service. I've changed my
client to include security information in the message by following an
example from http://axis-wsse.sourceforge.net/. Essentially, the client sets
up a handler on the call which appends the security information. I haven't
changed the server side of things yet, as I wanted to see the client work
first.

 

When I run my client without setting up the handler everything is fine - and
it gets a result back from the server that it can deserialize and write out.


 

When I setup the handler, I can see (with tcpmon) that the security
information is added in the client's message and that the server (ignores it
and) returns a message like in the above case. Unfortunately I'm getting the
below exception when the client gets back the message from the server.

 

I'm suspecting that setting up the handler for the request message somehow
messes up the handling of the response. The handler is setup with
Call.setHandler(request, response) which takes both a handler for the
request and the response. A just set the response handler to null - as this
is done in the example I've copied. Does anyone know if this is the correct
way, to set up the handler?

 

Best,

Morten

 

 

- Exception:

org.xml.sax.SAXException: Deserializing parameter 'newProfileReturn':  could
not find deserializer for type
{http://encoding.ws.io.udps.unwire.dk}SerializableProfile

      at
org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:302)

      at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa
tionContextImpl.java:963)

      at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198)

      at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:
722)

      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:233)

      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:347)

      at org.apache.axis.client.Call.invoke(Call.java:2272)

      at org.apache.axis.client.Call.invoke(Call.java:2171)

      at org.apache.axis.client.Call.invoke(Call.java:1691)

      at
dk.unwire.udps.io.ws.client.ProfileSoapBindingStub.newProfile(ProfileSoapBin
dingStub.java:182)

      at
dk.unwire.udps.io.ws.client.WSClientProfileFactory.newProfile(WSClientProfil
eFactory.java:198)

      at WSTest.main(WSTest.java:38)

- There was an error invoking the web service

AxisFault

 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException

 faultSubcode: 

 faultString: org.xml.sax.SAXException: Deserializing parameter
&apos;newProfileReturn&apos;:  could not find deserializer for type
{http://encoding.ws.io.udps.unwire.dk}SerializableProfile

 faultActor: 

 faultNode: 

 faultDetail: 

      {http://xml.apache.org/axis/}stackTrace: org.xml.sax.SAXException:
Deserializing parameter 'newProfileReturn':  could not find deserializer for
type {http://encoding.ws.io.udps.unwire.dk}SerializableProfile

      at
org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:302)

      at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa
tionContextImpl.java:963)

      at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198)

      at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:
722)

      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:233)

      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:347)

      at org.apache.axis.client.Call.invoke(Call.java:2272)

      at org.apache.axis.client.Call.invoke(Call.java:2171)

      at org.apache.axis.client.Call.invoke(Call.java:1691)

      at
dk.unwire.udps.io.ws.client.ProfileSoapBindingStub.newProfile(ProfileSoapBin
dingStub.java:182)

      at
dk.unwire.udps.io.ws.client.WSClientProfileFactory.newProfile(WSClientProfil
eFactory.java:198)

      at WSTest.main(WSTest.java:38)

 

 

org.xml.sax.SAXException: Deserializing parameter 'newProfileReturn':  could
not find deserializer for type
{http://encoding.ws.io.udps.unwire.dk}SerializableProfile

      at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)

      at org.apache.axis.client.Call.invoke(Call.java:2275)

      at org.apache.axis.client.Call.invoke(Call.java:2171)

      at org.apache.axis.client.Call.invoke(Call.java:1691)

      at
dk.unwire.udps.io.ws.client.ProfileSoapBindingStub.newProfile(ProfileSoapBin
dingStub.java:182)

      at
dk.unwire.udps.io.ws.client.WSClientProfileFactory.newProfile(WSClientProfil
eFactory.java:198)

      at WSTest.main(WSTest.java:38)

Caused by: org.xml.sax.SAXException: Deserializing parameter
'newProfileReturn':  could not find deserializer for type
{http://encoding.ws.io.udps.unwire.dk}SerializableProfile

      at
org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:302)

      at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa
tionContextImpl.java:963)

      at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198)

      at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:
722)

      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:233)

      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:347)

      at org.apache.axis.client.Call.invoke(Call.java:2272)

      ... 5 more


Mime
View raw message