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