Not all Pipeline out variables occur when accessed using JAVA API

I created a flow service to post orders to SAP using IS. The flow service calls a BAPI(CREATE_FROMDAT2) to place orders in SAP and the transaction is commited by a BAPI call to BAPI_TRANSACTION_COMMIT,in the same flow service. The architecture of the request follows the given format. The order is placed on a jsp page, the JSP Page calls a servlet and the servlet in turn invokes the service to place the order.When the service is run from the IS, it returns a SALESDOCUMENT but when with the same inputs, the servlet invocation of the service does not give the SALESDOCUMENT from the pipeline out. It gives me a $tid key which does not appear when the service is executed from IS. Please help me out. Thanking you guys in advance,
Pradeep Sridharan.

Hi, Pradeep.

It sounds like the HTML form in your JSP document has one of the following problems:

  1. The form’s ACTION attribute does not match the path to the webMethods Flow service []The form’s INPUT(s) name does not match the name of the input(s) to the webMethods Flow service []The JSP and/or HTML is not properly formed.

There is a webMethods Ezine article that may help you post variables from a Web page form to a webMethods Flow or Java service. You can read the article at http://www.wmusers.com/ezine/2003jun_dgreen_1.shtml.

Good luck.

Thanks for the reply. The problem I face is very peculiar. I have some 20 pipeline out parameters. Out of the 20,19 are returned when the call to the service is made and the result is returned to the servlet as mentioned earlier. Somehow, the 20th pipeline out variable alone is missed out. I use the Java API provided by WM.
regards,
Pradeep Sridharan.

Hi, Pradeep.

Is the “left out” variable the last on the list? For example, the first 19 are successful; the last 1 is not? Or, is the position of the 20th variable random?

Have you confirmed that $tid is present in the pipeline? You can try invoking pub.flow.savePipeline in your Flow and then check for variable existence using pub.flow.restorePipeline.

If you are unfamiliar with using these Built-in Services, read up on them in the Built-In Services guide in your Developer’s /doc folder.