You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Davanum Srinivas (JIRA)" <ji...@apache.org> on 2008/02/26 22:44:51 UTC

[jira] Updated: (AXIS2-3239) Custom fault handling issue in code-first approach

     [ https://issues.apache.org/jira/browse/AXIS2-3239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Davanum Srinivas updated AXIS2-3239:
------------------------------------

    Priority: Critical  (was: Blocker)

> Custom fault handling issue in code-first approach
> --------------------------------------------------
>
>                 Key: AXIS2-3239
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3239
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.3
>         Environment: winxp, jdk15, 
>            Reporter: Charitha Kankanamge
>            Assignee: Deepal Jayasinghe
>            Priority: Critical
>         Attachments: AxisFaultservice.aar, Faultclient.java, userTest-test-client.jar
>
>
> This issue has been identified and discussed by Jay Zawar in the following mailing threads. 
> http://marc.info/?l=axis-user&m=119132155713767&w=2
> http://marc.info/?l=axis-user&m=119131613622185&w=2
> There seems to be an issue with custom fault handling when code-first approach is used. Axis2 Faulthandling sample works fine since it is used contract-first method.  
> Steps to reproduce:
> ===============
> 1. Write the service implementation class which returns a customexception
> public class AService {
> public long Add(int a, int b, int exceptionThrown) throws CustomException {
> 		
> 		if (exceptionThrown != 0) {
> 			System.out.println("CustomException to b instantiated");	
> 			
> 			CustomException e = new CustomException();
> 			e.setCustomMsg("bar");
> 			throw e;
> 		}
> 		
> 		
> 		return a+b;}
> }
> 2. Write CustomeException class 
> public class CustomException extends java.lang.Exception implements Serializable{
> 	private static final long serialVersionUID = 1542353156105984960L;
> 	private String customMsg = "This is my error";
> 	public String getCustomMsg() {return customMsg;}
> 	public void setCustomMsg(String customMsg) {this.customMsg= "custom : " +customMsg;}
> }
> 3. Bundle the service archive correctly and deploy it.
> 4. Generate ADB client code
> 5. Write a client 
> public class Faultclient {
> 	
> 	public static void main(String[] args) {
> 		try {
> 			UserTestStub stub;
> 			stub = new UserTestStub("http://localhost:9764/services/userTest");
> 			UserTestStub.Add req = new UserTestStub.Add();
> 			req.setA(4);
> 			req.setB(5);
> 			req.setExceptionThrown(2);
> 			UserTestStub.AddResponse res;
> 			res = stub.Add(req);
> 			System.out.println(res.get_return());
> 		} catch (AxisFault e1) {
> 			e1.printStackTrace();
> 			e1.getCause();
> 		} catch (CustomExceptionException0 e) {
> 			System.out.println("Error!!!!");
> 		} catch (RemoteException e) {
> 			e.printStackTrace();
> 		}
> 	}
> 6. I'm always getting 'org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method Add' error at the client side, though I expected customexception specified in the service.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org