Quantcast

Queuing in Petals ?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Queuing in Petals ?

Philip
I use Petals as an intermediate layer between the client and the webservice. The providers and consumers work OK. But, if the target webservice does not respond ( error 500, no answer at all, ...), the message is lots.
Is there a way to configure Petals so that the message remains in a queue, so it can be processed later on ?
Thanks
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Queuing in Petals ?

Christophe DENEUX
Administrator
Philip,

You lost your message if you use the message pattern "InOnly" or "RobustInOnly". If you use the pattern "InOut", your client should manage the returned error.

Take a look at the component SE ASE that must be placed into your consumer and your web-service. This JBI component creates a facade service to your web-service. This service put the message in a queue until your web-service is unavailable.
 
Christophe DENEUX
Petals ESB Architect
Linagora
Twitter: @ChrisDENEUX
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Queuing in Petals ?

Philip
As the doc site is  offline at the moment , can you tell me briefly how to "Place the SE ASE component" in my consumer in Petals Studio? Thanks
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Queuing in Petals ?

Christophe DENEUX
Administrator
If you speak french you can get information here: https://doc.petalslink.com/display/petalscomponents/Petals+SE-ASE.

Specifications of the component are available here: https://doc.petalslink.com/download/attachments/16122175/ESB_req_spec-2011-06-15.doc?version=1&modificationDate=1319029810000

I think that Petals Studio does not provide wizard for this component (use the Generic wizard for creating SU)
Christophe DENEUX
Petals ESB Architect
Linagora
Twitter: @ChrisDENEUX
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Queuing in Petals ?

Philip
Thanks for the quick answer, but does anyone has an real example of how to implement ASE in Petals ?
I don't know how to configure the Generic wizard when creating a SU...
I have created a su-Generic-ws_sample-consume , but I don't see how to reference the ASE SE
Thx
Philip
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Queuing in Petals ?

Christophe DENEUX
Administrator
Philip,

The JBI descriptor of an SU of the SE ASE is as following:
<code>
<?xml version="1.0" encoding="UTF-8"?>
<jbi:jbi xmlns:jbi="http://java.sun.com/xml/ns/jbi" 
                xmlns:linagora.com="http://petals.ow2.org/components/filetransfer/version-3" 
                xmlns:ase="http://petals.ow2.org/components/ase/version-1"
                xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5"
  version="1.0">
  <jbi:services binding-component="false">
    <jbi:provides
    interface-name="linagora.com:FileTransferType"
    service-name="linagora.com:AsyncTicketWriter"
    endpoint-name="AsyncTicketWriterEndpoint">
   
           
                        <petalsCDK:wsdl>FileTransferService.wsdl</petalsCDK:wsdl>

                       
                       
    </jbi:provides>
    <jbi:consumes
    interface-name="linagora.com:FileTransferType"
    service-name="linagora.com:TicketWriter">
   
   
    <petalsCDK:timeout>30000</petalsCDK:timeout>
      <petalsCDK:mep>InOnly</petalsCDK:mep>
     
     
     
      <ase:retry-policy-number>3</ase:retry-policy-number>
      <ase:retry-policy-base-interval>10</ase:retry-policy-base-interval>
      <ase:retry-policy-factor>3</ase:retry-policy-factor>
    </jbi:consumes>
  </jbi:services>
</jbi:jbi>
</code>

The part 'provides' is relative to the service that will be created by SE ASE. You will invoke it from your consumer.
The part 'consumers' is relative to the real service that is facadized, in your case, the web-service. In 'interface-name', 'service-name' and 'endpoint-name' you set your service name associated to your web-service.
Christophe DENEUX
Petals ESB Architect
Linagora
Twitter: @ChrisDENEUX
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Queuing in Petals ?

Philip
Thanks, I will try asap.
Loading...