AgileApps Support Wiki Pre Release

Difference between revisions of "Part 1: Integrating a Web Service"

From AgileApps Support Wiki
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
In this part, you preview the Web services integration capability of the webMethods AgileApps Cloud platform. You add a publically available currency conversion Web service to use in your MyOrders application. First, you create a Web service, and then you update the SouthEast Process Model to call the Web service.
In this part, you preview the Web services integration capability of the webMethods AgileApps Cloud platform. You add a publically available currency conversion Web service to use in your MyOrders application. First, you create a Web service, and then you update the SouthEast Process Model to call the Web service.
# To create the Web service:
To create the Web service, you can either use SOAP or REST web services. The following first step explains both ways but with different examples:<br><br>
'''SOAP Web Service'''
# To create web service:
## Login to AgileApps Cloud as yourself.
## Login to AgileApps Cloud as yourself.
## Navigate to '''Configuration''' > '''Customization''' > '''Developer Resources''' > '''Web Services''' and click '''New Web Service'''.
## Navigate to '''Configuration''' > '''Customization''' > '''Developer Resources''' > '''Web Services''' and click '''New Web Service'''. Click '''SOAP'''.
## Enter the following URL: http://currencyconverter.kowabunga.net/converter.asmx?WSDL<br><br>[[File:Web_Services_SOAP.png|800px]]<br><br>
## Enter the following URL: http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL<br><br>[[File:WS_SOAP_CountryCurrency_Scrn1.PNG|800px]]<br><br>
## Click '''Download'''.
## Click '''Download'''.
## Select Web service operation '''GetConversionRate''' and provide the other values as shown:<br><br>[[File:Web Services_Currency_Conversion.png|800px]]<br><br>
## Select Web service operation '''CountryCurrency''' and provide the other values as shown:<br><br>[[File:WS_SOAP_CountryCurrency_Scrn2.PNG|800px]]<br><br>
## Click '''Next'''.
## Click '''Next'''.
## Specify how to integrate the required parameters. In this example, allow mapping of each Web service input parameter to parameters with friendly names '''Input Currency''', '''Output Currency''', and '''Rate Date'''. We will use them later for mapping in the '''SouthEast Process Model''':<br><br>[[File:Web_Services_Input_Field_Mapping.png|800px]]<br><br>
## Specify how to integrate the required parameters. In this example, allow mapping of each Web service input parameter to parameters with a friendly name like '''Currency ISO Code'''. We will use them later for mapping in the '''SouthEast Process Model''':<br><br>[[File:WS_SOAP_InputFieldsMapping_Screen3.PNG|800px]]<br><br>
## Click '''Next'''.
## Click '''Next'''.
## Specify how to integrate the results of the Web Service call. In this example, allow mapping of the one and only Web service output parameter to a parameter with a friendly name of '''Currency Rate'''. We will use this later for mapping in the '''SouthEast Process Model''':<br><br>[[File:Web_Services_Output_Field_Mapping.png|800px]]<br><br>
## Specify how to integrate the results of the Web Service call. In this example, allow mapping of the one and only Web service output parameter to a parameter with a friendly name of '''ISO Alpha 3 Code and Currency Name'''. We will use this later for mapping in the '''SouthEast Process Model''':<br><br>[[File:WS_SOAP_OutputFieldsMapping_Screen4.PNG|800px]]<br><br>
## Click '''Save'''.
## Click '''Save'''.
# To test the Web service:
# To test the Web service:
## Click '''Test Service'''.
## Click '''Test Service'''.<br><br>[[File:WS_SOAP_TestService_Screen5.PNG|800px]]<br><br>  
## Enter values for all three input parameters and click '''Execute'''.
## Click '''Execute'''.
##: You can use '''USD''' and '''EUR''' as sample input currencies and the current date as input for Rate Date. All valid currencies can be requested by calling the Web service operation '''GetCurrencies()''' also contained in the same Web service/WSDL.
##: '''Rate Date''' must be specified in the format '''YYYY-MM-DD'''.<br><br>[[File:Test_Service_Currency_Conversion.png|800px]]<br><br>
# To update the '''SouthEast Process model''' to call the '''Currency Conversion''' Web Service:
# To update the '''SouthEast Process model''' to call the '''Currency Conversion''' Web Service:
## Navigate to '''Configuration''' > '''Customization''' > '''Objects''' > '''Orders''' > '''Processes''' > '''SouthEast Order Process Model'''.
## Navigate to '''Configuration''' > '''Customization''' > '''Objects''' > '''Orders''' > '''Processes''' > '''SouthEast Order Process Model'''.
Line 33: Line 33:
##: '''Note:''' There is currently no value in the '''Number Line Items''' field. In the next part of this exercise, you learn how to implement a Java API class to provide a value for this field.
##: '''Note:''' There is currently no value in the '''Number Line Items''' field. In the next part of this exercise, you learn how to implement a Java API class to provide a value for this field.


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'''REST Web Service'''<br>
To try REST Web Service, here is an example:
# To create web service:
## Login to AgileApps Cloud as yourself.
## Navigate to '''Configuration''' > '''Customization''' > '''Developer Resources''' > '''Web Services''' and click '''New Web Service'''. Click '''REST'''.
## Enter the following URL: https://api.coindesk.com/v1/bpi/currentprice.json
## Choose HTTP Method as GET and sample data format as JSON.<br><br>[[File:WS_REST_Screen1.PNG|800px]]<br><br>
## Enter the sample response of the REST API in the'''Normal Response''' field.
## Click '''Next'''.
## Provide the Title and Version values as shown.
## Click '''Next'''.
## On the '''Input Field Mapping''' page, keep the URL info hardcoded as shown.<br><br>[[File:WS_REST_InputFieldsMapping_Screen2.PNG|800px]]<br><br>
## Specify how the required output field parameters should look like. In this example, allow mapping of each Web service output parameter to parameters with friendly names:<br><br>[[File:WS_REST_OuputFieldsMapping_Screen3.PNG|800px]]<br><br>
# To test the Web service:
## Click '''Test Service''' and click '''Execute''' to see the response displayed.<br><br>[[File:WS_REST_TestService_Screen4.PNG|800px]]<br><br>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
:{| border="0" align="left" cellpadding="5" cellspacing="1"  
:{| border="0" align="left" cellpadding="5" cellspacing="1"  

Latest revision as of 10:12, 27 March 2023

In this part, you preview the Web services integration capability of the webMethods AgileApps Cloud platform. You add a publically available currency conversion Web service to use in your MyOrders application. First, you create a Web service, and then you update the SouthEast Process Model to call the Web service. To create the Web service, you can either use SOAP or REST web services. The following first step explains both ways but with different examples:

SOAP Web Service

  1. To create web service:
    1. Login to AgileApps Cloud as yourself.
    2. Navigate to Configuration > Customization > Developer Resources > Web Services and click New Web Service. Click SOAP.
    3. Enter the following URL: http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL

      WS SOAP CountryCurrency Scrn1.PNG

    4. Click Download.
    5. Select Web service operation CountryCurrency and provide the other values as shown:

      WS SOAP CountryCurrency Scrn2.PNG

    6. Click Next.
    7. Specify how to integrate the required parameters. In this example, allow mapping of each Web service input parameter to parameters with a friendly name like Currency ISO Code. We will use them later for mapping in the SouthEast Process Model:

      WS SOAP InputFieldsMapping Screen3.PNG

    8. Click Next.
    9. Specify how to integrate the results of the Web Service call. In this example, allow mapping of the one and only Web service output parameter to a parameter with a friendly name of ISO Alpha 3 Code and Currency Name. We will use this later for mapping in the SouthEast Process Model:

      WS SOAP OutputFieldsMapping Screen4.PNG

    10. Click Save.
  2. To test the Web service:
    1. Click Test Service.

      WS SOAP TestService Screen5.PNG

    2. Click Execute.
  3. To update the SouthEast Process model to call the Currency Conversion Web Service:
    1. Navigate to Configuration > Customization > Objects > Orders > Processes > SouthEast Order Process Model.
    2. Click on a process step to open the Process Model in the Process Editor.
    3. Add an Execute Web Service step to the Process Model, below the Update Pending element.
    4. Specify Convert Currency as the step name and select the Web service Currency Conversion [1.0] you created above.
    5. Map the first Web service input parameter Input Currency to Order Object field Currency. Click + to add another row for the second input parameter. Map the second Web service input parameter Output Currency to Order Object field New Currency as shown:

      Execute Web Service 01.png

    6. Click + again to add another row for the third Web service input parameter Rate Date. It requires the (current) date in the format YYYY-MM-DD. To provide the current date in the desired format regardless of the used date format settings of the user and/or the tenant, map the Web service input parameter Rate Date by using an expression. Select Use Expression in the drop-down of the first column and click into the empty expression field to bring up the Expression panel. Copy and paste or create the following expression: YEAR(TODAY())+'-'+IF(LEN(MONTH(TODAY()))<2,'0',)+MONTH(TODAY())+'-'+IF(LEN(DAY(TODAY()))<2,'0',)+DAY(TODAY())
      Click Insert.

      Execute Web Service 02.png

    7. Map the Web service output parameter Currency Rate to the Order Object field Currency Rate.

      Execute Web Service 03.png

    8. Click Save.
    9. Update/enhance the connections in the Process Model diagram as shown:

      Web Service Process Model.png

    10. Check the syntax. Then Save the Process model.
  4. To test your updated Process Model:
    1. Create a new Order record related to the SouthEast region. Provide valid values for Currency and New Currency. Assign the order to account Fred Supplies and click Save.

      New Order Web Service.png

    2. View the Details of the order to see the current Conversion Rate calculated by the Web service:

      New Order Currency Rate Update.png

      Note: There is currently no value in the Number Line Items field. In the next part of this exercise, you learn how to implement a Java API class to provide a value for this field.

REST Web Service
To try REST Web Service, here is an example:

  1. To create web service:
    1. Login to AgileApps Cloud as yourself.
    2. Navigate to Configuration > Customization > Developer Resources > Web Services and click New Web Service. Click REST.
    3. Enter the following URL: https://api.coindesk.com/v1/bpi/currentprice.json
    4. Choose HTTP Method as GET and sample data format as JSON.

      WS REST Screen1.PNG

    5. Enter the sample response of the REST API in theNormal Response field.
    6. Click Next.
    7. Provide the Title and Version values as shown.
    8. Click Next.
    9. On the Input Field Mapping page, keep the URL info hardcoded as shown.

      WS REST InputFieldsMapping Screen2.PNG

    10. Specify how the required output field parameters should look like. In this example, allow mapping of each Web service output parameter to parameters with friendly names:

      WS REST OuputFieldsMapping Screen3.PNG

  2. To test the Web service:
    1. Click Test Service and click Execute to see the response displayed.

      WS REST TestService Screen4.PNG


Previous

Next