Call a Web Service Method from a Process

To call a web service method from a process, do the procedure in this topic.

Figure: WSE Configuration screen

WSE Configuration screen

Prerequisites

  • A valid Web Service — for example a live, valid WSDL file.

Good to Know

  • In some cases, the type of the object instance returned by a web method may need to implement the IConvertible interface in order for the web method to be used with the Web Service activity.
  • Limitations

    These technical limitations apply to Web Service and WCF support in process activities and lookups:

    • Arrays of primitive data types.

      Arrays of primitive data types — for example, string, Boolean, integer, decimal — are not supported as input or output data types because this interferes with the deserialization of the array object.

      However this does work with an array of complex classes and custom classes or a list of primitive data types.

      If you have a service that returns an array of primitive data types, these workarounds are suggested:

      • Return a list objects instead of arrays — for example, List<string>, instead of string[]
      • Create a custom class that encapsulates that property — for example, a class that has a property of type string.
      • If you do not have control over the service, you can write a wrapper service that encapsulates the call to the underlying service and converts the array to a list object, or create a custom class that encapsulates that property.
    • Dictionary objects.

      Dictionary objects are not supported as input or output data type because XMLSerializer interferes with the deserialization of the dictionary object.

    • Circular references.

      Circular references are not supported in input and output objects — for example, if a class called Person contains a field of type Person that references the same class. Such a circular structure cannot be loaded in the XML Mapper.

    • Nested WSDLs.

      Web services with nested WSDLs are not supported. Consider making your service use single WSDL, or use the .Net Proxy activity.

  • In most text fields, you can use process data variables as an alternative to literal data values.
  • You can configure whether this activity waits for other activities before it runs.

    For more information, refer to How Do I Configure an Activity to Wait for Other Incoming Activities?

  • Some information about third-party integrations is outside the scope of the AgilePoint NX Product Documentation. It is the responsibility of the vendors who create and maintain these technologies to provide this information. This includes specific business use cases and examples; explanations for third-party concepts; details about the data models and input and output data formats for third-party technologies; and various types of IDs, URL patterns, connection string formats, or other technical information that is specific to the third-party technologies. For more information, refer to Where Can I Find Information and Examples for Third-Party Integrations?

How to Start

  1. On the App Explorer screen, do one of these:
  2. Do one of these:
    • Add an activity:
      1. In Process Builder, in the Activity Library, open the Web Services tab.

        Open Web Services tab
      2. On the Web Services tab, drag the Web Service activity onto your process.

        Drag Web Service activity
    • Change an activity:
      1. In your process, double-click your activity.
  3. Click WSE Configuration WSE Configuration icon.

Procedure

  1. On the WSE Configuration screen, in the Web Services field, select access token of your web service.

    To create a new access token, click Create Add Token icon. For more information, refer to Access Token for Web Service.

  2. In the Web Method list, select your web method.
  3. (Optional) To show XML code in the message body as text, deselect Decode Message Body.
  4. To connect the request data from your process schema to the source system, complete this field as necessary:
    Field NameDefinition

    Request Mapping

    Function:
    Connects the web service request to your process schema. This is mandatory only if the request passes data from the process schema to parameters in the web method.
    To Open this Field:
    1. On the WSE Configuration screen, click the Request tab. You can not map the schema if the web service type is None.
    Accepted Values:
    Click the Schema Mapping Schema Mapping icon button to open the Schema Mapper screen.

    Use this screen to connect the request to the data model for your process.

    Default Value:
    None
    Example:
    Refer to:
  5. (Optional) complete these fields as necessary:
    Field NameDefinition

    Custom Headers

    Function:
    Specifies the custom headers required for the web service.
    To Open this Field:
    1. On the WSE Configuration screen, click the Request tab.
    Accepted Values:
    Read only - A message is displayed if the custom headers are set for the web service.

    Use the Ellipses button to display the custom headers set for the web service.

    Default Value:
    None
    Example:
    Custom HeaderValue
    Authentication TypeOAuth2
    Application Redirection URIhttps://ServerName
    Application Time ZonePDT
    Localeen-Us

    Add Other SOAP Headers

    Function:
    Specifies to add more SOAP headers.

    These SOAP headers may give application-specific about the SOAP message, such as authentication.

    To Open this Field:
    1. On the WSE Configuration screen, click the Request tab.
    Accepted Values:
    • Deselected - Does not add other SOAP headers.
    • Selected - Enables the text box where you can add SOAP headers.
    Default Value:
    Deselected
  6. To connect response data from the web service call to your process, do one of these.
    • To connect the response to your process schema, complete this field as necessary:
      Field NameDefinition

      Map Response to AgilePoint Schema

      Function:
      Specifies if the web service response connects to your process schema.
      To Open this Field:
      1. On the WSE Configuration screen, click the Response tab. You can not map the schema if the web service type is None.
      Accepted Values:
      Click the Schema Mapping Schema Mapping icon button to open the Schema Mapper screen.

      Use this screen to connect the response to the data model for your process.

      Default Value:
      None
      Example:
      Refer to:
    • To connect the response to a process data variable, complete this field as necessary:
      Field NameDefinition

      Store the Response in Custom Attribute

      Function:
      Specifies the name of the process data variable that stores the response to a method call. The call must be a web service, Web Service Extension, WCF service, or web application.
      To Open this Field:
      1. On the WSE Configuration screen, click the Response tab. You can not map the schema if the web service type is None.
      Accepted Values:
      A process data variable.
      Default Value:
      None
      Accepts Process Data Variables:
      Yes
      Limitations:

      Some information about third-party integrations is outside the scope of the AgilePoint NX Product Documentation. It is the responsibility of the vendors who create and maintain these technologies to provide this information. This includes specific business use cases and examples; explanations for third-party concepts; details about the data models and input and output data formats for third-party technologies; and various types of IDs, URL patterns, connection string formats, or other technical information that is specific to the third-party technologies. For more information, refer to Where Can I Find Information and Examples for Third-Party Integrations?