TN submit service waiting for process

Hello,

I have the following problem which I think someone might know some pointers.

I expose a web service to the external partner.

In the service behind the web service I:

  • take the data that I receive
  • map it to an internal document
  • use the wm.tn:submit service to pass the data to TN

According to the WM documentation the submit service:
“This service returns after Trading Networks completes processing for the document.
That is, after Trading Networks has executed the pre-processing and processing
actions for the document.”

  • In TN I have created a document type to instruct the TN to start a business process if this kind of document arrives.
  • Processing rules routing is disabled for this document type.

Testing with soapUI I have seen that the response time takes more than expected.

Basically the submit method returns only when the business process goes in some kind of wait mode (waiting for something at a gateway ) thus releasing the thread I assume.

Also if one step of the process fails the thread is released and the submit service returns.

To test this hypothesis I have added a 20s sleep period in the business process and indeed the response time was >20s.

To you had this problem before?

It is a real performance and functional problem to keep the external caller waiting until the business process goes in a wait or complete state.

In the business process I have also other SOAP and HTTP calls to other system which can take more and I am afraid that there will be many timeouts to the external caller due to the large waiting times.

Thank you.

Hello again,

I went with this problem to SAG support.

They basically said that want I wanted it’s not possible by design.

The words were:
“When using integration between TN and the Process Engine you will be into the same transaction context, therefore as you have already relized untill the process is not concluded the Tn transaction will not conclude. That is by design and cannot be customizable”

So I have changed my implementation so that I do not let the TN start the business process, but start it myself by doing a publish in the corresponding processing rule.

Hope this helps someone.
Vlad Turian