[ 
https://issues.apache.org/jira/browse/AXIS2-5174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13149795#comment-13149795
 ] 

Amila Chinthaka Suriarachchi commented on AXIS2-5174:
-----------------------------------------------------

the main idea here is that the response should match with the generated wsdl. 
if the wsdl shows a fault element with the above xml message element then POJO 
should serialize as it is.

For this case I think better to eliminate the unnecessary parts other than 
shown in wsdl from the message. 
                
>  Getting client side adb exception when receiving a message from a POJO 
> service where the service return Java exception.     
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-5174
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5174
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb, codegen
>    Affects Versions: 1.6.1, nightly
>            Reporter: Sagara Gunathunga 
>            Priority: Critical
>             Fix For: 1.7.0
>
>
> Deploy following POJO method in 1.7.0 SNAPSHOT version
> public String echo(String testStr) throws IllegalArgumentException {
>        
>         throw new IllegalArgumentException(
>                 "Exception thrown from echo for the input " + testStr);     
>     }
> In Axis2 1.5.x and 1.6.0 invoking above method return following message and 
> get excepted exception in client side.
> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";>
>       <soapenv:Body>
>          <soapenv:Fault>
>             <soapenv:Code>
>                <soapenv:Value>soapenv:Receiver</soapenv:Value>
>             </soapenv:Code>
>             <soapenv:Reason>
>                <soapenv:Text xml:lang="en-US">Exception thrown from echo for 
> the input Ok</soapenv:Text>
>             </soapenv:Reason>
>             <soapenv:Detail />
>          </soapenv:Fault>
>       </soapenv:Body>
>    </soapenv:Envelope>
> Exception in thread "main" org.apache.axis2.AxisFault: Exception thrown from 
> echo for the input Ok
>     at 
> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
>     at 
> org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
>     at 
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
>     at 
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
>     at 
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
>     at sample.SimpleServiceStub.echo(SimpleServiceStub.java:191)
>     at sample.Run.main(Run.java:489)
> In Axis2 1.6.1 and 1.7.0- SNAPSHOT invoking same method return different 
> response message as follows and return a ADB exception instead of expected 
> exception.
> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";>
>       <soapenv:Body>
>          <soapenv:Fault>
>             <soapenv:Code>
>                <soapenv:Value>soapenv:Receiver</soapenv:Value>
>             </soapenv:Code>
>             <soapenv:Reason>
>                <soapenv:Text xml:lang="en-US">Exception thrown from echo for 
> the input Ok</soapenv:Text>
>             </soapenv:Reason>
>             <soapenv:Detail>
>                <ns:SimpleServiceIllegalArgumentException 
> xmlns:ns="http://sample";>
>                   <IllegalArgumentException xmlns="http://sample"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:type="axis2ns3:anyType" />
>                </ns:SimpleServiceIllegalArgumentException>
>             </soapenv:Detail>
>          </soapenv:Fault>
>       </soapenv:Body>
> Exception in thread "main" org.apache.axis2.AxisFault: 
> org.apache.axis2.databinding.ADBException: Can not invoke the getTypeObject 
> method in the extension mapper class
>     at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>     at sample.SimpleServiceStub.fromOM(SimpleServiceStub.java:1896)
>     at sample.SimpleServiceStub.echo(SimpleServiceStub.java:220)
>     at sample.Run.main(Run.java:489)
> Caused by: java.lang.Exception: org.apache.axis2.databinding.ADBException: 
> Can not invoke the getTypeObject method in the extension mapper class
>     at 
> sample.SimpleServiceStub$SimpleServiceIllegalArgumentException$Factory.parse(SimpleServiceStub.java:1781)
>     at sample.SimpleServiceStub.fromOM(SimpleServiceStub.java:1890)
>     ... 2 more
> Caused by: org.apache.axis2.databinding.ADBException: Can not invoke the 
> getTypeObject method in the extension mapper class
>     at 
> org.apache.axis2.databinding.utils.ConverterUtil.getAnyTypeObject(ConverterUtil.java:1659)
>     at 
> sample.SimpleServiceStub$SimpleServiceIllegalArgumentException$Factory.parse(SimpleServiceStub.java:1759)
>     ... 3 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to