ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: Ode fault handling
Date Mon, 15 Sep 2008 14:49:26 GMT
On Mon, Sep 15, 2008 at 5:31 AM, maxxo <germandgw@yahoo.de> wrote:

>
> Hallo,
>
> I have a question concerning how ode processes soap faults thrown within
> the
> service provider. Indeed there are a lot of threads in list but I found no
> proper answer for my problem.
> I created a BPEL process where I invoke a service. When the service
> couldn't
> process the request it sends a fault message defined in the WSDL
> description
> of the service. The problem is that ode don't throw the appropriate fault
> thus I cannot catch it within a fault handler. I read the section "Activity
> Failure and Recovery" from the ode user guide. When I set the attribute
> faultOnFailure to true the invoke-element throws an activityFailure. I
> don't
> know whether I completely understood the distinction between faults and
> failure, but I thought that ode will throw faults defined in the WSDL
> description and only throw activityFailure when the service does not
> respond
> or respond with a messages not being defined in the WSDL description.
>
> Is this assumption true?


You're correct, ODE won't enter activity recovery for a WSDL fault. So you
have to check your WSDL and make sure the fault thrown is properly declared
in the operation.

Matthieu


>
> If true, does ode take the fault name from the faultstring-element from the
> soap-fault messages?
>
> I ask this because I use the soa framework Sopera 3.1 to build the services
> and I am afraid that it doesn't implement correctly the soap standard but I
> am not really sure.
>
> Thank you for your answers.
>
> Fault message definition:
>
> <wsdl:message name="ZipCodeFromAddressFault">
>    <wsdl:part element="tns:ZipCode_fault" name="parameters"/>
>  </wsdl:message>
>
> SOAP response message:
>
> <?xml version='1.0' encoding='UTF-8'?>
>   <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
>      <env:Body>
>         <env:Fault>
>            <faultcode>server</faultcode>
>            <faultstring>BusinessFaultException</faultstring>
>            <detail>
>               <ns2:ZipCode_fault
> xmlns:ns2="http://services.sopware.org/ZipCodeFromAddress">
>                  <ZipCodeFaultString> No proper zip code
> found!</</ZipCodeFaultString>
>               </ns2:ZipCode_fault>
>            </detail>
>         </env:Fault>
>      </env:Body>
>   </env:Envelope>
>
> Part of the ode log:
>
> DEBUG - GeronimoLog.debug(66) | Response from provider was: [<?xml
> version="1.0" encoding="UTF-8"?>
> <ns2:ZipCode_fault
> xmlns:ns2="http://services.sopware.org/ZipCodeFromAddress
> "><ZipCodeFaultString>No
> proper zip code found!</ZipCodeFaultString></ns2:ZipCode_fault>
> ]
> DEBUG - GeronimoLog.debug(66) | replyWithFailure mex=hqejbhcnphr3ldqk8dnsww
> failureType=OTHER description=SOPERA service replies with error message
> details=[message: null]
> DEBUG - GeronimoLog.debug(66) | Invoking message response for mexid
> hqejbhcnphr3ldqk8dnsww and channel 23
> DEBUG - GeronimoLog.debug(66) | Triggering response
> ERROR - GeronimoLog.error(104) | Failure during invoke: SOPERA service
> replies with error message
> DEBUG - GeronimoLog.debug(66) | ActivityRecovery: Activity 13 requires
> recovery
> INFO - GeronimoLog.info(79) | ActivityRecovery: Registering activity 13,
> failure reason: SOPERA service replies with error message on channel 24
> DEBUG - GeronimoLog.debug(66) | Setting execution state on instance 25435
> 15.09.2008 14:07:28
> org.sbb.management.messaging.impl.OperationMonitorBackend
> INFO: added response time for operation getZipCodeFromAddress : 125
>
>
> --
> View this message in context:
> http://www.nabble.com/Ode-fault-handling-tp19492019p19492019.html
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message