Hi,
I have hard time trying to make my JAX-RPC webservice endpoint integrate to Axis.
I have a Webservice Service Endpoint Interface, its implementation class and a WSDL.
The WSDL declares a SOAP fault.
If i use the skeleton generated by Axis and throw my custom exception from it,
the custom exception appears in the details element of the <soapenv:Fault> element.
If I use my own JAX-RPC implementation and throw my custom exception from it I get:
org.xml.sax.SAXException: SimpleDeserializer encountered a child
element, which is NOT expected, in something it was trying to
deserialize.
Actually in my JAX-RPC class, I use the exception class generated by Axis WSDL2Java which extends org.apache.axis.AxisFault.
and i suppose that it has to be declared in the server-config.wsdd.
I have noticed that the Axis BindingSkeleton declares the exception in a static block.
_fault = new org.apache.axis.description.FaultDesc();
_fault.setName("InsuranceFault");
_fault.setQName(new javax.xml.namespace.QName("http://", "InsuranceDetails"));
_fault.setClassName("com.fis.infra.ws.InsuranceFault");
_fault.setXmlType(new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema",
"string"));
_oper.addFault(_fault);
Is it possible to use an Axis exception from a standard JAX-RPC implementation class ?
I am really reluctant to use the skeletons generated by Axis and put my code in them
and would prefer to stick to standard JAX-RPC implementations.
I guess it would be better to use also a true JAX-RPC exception also but I haven't found
out how to do it. Would someone have an example of a standard JAX-RPC Web service which
throws a custom exception with Apache Axis ?
Thanks,
bengali