File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Web Services and the fly likes Exception handling! Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "Exception handling!" Watch "Exception handling!" New topic
Author

Exception handling!

carlos sanchez
Ranch Hand

Joined: Jan 29, 2003
Posts: 45
Hi, I'm learning web services the hard way (big project Vs no time) and I'm drowning to find nfo on internet about handling exceptions in a web-service.
What I've figured out is that exceptions thrown by a web-service are wrapped up by a remote exception (correct me please if I'm wrong) somewhere in a handler and send back as a fault code in a soap message.
Do I have to write a handler to use my personal fault codes.
can somebody post an example please?


Don't ever let your computer know you're in a hurry! :nono:
Balaji Loganathan
author and deputy
Bartender

Joined: Jul 13, 2001
Posts: 3150
Are you Apache Axis ?
if so there is example on how to handle such fault exception,shown here, is this what u r looking for ?
To learn quickly, try to run all the examples in apache axis package, then u will get an overall idea what u can-cant do with webservices in general.


Spritle Software Blogs
carlos sanchez
Ranch Hand

Joined: Jan 29, 2003
Posts: 45
Hi, I'm trying to understand the examples, and I've generated 2 dummy classes:
***************************************************************
package faults.impl;
public class Dummy
{
public String sayHello(String hello) throws DummyFault
{
if (hello.equals("hello!")) return "hi there!";
else
{
DummyFault fault = new DummyFault();
fault.setInfo("bad maners!");
throw fault;
}
}
}
***********************************************************************
package faults.impl;
import java.rmi.RemoteException;
public class DummyFault extends RemoteException implements java.io.Serializable
{
private java.lang.String info;
public DummyFault() {
}
public DummyFault(
java.lang.String info) {
this.info = info;
}
public java.lang.String getInfo() {
return info;
}
public void setInfo(java.lang.String info) {
this.info = info;
}
}
********************************************************************
As you can see it's the same as the example, but when trying to buid the wsdl (C:\eclipse2.1\eclipse\workspace\Compile>java org.apache.axis.wsdl.Java2WSDL -o dummy.wsdl -l"http://localhost:8080/axis/services/Dummy" -n"urn ummy" -p"urn ummy" "faults" faults.impl.Dummy) I get an :
- The class java.lang.Throwable is defined in a java or javax package and cannot be converted into an xml schema type. An xml schema anyType will be used to define this class in the wsdl file.

Do I have to buid manually my wsdl & wsdd files? (Supose superduper developers with a lot of time do it the hard way!)
carlos sanchez
Ranch Hand

Joined: Jan 29, 2003
Posts: 45
If I change RemoteException for Exception when I implement my exception class It works, why?
Balaji Loganathan
author and deputy
Bartender

Joined: Jul 13, 2001
Posts: 3150
Originally posted by carlos i sanchez:
As you can see it's the same as the example, but when trying to buid the wsdl (C:\eclipse2.1\eclipse\workspace\Compile>java org.apache.axis.wsdl.Java2WSDL -o dummy.wsdl -l"http://localhost:8080/axis/services/Dummy" -n"urn ummy" -p"urn ummy" "faults" faults.impl.Dummy) I get an :

Don't know why, but did you tried to deploy the service using Adminclient-WSDD file and see the output WSDL using in Axis administration page and error message in servlet log??
carlos sanchez
Ranch Hand

Joined: Jan 29, 2003
Posts: 45
yup! I've followed on and used WSDL2Java, I had to correct some errors on the generated Exception Class (an object casted to a throwable), but axis crashes when I try to load it!
Thanks anyway!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Exception handling!
 
Similar Threads
Conversion of service specific exceptions to Runtime exceptions in WS.
how to handle exception propagation in webservice client?
RunTime Exception
Exception Handling Best Practice
How to extract the exception that caused a SOAP fault