You are viewing the documentation for Blueriq 15. Documentation for other versions is available in our documentation directory.
The AQ_SoapServiceClient
service calls a SOAP webservice. It is similar to the AQ_WebServiceClient
, but it handles only SOAP requests. AQ_SoapServiceClient
leverages on spring-ws WebServiceTemplate
which has the possibility to add additional security interceptors (http://docs.spring.io/spring-ws/site/reference/html/security.html). The features of the AQ_SoapServiceclient
are listed below:
- Basic authentication
- Timeout setting
- UsernameToken Profile V1.0
- X.509 Token Profile V1.0
- Signing
- Timestamp
- Encryption
- Logging request / response
- Exception handling for socket timeout
- Exception handling for SoapFault
- Map SoapFault to profile
- Sending and receiving attachments
- Dynamic urls
Parameters
Name | Description | Type | Required | Direction | Select module |
---|---|---|---|---|---|
soapService | Name of SOAP service, with the module where it was defined. | Module Element | true | Input | true |
operation | The name of the operation that needs to be called. | String | true | Input | false |
url | The URL of the SOAP webservice. | String Expression | false | Input | false |
connectionOverride | Override the name of the used connection configuration from application.properties. This parameter may be used to share a configuration among multiple AQ_SoapServiceClient calls. | String Expression | false | Input | false |
mapping | Name of the data mapping to use, if a separate module is used for the WSDL. | Data mapping | false | BiDirectional | false |
username | Username to access the service. | String | false | Input | false |
password | Password to access the service. | String | false | Input | false |
soapFault | The type of the instance that should be updated when a soap fault occurs. | Entity | true | Output | false |
soapFaultCode | The attribute of the instance which should be updated with the soap fault code when a soap fault occurs. | Attribute | true | Output | false |
soapFaultMessage | The attribute of the instance which should be updated with the soap fault message when a soap fault occurs. | Attribute | true | Output | false |
SoapFaultRole | The attribute of the instance which should be updated with the soap fault roles object (SOAP 1.2), or the actor object (SOAP 1.1). | Attribute | false | Output | false |
SoapFaultDetails | The attribute of the instance which should be updated with the soap fault roles details object, this could either contain a text value or an xml message, which will be stored as text in the given attribute | Attribute | false | Output | false |
connection | Connection to retrieve/store documents from/on. | String | false | BiDirectional | false |
fileList | The file(s) which will be attached and send. | Multivalued Entity Expression | false | Input | false |
fileRelation | The relation to hold returned files. | Relation | false | Output | false |
persistence | The persistence parameter indicates whether the system should clean up files at the end of the request (MemoryConnection)/session (FileSystemConnection). | Temporary / Permanent | false | Input | false |
caseId | The CaseId of the case the received documents belong to. | String Expression | false | Output | false |
file | The type of the instance that should be updated when a file is received. | Entity | false | Output | false |
fileId | The attribute of the instance which should be updated with the file id when a file is received. | Attribute | false | Output | false |
fileContentId | The attribute of the instance which should be updated with the file content id when a file is received. | Attribute | false | Output | false |
fileName | The attribute of the instance which should be updated with the file name when a file is received. | Attribute | false | Output | false |
fileType | The attribute of the instance which should be updated with the file type when a file is received. | Attribute | false | Output | false |
fileSize | The attribute of the instance which should be updated with the file size when a file is received. | Attribute | false | Output | false |
fileCreatedBy | The attribute of the instance which should be updated with the file created by attribute when a file is received. | Attribute | false | Output | false |
fileCreationDate | The attribute of the instance which should be updated with the file creation date when a file is received. | Attribute | false | Output | false |
Exit events
Name | Description | Type |
---|---|---|
Ok | When the SOAP request is executed successfully. | Continue |
Timeout | When the SOAP request returns a timeout exception. | Continue |
SoapFault | When the SOAP request returns a SOAP fault exception. | Continue |
Error | When the SOAP request returns other errors. | Cancel |
Exit events
Make sure to map these events and connect them in your flowing when migrating from AQ_Webserviceclient.
Otherwise a timeout will trigger the default exit, not the exception exit.
The exit events can be found at the top right corner of the service call:
Behaviour default exit node
All unmapped events will be redirected to the default exit node of the service call, even errors. Therefore it is recommended to always map all possible expected exit events.
When all expected events are mapped, the default exit node will be removed from the service call as exit event.
Note on persistence
Connection Type Persistence Clustered Notes Memory Temporary No The file is stored temporarily for the duration of the current request. At the end of the request the file is deleted. Memory connections and temporary persistence should be used when an uploaded/received file is immediately sent to a 3rd party system during the same request. Memory Temporary Yes Memory Permanent No Permanently storing files in a memory connections is not allowed. The Runtime will throw an exception when trying to permanently store files in a memory connection Memory Permanent Yes Other / FileSystem Temporary No The file is stored temporarily for the duration of the current session. At the end of the session the file is deleted. Other / FileSystem Temporary Yes The file is stored temporarily for the duration of the current session and a Quartz job is scheduled to delete the file. Other / FileSystem Permanent No The file is permanently stored in the connection and must be explicitly deleted when no longer needed. Other / FileSystem Permanent Yes
Configuration in application.properties
The default SOAP security properties can be defined using the following properties:
Name | Description | Type |
---|---|---|
blueriq.security.keystore.location | The path to the keystore file. The keys in the keystore will be used for signing and/or encrypting soap messages. | String |
blueriq.security.keystore.password | The password for the keystore file. | String |
blueriq.security.truststore.location | The path to the trust store containing the public keys/certificates of external hosts that should be trusted | |
blueriq.security.truststore.password | The password for the truststore file. |
Soap connection properties:
Name | Description | Type |
---|---|---|
blueriq.connection.[serviceName].soap.url | The URL of the SOAP web service. | String |
blueriq.connection.[serviceName].soap.username | The username for basic authentication. | String |
blueriq.connection.[serviceName].soap.password | The password for basic authentication. | String |
blueriq.connection.[serviceName].soap.interceptors | A comma separated list of security interceptors (defined using the blueriq.soap.interceptors.security.* properties, please see the WS-Security documentation) | String[] |
blueriq.connection.[serviceName].soap.timeout | The timeout in milliseconds. | Integer |
blueriq.connection.[serviceName].soap.client-certificate-alias-name | Uses the certificate that is defined by the alias name from the configured keystore(check security properties on how to specify the keystore). | String |
Troubleshoot
When migrating from the AQ_webserviceClient to the AQ_SoapserviceClient, you might run into an error.
"IllegalStateException: Security type for service name is null. Did you forgot to add this to the properties file? "
In your application.properties there's still a line that refers to the old webservice client. Search for: webservice.soap.security.implementations=
This line should be removed from your properties file. That should solve the problem.
How the URL is determined
- if the
connectionOverride
parameter is defined, the settings of that connection are used - if a connection with the same name as the service call is defined, the settings of that connection are used
- if the
url
parameter is defined, the value resulting from evaluating theurl
expression is used - otherwise, the URL in the WSDL is used