Hi Jens,

I've replied to the issue as well. Please make sure to use the 1.1 branch,
the trunk is under development and is not as stable.

Thanks,
Matthieu

On 10/10/07, Jens Goldhammer <[EMAIL PROTECTED]> wrote:
>
>
> I have reopened the fixed issue in JIRA. All details under
>
> https://issues.apache.org/jira/browse/ODE-194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
> JIRA
>
>
>
> Alex Boisvert wrote:
> >
> > Excellent, I've also created a similar test case... I'm not sure if they
> > trigger the same bug yet but I'll be looking at both of them next week.
> >
> > thanks!!
> > alex
> >
> >
> > On 10/5/07, Jens Goldhammer <[EMAIL PROTECTED]> wrote:
> >>
> >>
> >> Ok, I have opened an issue
> >> (https://issues.apache.org/jira/browse/ODE-194)
> >> and included a minimal runnable example for showing the error.
> >>
> >>
> >> Jens Goldhammer wrote:
> >> >
> >> > Ok, I have made further analysis. I tested the service with a
> generated
> >> > axis2-client and I see that I am getting back the fault correctly,
> i.e.
> >> I
> >> > can access the self-defined faultcode, faultActor and so on.
> >> >
> >> > My wsdl definition for this wsdl fault contains following:
> >> >
> >> >     <xsd:element name="faultCode" type="xsd:string">
> >> >         <xsd:annotation>
> >> >             <xsd:documentation>
> >> >                               faultCode consists of a five letter
> >> identifier plus a
> >> >                               three digit id (serial number). For
> >> example, "GENEX001"
> >> >                               is a generic error and "AUTEX001" is a
> >> authenification
> >> >                               error
> >> >                       </xsd:documentation>
> >> >         </xsd:annotation>
> >> >     </xsd:element>
> >> >     <xsd:element name="faultString" type="xsd:string">
> >> >         <xsd:annotation>
> >> >             <xsd:documentation>
> >> >                               corresponding description of the
> >> faultCode
> >> >                       </xsd:documentation>
> >> >         </xsd:annotation>
> >> >     </xsd:element>
> >> >     <xsd:element name="faultActor" type="xsd:string">
> >> >         <xsd:annotation>
> >> >             <xsd:documentation>
> >> >                               element displays url of the webservice
> >> where the
> >> >                               exception occured
> >> >                       </xsd:documentation>
> >> >         </xsd:annotation>
> >> >     </xsd:element>
> >> >     <xsd:element name="faultDetail" type="xsd:string">
> >> >         <xsd:annotation>
> >> >             <xsd:documentation>
> >> >                               element pictures the actual exception
> >> message and
> >> >                               complete stack trace.
> >> >                       </xsd:documentation>
> >> >         </xsd:annotation>
> >> >     </xsd:element>
> >> >
> >> >
> >> >     <xsd:element name="LogFault">
> >> >         <xsd:annotation>
> >> >             <xsd:documentation>
> >> >                               fault element for handling errors
> during
> >> the logservice
> >> >                       </xsd:documentation>
> >> >         </xsd:annotation>
> >> >         <xsd:complexType>
> >> >             <xsd:sequence>
> >> >                 <xsd:element ref="types:faultCode"/>
> >> >                 <xsd:element ref="types:faultString"/>
> >> >                 <xsd:element ref="types:faultActor"/>
> >> >                 <xsd:element ref="types:faultDetail"/>
> >> >             </xsd:sequence>
> >> >         </xsd:complexType>
> >> >     </xsd:element>
> >> >
> >> >
> >> > I send a response and I am getting back following response:
> >> >
> >> > <soapenv:Envelope
> >> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
> >> >    <soapenv:Body>
> >> >       <soapenv:Fault>
> >> >          <faultcode>soapenv:Server</faultcode>
> >> >          <faultstring>LogFaultException</faultstring>
> >> >          <detail>
> >> >             <ns2:LogFault
> >> > xmlns:ns2="http://cis.log.interface.de.ibm.com/types";>
> >> >                <s547:faultCode
> >> >
> >> xmlns:s547="http://cis.de.ibm.com/simpleTypes
> ">LOGEX002</s547:faultCode>
> >> >                <s548:faultString
> >> > xmlns:s548="http://cis.de.ibm.com/simpleTypes";>Database for
> LogService
> >> not
> >> > available.</s548:faultString>
> >> >                <s549:faultActor
> >> > xmlns:s549="http://cis.de.ibm.com/simpleTypes
> ">logRun</s549:faultActor>
> >> >                <s550:faultDetail
> >> > xmlns:s550="http://cis.de.ibm.com/simpleTypes";>no
> >> > stacktrace.</s550:faultDetail>
> >> >             </ns2:LogFault>
> >> >          </detail>
> >> >       </soapenv:Fault>
> >> >    </soapenv:Body>
> >> > </soapenv:Envelope>
> >> >
> >> > I have tested it with an autogenerated axis-client and a
> >> junit-testmethod.
> >> > If the logfaultexception is thrown by the service, I can output the
> >> > faultActor, faultString, detail and code in the catch-block.
> >> >
> >> >       /**
> >> >        * Auto generated test method
> >> >        */
> >> >       public void testlogRun() {
> >> >
> >> >               LogRunResponseVO logRun = null;
> >> >               try {
> >> >                       com.ibm.de.cis.log.client.CisLogServiceStubstub
> >> =
> >> new
> >> > com.ibm.de.cis.log.client.CisLogServiceStub(
> >> >                                       endpoint);
> >> >
> >> com.ibm.de.cis.log.client.CisLogServiceStub.LogRunRequestVO
> >> > logRunRequestVO18 =
> >> > (com.ibm.de.cis.log.client.CisLogServiceStub.LogRunRequestVO)
> >> > getTestObject(
> >> com.ibm.de.cis.log.client.CisLogServiceStub.LogRunRequestVO.class);
> >> >                       logRunRequestVO18.setEmptyparam(
> >> >                       logRun = stub.logRun(logRunRequestVO18);
> >> >               } catch (AxisFault e) {
> >> >                       e.printStackTrace();
> >> >               } catch (RemoteException e) {
> >> >                       e.printStackTrace();
> >> >               } catch (LogFaultException e) {
> >> >                       LogFault fault = e.getFaultMessage();
> >> >                       System.out.println("Actor: " +
> >> fault.getFaultActor
> >> ());
> >> >                       System.out.println("Code:" + fault.getFaultCode
> >> ());
> >> >                       System.out.println("Detail:" +
> >> fault.getFaultDetail());
> >> >                       System.out.println("FaultString:" +
> >> fault.getFaultString());
> >> >                       e.printStackTrace();
> >> >               } catch (Exception e) {
> >> >                       e.printStackTrace();
> >> >               }
> >> >               System.out.println(logRun.getRunId());
> >> >
> >> >       }
> >> >
> >> > Question is why Ode cannot access these information? Following
> >> stacktrace
> >> > is available in Ode.
> >> >
> >> > <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
> >> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
> >> "><soapenv:Header><addr:To
> >> > xmlns:addr="http://www.w3.org/2005/08/addressing";>
> >> http://localhost:8180/cisLogWeb/services/cisLogService
> >> </addr:To><addr:Action
> >> > xmlns:addr="http://www.w3.org/2005/08/addressing";>
> >> http://cis.log.interface.de.ibm.com/service/logRun
> >> </addr:Action><addr:ReplyTo
> >> > xmlns:addr="http://www.w3.org/2005/08/addressing";><addr:Address>
> >> http://www.w3.org/2005/08/addressing/anonymous
> >> </addr:Address></addr:ReplyTo><addr:MessageID
> >> > xmlns:addr="http://www.w3.org/2005/08/addressing
> >>
> ">uuid:hqejbhcnphr2n1qwgjen65</addr:MessageID></soapenv:Header><soapenv:Body><axis2ns2:LogRunRequestVO
> >> > xmlns:axis2ns2="http://cis.log.interface.de.ibm.com/types";
> >> > xmlns:types="http://cis.log.interface.de.ibm.com/types";>
> >> >                                     <xsd:emptyparam
> >> > xmlns:xsd="http://cis.de.ibm.com/simpleTypes";>true</xsd:emptyparam>
> >> >
> >> > </axis2ns2:LogRunRequestVO></soapenv:Body></soapenv:Envelope>
> >> > 10:48:58,462 DEBUG [SessionOutHandler] <?xml version='1.0'
> >> > encoding='utf-8'?><soapenv:Envelope
> >> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
> >> "><soapenv:Header><addr:To
> >> > xmlns:addr="http://www.w3.org/2005/08/addressing";>
> >> http://localhost:8180/cisLogWeb/services/cisLogService
> >> </addr:To><addr:Action
> >> > xmlns:addr="http://www.w3.org/2005/08/addressing";>
> >> http://cis.log.interface.de.ibm.com/service/logRun
> >> </addr:Action><addr:ReplyTo
> >> > xmlns:addr="http://www.w3.org/2005/08/addressing";><addr:Address>
> >> http://www.w3.org/2005/08/addressing/anonymous
> >> </addr:Address></addr:ReplyTo><addr:MessageID
> >> > xmlns:addr="http://www.w3.org/2005/08/addressing
> >>
> ">uuid:hqejbhcnphr2n1qwgjen65</addr:MessageID></soapenv:Header><soapenv:Body><axis2ns2:LogRunRequestVO
> >> > xmlns:axis2ns2="http://cis.log.interface.de.ibm.com/types";
> >> > xmlns:types="http://cis.log.interface.de.ibm.com/types";>
> >> >                                     <xsd:emptyparam
> >> > xmlns:xsd="http://cis.de.ibm.com/simpleTypes";>true</xsd:emptyparam>
> >> >
> >> > </axis2ns2:LogRunRequestVO></soapenv:Body></soapenv:Envelope>
> >> > DEBUG - GeronimoLog.debug(66) | Found a header in incoming message,
> >> > checking if there are endpoints there.
> >> > 10:48:59,503 DEBUG [SessionInHandler] Found a header in incoming
> >> message,
> >> > checking if there are endpoints there.
> >> > ERROR - GeronimoLog.error(108) | Error sending message
> >> > (mex={PartnerRoleMex#hqejbhcnphr2n1qwgjen64 [PID
> >> > {http://com.ibm.de.cis/archive}cisArchive-40] calling
> >> > [EMAIL PROTECTED](...)}):
> >> > LogFaultException
> >> > org.apache.axis2.AxisFault: LogFaultException
> >> >       at
> >> >
> >> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(
> Utils.java
> >> :486)
> >> >       at
> >> > org.apache.axis2.description.OutInAxisOperationClient.handleResponse(
> >> OutInAxisOperation.java:343)
> >> >       at
> >> > org.apache.axis2.description.OutInAxisOperationClient.send(
> >> OutInAxisOperation.java:389)
> >> >       at
> >> > org.apache.axis2.description.OutInAxisOperationClient.executeImpl(
> >> OutInAxisOperation.java:211)
> >> >       at
> >> > org.apache.axis2.client.OperationClient.execute(OperationClient.java
> >> :163)
> >> >       at
> >> > org.apache.ode.axis2.ExternalService$1$1.call(ExternalService.java
> :148)
> >> >       at java.util.concurrent.FutureTask$Sync.innerRun(
> FutureTask.java
> >> :269)
> >> >       at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> >> >       at
> >> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
> >> ThreadPoolExecutor.java:650)
> >> >       at
> >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(
> >> ThreadPoolExecutor.java:675)
> >> >       at java.lang.Thread.run(Thread.java:595)
> >> > 10:48:59,513 ERROR [ExternalService] Error sending message
> >> > (mex={PartnerRoleMex#hqejbhcnphr2n1qwgjen64 [PID
> >> > {http://com.ibm.de.cis/archive}cisArchive-40] calling
> >> > [EMAIL PROTECTED](...)}):
> >> > LogFaultException
> >> > org.apache.axis2.AxisFault: LogFaultException
> >> >       at
> >> >
> >> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(
> Utils.java
> >> :486)
> >> >       at
> >> > org.apache.axis2.description.OutInAxisOperationClient.handleResponse(
> >> OutInAxisOperation.java:343)
> >> >       at
> >> > org.apache.axis2.description.OutInAxisOperationClient.send(
> >> OutInAxisOperation.java:389)
> >> >       at
> >> > org.apache.axis2.description.OutInAxisOperationClient.executeImpl(
> >> OutInAxisOperation.java:211)
> >> >       at
> >> > org.apache.axis2.client.OperationClient.execute(OperationClient.java
> >> :163)
> >> >       at
> >> > org.apache.ode.axis2.ExternalService$1$1.call(ExternalService.java
> :148)
> >> >       at java.util.concurrent.FutureTask$Sync.innerRun(
> FutureTask.java
> >> :269)
> >> >       at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> >> >       at
> >> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
> >> ThreadPoolExecutor.java:650)
> >> >       at
> >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(
> >> ThreadPoolExecutor.java:675)
> >> >       at java.lang.Thread.run(Thread.java:595)
> >> > DEBUG - GeronimoLog.trace(54) |
> >> Mex[hqejbhcnphr2n1qwgjen64].setPortOp(...)
> >> > 10:48:59,663 DEBUG [MessageExchangeImpl]
> >> > Mex[hqejbhcnphr2n1qwgjen64].setPortOp(...)
> >> >
> >> > Thanks for your help.
> >> > Jens
> >> >
> >> >
> >> > Jens Goldhammer wrote:
> >> >>
> >> >>
> >> >>
> >> >> Alex Boisvert wrote:
> >> >>>
> >> >>> On 10/2/07, Jens Goldhammer <[EMAIL PROTECTED]> wrote:
> >> >>>>
> >> >>>> I believe in my case that Axis2 cannot acces the fault which the
> >> >>>> service
> >> >>>> responses to ODE back. Here the initial business fault become an
> ODE
> >> >>>> fault
> >> >>>> and behave as you have described already.
> >> >>>> Or does the stacktrace below has an other meaning?
> >> >>>>
> >> >>>> org.apache.axis2.AxisFault: LogFaultException
> >> >>>>         at
> >> >>>> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(
> >> Utils.java
> >> >>>> :486)
> >> >>>
> >> >>>
> >> >>> The stacktrace indicates Ode detected the fault and is re-throwing
> >> it.
> >> >>> But
> >> >>> I'm not sure I understand what doesn't work for you.... is it that,
> >> >>>
> >> >>> 1) Your service sends back a Fault (described in WSDL) and you
> can't
> >> >>> catch
> >> >>> it in your process?
> >> >>>
> >> >>> 2) Your service sends back a Fault (not in WSDL) and you use
> >> >>> "faultOnFailure=true" but you can't catch it in your process?
> >> >>>
> >> >>> In either case, if you can simplify your setup and attach your
> files
> >> to
> >> >>> a
> >> >>> Jira issue we could look into things in detail.
> >> >>>
> >> >>> alex
> >> >>>
> >> >>>
> >> >>
> >> >> It is the first point- I send back a fault and I cannot catch it in
> >> >> Ode... and I don´t know why...
> >> >> I see that there is an wsdl fault, but Ode does not execute the
> fault
> >> >> handler for this fault...
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/Error-handling-in-bpel-processes-tf4555881.html#a13055706
> >> Sent from the Apache Ode User mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Error-handling-in-bpel-processes-tf4555881.html#a13136987
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>

Reply via email to