Exception deserialization problem
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)
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)
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]