[
http://issues.apache.org/jira/browse/AXIS2-917?page=comments#action_12427522 ]
Richard Gruet commented on AXIS2-917:
-------------------------------------
(sorry my last comment was sent before I was finished)
So the testcase fails because the Error[] array is empty while it should
contain the 2 errors.
I tried to track down the error in
SampleServiceMessageReceiverInOut.invokeBusinessLogic(). The generated code for
handling the throwMiFault message is :
param87 =
skel.throwMiFault((com.linedata.ws.tests.sampleservice.parts._1_0.ThrowMiFaultDocument)
fromOM(
msgContext.getEnvelope().getBody().getFirstElement(),
com.linedata.ws.tests.sampleservice.parts._1_0.ThrowMiFaultDocument.class,
getEnvelopeNamespaces(msgContext.getEnvelope())));
I found that:
- getFirstElement() evaluates to'<throwMiFault
xmlns="http://linedata.com/WS/tests/sampleService/parts/1.0" />' .
- OTOH, if I print miFault.toString() from the test client, I get:
<xml-fragment
xmlns:axis2ns1="http://linedata.com/WS/tests/sampleService/parts/1.0">
<axis2ns1:error>
<axis2ns1:errCode>CODE1</axis2ns1:errCode>
<axis2ns1:errMsg>Error #1 message text</axis2ns1:errMsg>
<axis2ns1:parameter>param#1</axis2ns1:parameter>
</axis2ns1:error>
<axis2ns1:error>
<axis2ns1:errCode>CODE2</axis2ns1:errCode>
<axis2ns1:errMsg>Error #2 message text</axis2ns1:errMsg>
</axis2ns1:error>
</xml-fragment>
...which sounds correct ! So the miFault object has a correct XML but
apparently not all XML info was translated to Java.
Richard
> User guide should give explanation and examples of fault handling
> -----------------------------------------------------------------
>
> Key: AXIS2-917
> URL: http://issues.apache.org/jira/browse/AXIS2-917
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Wish
> Components: samples, build,site & docs
> Affects Versions: 1.0
> Reporter: Derek Foster
> Assigned To: Eran Chinthaka
> Priority: Critical
> Attachments: sampleService-wsdl.rar
>
>
> The Axis2 user guide provides no examples of:
> 1) The WSDL to declare that a fault may be thrown from an operation
> (suitable for passing into WSDL2Java)
> 2) The server-side code for a fault exception, as generated by WSDL2Java
> and modified as a user might be expected to modify it.
> 3) The server-side code to throw the fault exception, including a tested
> example of passing on a custom error message to be transmitted as part of a
> SOAP fault (in the faultDetail) and received by the client.
> 4) The client-side code for receiving and handling a fault.
> Furthermore, what discussion of faults that there is seems fairly
> contradictory. For instance, there are various suggestions that throwing an
> AxisFault exception from a service is the way to issue a fault. However,
> WSDL2Java does not generate service methods that are declared to throw
> AxisFault, and there seems to be no way to declare such a fault in WSDL. (at
> least, none that I can find). Fault generation from a service that was not
> generated by WSDL2Java should be treated as a separate section, since it is
> handled in a totally different manner by server code. I think that both kinds
> of fault handling need to be documented clearly in the user guide.
> I have been trying for weeks to figure out how this is supposed to work, and
> still haven't gotten it to work quite right (my custom error message included
> in the thrown fault exception is getting lost somewhere before the SOAP fault
> is transmitted). This is a basic feature that should be documented clearly.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]