Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In contrast to importing a WSDL, no service definition is automatically generated, You have to define how the REST service is called manually. Create a new REST service object and give your REST service a name.

Next, you need to specify the location of the REST service. This is an URL. You can already specify fragments and arguments here, but then you cannot change them later. For example, check http://services.faa.gov/airport/status/IAD?format=xml. In this case, airport, status and IAD are dynamic fragments and can change, depending on input by the user. You would only use http://services.faa.gov/ as location in this case.

Now specify the Schema Set that you want to use. Choose the Schema Set that you have imported earlier.

You can specify as many operations as you need, by pressing on the plus icon. Give every operation a unique name.

Request

If you want to dynamically change the address or send custom headers or body in your message, you need to specify a singleton entity from where the information is gathered (1). (2) shows the URL you are going to call. Items within {} are dynamic and determined during runtime. You can add static fragments (3) which are always the same, or dynamic fragments (4) which are filled by attributes of the request entity. You can specify arguments (5) of your request the same way. There exist 4 different HTTP methods: GET, POST, PUT and DELETE. Most likely, the web service works with the GET method. This method does not alter the state of the web service and just asks for information. At (6) you specify what method to use.

You can also send a message to the REST web service as part of the http headers. This happens more often with POST and PUT methods. This procedure is the same as for the response of the message that you find just below here.

Response

Now you can specify how your response message looks like. (1) lets you specify what kind of message it is (Get, Post, Put or Delete). If you need to set headers, then you can do so at (2) in the same way you set arguments or fragments earlier. If you need to send information in the body of the message, for example with a Post message, then you can specify this now. This is done in XML, and your Schema needs to be able to handle this. If you have a SimpleType in the schema, then you fill in an attribute at (5). If it is a complexType, then first choose which entity will be send at (3) and then you attribute field (5) will switch to a relation field. Fill in the name of the relation between your singleton request entity and your data entity. Custom Schema Elements (4) are ways to fill in your schema in a different way other than with data from your profile. It is not needed at the moment (An example is a justification tree)

Creating a Service Call

To In order to call a REST webservice in studio, you need to create a service call . Chooses the of type AQ_WebServiceClient from the list of available service calls (do not forget to import the Blueriq library). Every operation in the WSDL needs its own service call.

Image Removed

Here you can define several attributes.

  • Service Module: The module in which the service is located.
  • Service: Select SOAP or REST service and select which service to call.
  • Operation: This is the name of the operation which is going to be executed. You can look up the name in the WSDL.
  • Url: For REST you need to leave this empty. If not, then you cannot use fragments or arguments defined in your service.
  • Configuration Module: The name of the module where the datamapping is located. You need to specify this if your domain model is not in the same module as the webservice.
  • Data Mapping: The name of the data mapping to be executed when this operation is called.
  • Username: A possible username, for services with logins.
  • Password A possible password, for services with logins.

Using the Webservice

the same way as for SOAP webservices (Chapter 4: Calling a SOAP service). The only difference is that you select REST at the service dropdown. You usually do not want to supply a URL, as it will overwrite the dynamic URL generation of the REST service definition.

Using the Webservice

This is similar to SOAP (Chapter 4: Calling a SOAP service)After you have created your service call, you can use it inside a flow. The webservice throws a default event. When the service is executed, it will read the needed data from the domain model, starting from the singleton request instance. After receiving an answer from the server, the webservice will store the data in the domain model, starting from the singleton response instance. All data in these instances will be overwritten. If a data mapping is used, the mapping is executed after the domain module in the webservice module is filled. A common error is that an empty message is sent to the server. The reason for this is that the domain model for the webservice is not correctly initiated. If the webservice returns an error message, Blueriq runtime will show an error, because error messages are not supported yet.