Exception deserialization problem

2008-10-14 Thread Henrik Hjalmarsson
We have a server application running in WebSphere 6.1 and a client using 
Axis 1.4. Both the server and client are Java applications running in 
Java 1.4.2.
The server and client side Java is generated from WSDL using axis and 
websphere ant target's wsdl2java.


The server throws custom checked exceptions and we try to catch these on 
the client side. The problem is that they appear only as AxisFault with 
the textual part as the fully qualified name of the server exception 
that was thrown. We are expecting the client exception that corresponds 
to the server exception.


The exception I'm currently investigating is an exception containing no 
extra data. I have used a network analyzer and found the web service 
data sent by WebSphere to the client, which shows how the exception is 
serialized for sending to the client. See data content for the message 
sent here:


soapenv:Envelope
xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/;
xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;
xmlns:xsd=http://www.w3.org/2001/XMLSchema;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
soapenv:Header/
soapenv:Body
 soapenv:Fault
   faultcode
   xmlns:p799=http://backend.product.company.com;
   p799:PassengerNotExistException
   /faultcode
   faultstring
 
![CDATA[com.company.product.webservice.backend.server.PassengerNotExistException]] 


   /faultstring
   detail encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
 fault href=#id0/
   /detail
 /soapenv:Fault
 multiRef id=id0 soapenc:root=0
 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
 xsi:type=p799:PassengerNotExistException
 xmlns:p799=http://backend.product.company.com/
/soapenv:Body
/soapenv:Envelope

It can be seen that the exception is serialized in some way but I do not 
know if the problem is that Axis cannot deserialize this format to the 
correct exception and therefore gives the AxisFault instead ?


Do anyone have the knowledge if the given message above should be 
possible for Axis to deserialize?

or if the problem is interoperability between WebSphere and Axis ?

I reckon the information on the exception issues in webservices are 
sparsely documented at best.


Here follows an excerpt of the WSDL specifications.

wsdl:types
 xsd:schema targetNamespace=http://backend.product.company.com;
 xsd:complexType name=PassengerNotExistException
   sequence /
 /xsd:complexType
/wsdl:types

wsdl:message name=PassengerNotExistException
 wsdl:part name=fault type=backend:PassengerNotExistException /
/wsdl:message

wsdl:portType name=BackendInterface
 wsdl:operation name=getClients
   wsdl:input message=... /
   wsdl:output message=... /
   wsdl:fault name=PassengerNotExistException 
message=backend:PassengerNotExistException /

 /wsdl:operation
/wsdl:portType

wsdl:binding name=BackendInterfaceSOAP type=backend:BackendInterface
 soap:binding style=rpc 
transport=http://schemas.xmlsoap.org/soap/http; /

 wsdl:operation name=getClients
   soap:operation 
soapAction=http://backend.product.company.com/getClients; /

   wsdl:input
 soap:body use=encoded
   encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
   namespace=http://backend.product.company.com; /
   /wsdl:input
   wsdl:output
 soap:body use=encoded
   encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
   namespace=http://backend.product.company.com; /
   /wsdl:output
   wsdl:fault name=PassengerNotExistException
 soap:fault name=PassengerNotExistException
   use=encoded
   
encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;

   namespace=http://backend.product.company.com; /
   /wsdl:fault
 /wsdl:operation
/wsdl:binding

Thankful for any help or insight on the problem!
Regards
Henrik


Exception deserialization problem? (WebSphere as server)

2008-10-08 Thread Henrik Hjalmarsson
We have an server application running in WebSphere 6.1 and a client 
using Axis 1.4. Both the server and client are Java applications running 
in Java 1.4.2.
The server and client side Java is generated from WSDL using axis and 
websphere ant target's wsdl2java.


The server throws custom checked exceptions and we try to catch these on 
the client side. The problem is that they appear only as AxisFault with 
the textual part as the fully qualified name of the server exception 
that was thrown. We are expecting the client exception that corresponds 
to the server exception.


The exception I'm currently investigating is an exception containing no 
extra data. I have used a network analyzer and found the web service 
data sent by WebSphere to the client, which shows how the exception is 
serialized for sending to the client. See data content for the message 
sent here:


soapenv:Envelope
xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/;
xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;
xmlns:xsd=http://www.w3.org/2001/XMLSchema;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
soapenv:Header/
soapenv:Body
 soapenv:Fault
   faultcode
   xmlns:p799=http://backend.product.company.com;
   p799:PassengerNotExistException
   /faultcode
   faultstring
 
![CDATA[com.company.product.webservice.backend.server.PassengerNotExistException]] 


   /faultstring
   detail encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
 fault href=#id0/
   /detail
 /soapenv:Fault
 multiRef id=id0 soapenc:root=0
 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
 xsi:type=p799:PassengerNotExistException
 xmlns:p799=http://backend.product.company.com/
/soapenv:Body
/soapenv:Envelope

It can be seen that the exception is serialized in some way but I do not 
know if the problem is that Axis cannot deserialize this format to the 
correct exception and therefore gives the AxisFault instead ?


Or do anyone have any idea on how we can solve this problem?

I reckon the information on the exception issues in webservices are 
sparsely documented at best.


Here follows an excerpt of the WSDL specifications.

wsdl:types
 xsd:schema targetNamespace=http://backend.product.company.com;
 xsd:complexType name=PassengerNotExistException
   sequence /
 /xsd:complexType
/wsdl:types

wsdl:message name=PassengerNotExistException
 wsdl:part name=fault type=backend:PassengerNotExistException /
/wsdl:message

wsdl:portType name=BackendInterface
 wsdl:operation name=getClients
   wsdl:input message=... /
   wsdl:output message=... /
   wsdl:fault name=PassengerNotExistException 
message=backend:PassengerNotExistException /

 /wsdl:operation
/wsdl:portType

wsdl:binding name=BackendInterfaceSOAP type=backend:BackendInterface
 soap:binding style=rpc 
transport=http://schemas.xmlsoap.org/soap/http; /

 wsdl:operation name=getClients
   soap:operation 
soapAction=http://backend.product.company.com/getClients; /

   wsdl:input
 soap:body use=encoded
   encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
   namespace=http://backend.product.company.com; /
   /wsdl:input
   wsdl:output
 soap:body use=encoded
   encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
   namespace=http://backend.product.company.com; /
   /wsdl:output
   wsdl:fault name=PassengerNotExistException
 soap:fault name=PassengerNotExistException
   use=encoded
   
encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;

   namespace=http://backend.product.company.com; /
   /wsdl:fault
 /wsdl:operation
/wsdl:binding

Regards,
Henrik
--

*Henrik Hjalmarsson*
System Developer

Precise Biometrics Solutions AB
Bryggaregatan 11
653 40 Karlstad
Sweden

Mobile   +46 730 39 10 35
Fax   +46 54 10 13 72

Email [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]
Visit our website www.precisebiometrics.com 
http://www.precisebiometrics.com


*Confidentiality notice*: /The information contained in this e-mail 
message, including any attachments, is for the sole use of the intended 
recipient(s) or entity to which it is addressed and may be privileged 
and confidential. Any unauthorized review, disclosure or distribution or 
other use of, or taking of any action in reliance upon this information 
by persons or entities other than the intended recipient is prohibited. 
If you are not the intended recipient, please contact the sender by 
reply e-mail and delete the original message and all copies from your 
computer./




Exception deserialization problem? (WebSphere as server)

2008-10-07 Thread Henrik Hjalmarsson

We have an server application running in WebSphere 6.1 and a client using
Axis 1.4. Both the server and client are Java applications running in Java
1.4.2.
The server and client side Java is generated from WSDL using axis and
websphere ant target's wsdl2java.

The server throws custom checked exceptions and we try to catch these on the
client side. The problem is that they appear only as AxisFault with the
textual part as the fully qualified name of the server exception that was
thrown. We are expecting the client exception that corresponds to the server
exception.

The exception I'm currently investigating is an exception containing no
extra data. I have used a network analyzer and found the web service data
sent by WebSphere to the client, which shows how the exception is serialized
for sending to the client. See data content for the message sent here:

soapenv:Envelope
xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/;
xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;
xmlns:xsd=http://www.w3.org/2001/XMLSchema;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
soapenv:Header/
soapenv:Body
  soapenv:Fault
faultcode
xmlns:p799=http://backend.product.company.com;
p799:PassengerNotExistException
/faultcode
faultstring
 
![CDATA[com.company.product.webservice.backend.server.PassengerNotExistException]]
/faultstring
detail encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
  fault href=#id0/
/detail
  /soapenv:Fault
  multiRef id=id0 soapenc:root=0
  soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
  xsi:type=p799:PassengerNotExistException
  xmlns:p799=http://backend.product.company.com/
/soapenv:Body
/soapenv:Envelope

It can be seen that the exception is serialized in some way but I do not
know if the problem is that Axis cannot deserialize this format to the
correct exception and therefore gives the AxisFault instead ?

Or do anyone have any idea on how we can solve this problem?

I reckon the information on the exception issues in webservices are sparsely
documented at best.

Here follows an excerpt of the WSDL specifications.

wsdl:types
  xsd:schema targetNamespace=http://backend.product.company.com;
  xsd:complexType name=PassengerNotExistException
sequence /
  /xsd:complexType
/wsdl:types

wsdl:message name=PassengerNotExistException
  wsdl:part name=fault type=backend:PassengerNotExistException /
/wsdl:message

wsdl:portType name=BackendInterface
  wsdl:operation name=getClients
wsdl:input message=... /
wsdl:output message=... /
wsdl:fault name=PassengerNotExistException
message=backend:PassengerNotExistException /
  /wsdl:operation
/wsdl:portType

wsdl:binding name=BackendInterfaceSOAP type=backend:BackendInterface
  soap:binding style=rpc transport=http://schemas.xmlsoap.org/soap/http;
/
  wsdl:operation name=getClients
soap:operation
soapAction=http://backend.product.company.com/getClients; /
wsdl:input
  soap:body use=encoded
encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
namespace=http://backend.product.company.com; /
/wsdl:input
wsdl:output
  soap:body use=encoded
encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
namespace=http://backend.product.company.com; /
/wsdl:output
wsdl:fault name=PassengerNotExistException
  soap:fault name=PassengerNotExistException
use=encoded

encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
namespace=http://backend.product.company.com; /
/wsdl:fault
  /wsdl:operation
/wsdl:binding

Regards,
Henrik
-- 
View this message in context: 
http://www.nabble.com/Exception-deserialization-problem--%28WebSphere-as-server%29-tp19852588p19852588.html
Sent from the Axis - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]