Workflow Sample

Workflow Sample
Workflow Sample

Contact

Message Start Event/Message Catching Intermediate Event

With Message Start Events and Message Catching Intermediate Events, users can receive messages via HTTP request.

Message Start Events are Start Events that can start processes based on messages received from outside of Questetra BPM Suite.
With Message Start Events, receiving a message consequently starts a process or inputs Process Data.
Message Catching Intermediate Events are events that can input Process Data according to messages received from outside of Questetra BPM Suite, while processes are running.
With Message Catching Intermediate Events, receiving a message consequently inputs Process Data.


The URL and parameter specifications are described below.

Node numbers and Process Data IDs can be found in the Version Details of the active version of the Process Model that uses the Message Start Event and/or Message Catching Intermediate Event.
In the Process Model's Details screen, click [Version Details] of the active version (The newest version which is not in the [Now Editing] state).

URL/Required Parameters: Message Start Event

  • Download Edition:
    • http://<host(IP_address)>[:port_number>]/userweb/System/Event/MessageStart/start
  • SaaS Edition:
    • https://s.questetra.net/<client_number>/System/Event/MessageStart/start
  • URL sample:
    • http://localhost:8080/userweb/System/Event/MessageStart/start?processModelInfoId=45&nodeNumber=0&key=abcde1234
    • https://s.questetra.net/00000000/System/Event/MessageStart/start?processModelInfoId=45&nodeNumber=0&key=abcde1234
Parameter Name Description
 processModelInfoId  Process Model ID
 nodeNumber  Node number of Message Start Event
 key  SaaS Edition: Necessary
 Download Edition: Necessary if security is enabled (qbpms.api.keyRequired is set as "true"). Not necessary if security is not enabled.
 * Security can be enabled in Config file

* Sample html for accessing Message Start Event from browser.
(Sample is with no key, and all data types defined in Process Model. When using the html form, please read the "Points to note" at the bottom of the page.)
URL/Required Parameters: Message Catching Intermediate Event
  • Download Edition:
    • http://<host(IP_address)>[:<port_number>]/userweb/System/Event/IntermediateMessage/receive
  • SaaS Edition:
    • https://s.questetra.net/<client_number>/System/Event/IntermediateMessage/receive
  • URL samples:
    • http://localhost:8080/userweb/System/Event/IntermediateMessage/receive?processInstanceId=1234&nodeNumber=4&key=abcde1234
    • https://s.questetra.net/00000000/System/Event/IntermediateMessage/receive?processInstanceId=1234&nodeNumber=4&key=abcde1234
Parameter Name
Description
 processInstanceId  Process ID
 nodeNumber  Node number of Message Catching Intermediate Event
 key  SaaS Edition: Necessary
 Download Edition: Necessary if security is enabled (qbpms.api.keyRequired is set as "true"). Not necessary if security is not enabled.
 * Security can be enabled in Config file

* Sample html for accessing browser from Message Catching Event.
(Sample is with no key, and all data types defined in Process Model. When using the html form, please read the "Points to note" at the bottom of the page.)

Optional Parameters

  • Optional parameters are used to share input values of Process Data.
  • For details on optional parameters by Process Data Type, see the RECEIVE Parameters list.
  • To find specific values see the Version Details page after activating the Process Model.
  • To use these parameters, you must set the read/write Permissions of the corresponding Process Data Items defined in the target Message Start Event to be "Read Write." 
* There have been some changes to optional parameter formats with the June 2010 (version 6.0.0) update. For details on previous versions see here.

Response

Response code Content
BODY
200 Success (operation performed completely) None
500 Failure (error occurred)
Details of failure are returned by XML

<message-start-event-errors>
  <error>
    <key>...</key>
    <detail>...</detail>
  </error>
  ...
</message-start-event-errors>

* In a Message Catching Intermediate Event, "message-start-event-errors" becomes "message-receive- event-errors."

key: Error type. If Process Data variation error, parameter name.
detail: detail information that is used in identifying cause of error. If Process Data variation error, same as error detail in form. If other error, value that is cause of error is shown.
* If the Message Start Event or Message Catching Intermediate Event is accessed by Internet Explorer, the screen corresponding to the response code is displayed (white for 200, server error for 500). If Firefox is used the xml is shown for errors, so we suggest using Firefox for testing. 

Error Cases

Error Types Who is notified
No parameter, no integer in processModelInfoId, processInstanceId, nodeNumber System Administrator
No Process Model of specified processModelInfoId System Administrator
No node of specified nodeNumber Process Administrator
No active Process Model Process Administrator
Specified node is not Message Start Event node Process Administrator
Parameter name error Process Administrator
Has reached limit in number of Processes Process Administrator
Data variation error (i.e., text in integer type) Process Administrator
Required data is not filled Process Administrator
* Error is notified in Message Start Events only. 

Points to Note

Input of Required/Optional Parameters

  • When using Message Start Events, all required parameters must be specified.
  • You do not have to specify optional parameters. Only specify those according to your needs.
  • Note that optional parameters that are defined to be required in Process Data Items must be specified.

HTTP Communication Method

  • In HTTP communication, you can use either GET or POST methods, except for when a file type data is used, in which case only POST method can be used.
  • When you want to pass a long string to a parameter, we recommend the POST method.

When operating an html form using a web browser

  • This function was designed for web services, and not for access via web browsers, so responses to input errors are not adequate.
  • Please consider the following for the handling of errors.
    • Include a system that avoids errors by limiting input.
      • Example: Limit input in the html form by Javascript.
    • preset operational rules for when errors occur.
      • Example: Display the xml that is returned in the case of errors, so that the user can confirm the content of the error and change his/her input.
      • The xml in the case of errors cannot be displayed in Internet Explorer, so please use Firefox.
  • Do not keep the html form in a place that is accessible from outside your organization, in order to protect leakage of keys.
  • When using the Download Edition, we recommend limiting access to Questetra BPM Suite from outside your organization, regardless of whether you have key settings or not.