Wednesday, June 16, 2010

Timeout for Partnerlink

Problem:
How to set timeout for Partnerlink or web service in BPEL?

Solution:
Timeout property is set in bpel.xml file under PartnerLinkBinding tag. Just you need to add a property as timeout.

It is shown below as follows:(Suppose name of the web service you are using is abc)

<PartnerLinkBinding name="abc">
<property name="timeout">30</property>
<!-- other PartnerLink properties -->
</PartnerLinkBinding>

Wait wait...is it that evrything you need to do for having Timeout for Partnerlink? The answer to this is NO. This property cannot work alone. You need something more to be added to it. In order to achieve this you have to add another property called "optSoapShortcut to false" in the bpel.xml for that partner link.

Now it will look like:

<PartnerLinkBinding name="abc">
<property name="timeout">30</property>
<property name="optSoapShortcut">false</property>
<!-- other PartnerLink properties -->
</PartnerLinkBinding>

optSoapShortcut : This property instructs bpel to make the webservice calls via saop stack or not. When BPEL invokes any partner links if the services its calling is running on the same server/domain then it avoid soap overhead and calls natively. There may be situations that you want to invoke the services via Soap Stack, then this property helps you do just that.
Timeout property works on soap stack. Suppose a BPEL proces is calling another BPEL process then the call will change from Soap stack to local binding call.

1 comment:

Tani said...

Through this blog We will learn timeout for Partnerlink or web service in BPEL. we will also gain a conceptual understanding of the Oracle and how its components work and interact with one another.

sap support pack upgrade