MAIN arrow Samples-5.1 arrow Invoke TimeService Process

Invoke TimeService Process

Print E-mail

zip invoketimeserviceprocess 06/02/2008,20:59 18.50 Kb

 

Description:

The use case illustrates process of calling 'external wsdl' within the intalio process
The wsdl invoked is 'TimeService.wsdl' which contains an operation 'getCityTime()'.
The input parameter is 'City' name and output displayed is 'Current time of that city'.
For example: If 'Boston' is send as the input then output is 'current time in boston'.

 

Use case dependencies:

GetTime.xsd: Schema used is of 'complex' type.

 

Requirements:

  1. Intalio|BPMS Server-5.1.1
  2. Intalio|BPMS Designer-5.1.1

Process Download & Import:

  1. Download 'InvokeTimeServiceProcess.zip'.
  2. Go to File > Import...
  3. Select 'Existing Projects into Workspace', in the wizard, click on Next >
  4. Select "Select archive file" radio button.
  5. Browse to select the downloaded archive file,click on Finish.
  6. Update project builders by right click on project; go to BPMS Designer Tools > Update BPMS Builders.

invoketimeservice.jpg

 

* Please follow these below instructions to remake the process

 

Preconditions:

  1. Make sure Intalio|BPMS Server is up and running fine.
  2. Make sure the Process Explorer pane does not contain any Intalio|BPMS Business Process Project with same name.

 

Steps to remake the process:

  1. Go to File > New > select “Intalio|BPMS Business Process Project”.

  2. Provide Project name as “InvokeTimeServiceProcess”, click on Finish.

  3. Right click on the project; go to New > select “Business Process Diagram”.

  4. Provide diagram name as “InvokeTimeServiceProcess”, and click on Finish.

  5. Import wsdl file “TimeService.wsdl” from zip file attached, directly under “InvokeTimeServiceProcess” project.

  6. A pool with a task is available in BPMN Editor Pane, name default pool as “Client” and task as “send”.

  7. Right click on client pool and select “Set pool non executable”.

  8. Add new pool by click on BPMN Editor (select 'Add Pool' option from pop up menu) and name it as “InvokeTimeServiceProcess”.

  9. Focus on send task; drag out going message flow icon to "InvokeTimeServiceProcess" pool and select the option "Connect to a new Message Start Event", name this new message start event as "start".

  10. Focus on Message Start Event, drag sequence flow icon from boundary and select option to “Connect to a new Task”, name this new task as “invoke”.

  11. Focus on “invoke” task, drag sequence flow icon from boundary and select option to “Connect to a new Message End Event”, name this message end event as “reply”.

  12. Drag the outgoing message icon from Message End Event and connect to “send” task in Client Pool.

  13. Repeat step 8 & 7, but name the pool as 'TimeService'.

  14. Drag and drop “getCityTime” operation onto TimeService pool (Go to Process Explorer > TimeService.wsdl > TimeService > TimeServiceSoap)

  15. Focus on “invoke” task, drag the outgoing message icon from “invoke” task and connect to “getCityTime” task in TimeService pool, similarly create connection in vice versa direction

  16. Import schema files from zip file into the project (You can also create your own schema from File > New > Other > XML > XML Schema).

  17. Drag and drop GetTime.xsd> ns:TimeRequest schema node on to incoming message flow from “send” task to “start” message start event.

  18. A message “Set schema element 'TimeRequest' as the content of the message” will prompt you, click on it.

  19. Drag and drop GetTime.xsd> ns:TimeResponse schema node on to outgoing message flow from “reply” message end event to “send” task.

  20. A message “Set schema element 'TimeResponse' as the content of the message” will prompt you, click on it.

 

Defining Outgoing Mapping:

  1. Make sure Mapper view is visible (go to Windows > Show View > Mapper).

  2. Select “invoke” task in process model.

  3. Click on “$thisEventStartMessageRequest.body” > city node in left side of mapper and then click on “$timeService1GetCityTimeRequestMsg.parameters” > city[?] node in right side of mapper.

  4. Select “reply” message end event in process model.

  5. Click on “$timeService1GetCityTimeResponseMsg.parameters” node in left side of mapper and then click on '$thisEventStartMessageResponse.body' node in right side of mapper.

  6. Save the process model.

  7. Now your process is fully implemented which is ready to deploy and execute within Intalio|BPMS Server.

 

Process Deployment & Execution:

  1. Click on Deploy Project to Intalio|BPMS Server button in tool bar.
  2. Make sure you select all runtime files while exporting to Intalio|BPMS Server.
  3. Click on Finish button.
  4. Open a web browser, provide url as: http://localhost:8080/bpms-console which takes to login screen for bpms-console.
  5. Login with the following credentials:
    username: 'admin' (without quotes).
    password: 'changeit' (without quotes).
  6. In the processes list you should see 'InvokeTimeServiceProcess: InvokeTimeServiceProcess' process with a package name 'InvokeTimeServiceProcess', select it and click to Start.
  7. This should generate a form with label 'startRequest', an input field to map an input data.
  8. Type "boston" in "city" field then click on Submit.
  9. This will replace the page with an output like :

        startResponse:

        getCityTimeResult: 12:36

Note: In case you are getting "501 Not Implemented" error then follows these configration steps.

 

Configuration:

  1. You need to make the changes in axis2.xml file located under:
    intalio-bpms-server-5.1.1\repository\com\intalio\bpms\pxe\5.1.2\pxe-5.1.2.war\WEB-INF\conf

  2. In the Axis2 configuration file , you should find the following declaration:
    <transportSender name="http"
    class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
    <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
    <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
    </transportSender>

  3. You can either remove or comment the section for "Transfer-Encoding" and then restart the server.

  4. Repeat all steps given under Process Deployment & Execution.

Last Updated ( Feb 11 2008 )
  < Prev Next >