SAP S/4HANA SOAP Connector 2.1 Reference
Anypoint Connector for SAP S/4HANA SOAP provides full support for the SOAP APIs exposed by SAP S/4HANA ERP and from version 2.1.x provides support also for SAP S/4HANA On-Premise ERP.
The main class of an extension is the entry point from which configurations, connection providers, operations, and sources are declared.
Configurations
Config
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Name |
String |
The name for this configuration. Connectors reference the configuration with this name. |
x |
|
Connection |
The connection types to provide to this configuration. |
x |
||
Encoding |
String |
Character encoding used in the messaging. |
||
Connection timeout |
Number |
Connection timeout for the request |
30 |
|
Connection Timeout Unit |
Enumeration, one of:
|
Time unit to use in the Timeout configurations |
|
|
Encoding |
String |
Default character encoding to use in all the messages. If not specified, the default charset in the mule configuration will be used |
||
Name |
String |
The identifier of this element used to reference it in other components |
x |
|
Expiration Policy |
Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the instance expires at the exact moment that it becomes eligible. Mule purges the instances as appropriate. |
Connection Types
Basic Authentication
Basic authentication is the simplest way of enforcing access controls because it does not require cookies, session identifiers, or login pages. Instead, it uses standard fields in the HTTP header, removing the need for handshakes. This mechanism provides no confidentiality protection for the transmitted credentials. They are merely encoded with Base64 in transit, but not encrypted or hashed in any way.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Service base URL |
String |
The base URL of the service on SAP S/4HANA to be accessed from the connector. |
x |
|
Username |
String |
The account username with which to log in to SAP S/4HANA. |
x |
|
Password |
String |
The account password with which to log in to SAP S/4HANA. |
x |
|
Discovery Service Enabled |
Boolean |
Enables automatic service discovery |
true |
|
Discovery Service Path |
String |
URL to use for automatic services discovery |
|
|
Service directory |
String |
Common HTTP directory for all SAP services |
||
Unlisted services |
Array of String |
List of services to add to the list of discovered services |
||
Service discovery resolution timeout |
Number |
Connection timeout for service discovery |
|
|
Service Discovery Timeout Unit |
Enumeration, one of:
|
Time unit to use in the Timeout configuration |
|
|
Default HTTP headers |
Object |
Default HTTP headers to include in the message. |
||
Default query parameters |
Object |
Default query parameters to include in the request. |
||
Proxy configuration |
Proxy configuration for the connector. |
|||
TLS configuration |
Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol then the user needs to configure at least the keystore in the |
HTTP |
||
Reconnection |
When the application is deployed, a connectivity test is performed on all connectors. If set to |
OAuth 2.0 Client Credentials Authentication
OAuth 2.0 authentication provides a secure way of authenticating against the resource using the provided client ID and client secret. Authentication is ensured using an access token generated by the resource. The generated token has a limited lifespan and is automatically refreshed by initiating a refresh dance, after the token expires.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Service base URL |
String |
The base URL of the SAP S/4HANA SOAP service to access from the connector |
x |
|
Discovery Service Enabled |
Boolean |
Enables automatic service discovery |
true |
|
Discovery Service Path |
String |
URL to use for automatic services discovery |
|
|
Service directory |
String |
Common HTTP directory for all SAP services |
||
Unlisted services |
Array of String |
List of services that will be added to the list of discovered services, for example: |
||
Service discovery resolution timeout |
Number |
Connection timeout for service discovery |
30 |
|
Service Discovery Timeout Unit |
Enumeration, one of:
|
Time unit to use in the Timeout configuration |
SECONDS |
|
Default HTTP headers |
Object |
Default HTTP headers the message should include |
||
Default query parameters |
Object |
Default Query parameters the request should include |
||
Proxy configuration |
Proxy configuration for the connector |
|||
TLS configuration |
Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol then the user needs to configure at least the keystore in the |
HTTP |
||
Reconnection |
When the application is deployed, a connectivity test is performed on all connectors. If set to |
|||
Client Id |
String |
The OAuth client ID as registered with the service provider |
x |
|
Client Secret |
String |
The OAuth client secret as registered with the service provider |
x |
|
Token Url |
String |
The service provider’s token endpoint URL |
https://{host-name}/{oauth-service}/{generate-token-resource} |
|
Scopes |
String |
The OAuth scopes requested during the dance. If not provided, it defaults to those in the annotation. |
||
Object Store |
String |
A reference to the object store used to store each resource owner ID’s data. If not specified, the default object store is automatically provisioned by Mule. |
Listener Config
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Name |
String |
The name for this configuration. Connectors reference the configuration with this name. |
x |
|
Encoding |
String |
Default character encoding to use in all the messages. If not specified, the default charset in the Mule configuration is used. |
||
HTTP Listener |
String |
Reference to the global HTTP Listener that will be used to receive SOAP S/4HANA messages. |
x |
|
WSDL Paths |
Array of WSDL Path |
Specify the locations of the WSDL definitions. |
||
Name |
String |
The identifier of this element; used by other components to reference it |
x |
|
Expiration Policy |
Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the instance expires at the exact moment that it becomes eligible. Mule purges the instances as appropriate. |
Invoke
<s4hana-soap:invoke>
Consumes an operation from an S/4HANA SOAP Web Service.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Config Ref |
ConfigurationProvider |
The name of the configuration to use to execute this component |
x |
|
Service name |
String |
Name of the service |
x |
|
Operation name |
String |
The operation name of the service |
x |
|
Message |
Binary |
The content of the message. |
#[payload] |
|
Connection timeout |
Number |
Connection timeout for the request |
||
Connection Timeout Unit |
Enumeration, one of:
|
Time unit to use in the Timeout configurations |
||
Custom HTTP headers |
Object |
Custom headers that the request will include. The headers specified here will be merged with the default headers specified in the configuration. |
||
Custom query parameters |
Object |
Custom query parameters that the request will include. The query parameters specified here will be merged with the default query parameters specified in the config. |
||
Target Variable |
String |
The name of a variable in which to store the operation’s output. |
||
Target Value |
String |
An expression to evaluate against the operation’s output and store the expression outcome in the target variable |
#[payload] |
|
Reconnection Strategy |
A retry strategy in case of connectivity errors |
Unauthorize
<s4hana-soap:unauthorize>
Deletes all of the access token information of a given resource owner ID so that it’s impossible to execute any operation for that user without repeating the authorization dance.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Config Ref |
ConfigurationProvider |
The name of the configuration to use to execute this component |
x |
Outbound Message Listener
<s4hana-soap:outbound-message-listener>
Creates an input source that listens for incoming SAP S/4HANA SOAP outbound messages.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use |
x |
|
Path |
String |
Path where server listens for the outbound messages |
x |
|
Allowed Methods |
String |
Comma-separated list of methods. Leave empty to allow all. |
GET, POST |
|
Message Type |
String |
The message type the source listens for |
x |
|
Config Ref |
ConfigurationProvider |
The name of the configuration to use to execute this component |
x |
|
Primary Node Only |
Boolean |
Whether this source should be executed only on the primary node when running in a cluster |
||
On Capacity Overload |
Enumeration, one of:
|
Strategy that the Mule applies when the flow receives more messages to process than it has the capacity for |
WAIT |
|
Streaming Strategy |
Configure how Mule processes streams with streaming strategies. Repeatable streams are the default behavior. |
|||
Redelivery Policy |
Defines a policy for processing the redelivery of the same message |
|||
Body |
Binary |
|||
Headers |
Object |
|||
Status Code |
Number |
|||
Reason Phrase |
String |
Types
Proxy Configuration
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Host |
String |
Host where the proxy requests are sent |
x |
|
Port |
Number |
Port where the proxy requests are sent |
x |
|
Username |
String |
The username to authenticate against the proxy |
||
Password |
String |
The password to authenticate against the proxy |
||
Non Proxy Hosts |
Array of String |
A list of hosts against which the proxy should not be used |
||
Ntlm Domain |
String |
The domain to authenticate against the proxy |
TLS
Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol then the user needs to configure at least the keystore in the tls:context
child element of the listener-config
.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Enabled Protocols |
String |
A comma-separated list of protocols enabled for this context |
||
Enabled Cipher Suites |
String |
A comma-separated list of cipher suites enabled for this context |
||
Trust Store |
||||
Key Store |
||||
Revocation Check |
Truststore
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Path |
String |
The location (which will be resolved relative to the current classpath and file system if possible) of the truststore |
||
Password |
String |
The password used to protect the truststore |
||
Type |
String |
The type of store used |
||
Algorithm |
String |
The algorithm used by the truststore |
||
Insecure |
Boolean |
If |
Keystore
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Path |
String |
The location (which will be resolved relative to the current classpath and file system if possible) of the keystore. |
||
Type |
String |
The type of store used. |
||
Alias |
String |
When the keystore contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file will be used by default. |
||
Key Password |
String |
The password used to protect the private key. |
||
Password |
String |
The password used to protect the keystore. |
||
Algorithm |
String |
The algorithm used by the keystore. |
Standard Revocation Check
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Only End Entities |
Boolean |
Only verify the last element of the certificate chain |
||
Prefer Crls |
Boolean |
Try CRL instead of OCSP first |
||
No Fallback |
Boolean |
Do not use the secondary checking method (the one not selected before) |
||
Soft Fail |
Boolean |
Avoid verification failure when the revocation server can not be reached or is busy |
Custom OCSP Responder
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Url |
String |
The URL of the OCSP responder |
||
Cert Alias |
String |
Alias of the signing certificate for the OCSP response (must be in the truststore) if present |
Reconnection
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Fails Deployment |
Boolean |
When the application is deployed, a connectivity test is performed on all connectors. If set to |
||
Reconnection Strategy |
The reconnection strategy to use. |
Reconnect
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Frequency |
Number |
How often in milliseconds to reconnect |
||
Blocking |
Boolean |
If |
||
Count |
Number |
How many reconnection attempts to make |
Reconnect Forever
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Frequency |
Number |
How often in milliseconds to reconnect |
||
Blocking |
Boolean |
If |
Expiration Policy
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Max Idle Time |
Number |
A scalar time value for the maximum amount of time a dynamic configuration instance can be idle before it’s considered eligible for expiration |
||
Time Unit |
Enumeration, one of:
|
A time unit that qualifies the maxIdleTime attribute |
SOAP Output Envelope
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Attachments |
Object |
|||
Body |
Binary |
|||
Headers |
Object |
SOAP Attributes
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Transport Additional Data |
Object |
|||
Transport Headers |
Object |
WSDL Path
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Wsdl Path |
String |
Location of the WSDL definition. |
x |
Outbound Message Attributes
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Http Request Attributes |
||||
Message Type |
String |
|||
Soap Headers |
Object |
Http Request Attributes
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Client Certificate |
Any |
|||
Http Headers |
Object |
|||
Listener Path |
String |
|||
Local Address |
String |
|||
Method |
String |
|||
Query Params |
Object |
|||
Raw Request Uri |
String |
|||
Remote Address |
String |
|||
Scheme |
String |
|||
Uri Params |
Object |
|||
Version |
String |
Repeatable In Memory Stream
When streaming in this mode, Mule does not use the disk to buffer the contents. If you exceed the buffer size, the message fails.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Initial Buffer Size |
Number |
The amount of memory to allocate to consume the stream and provide random access to it. If the stream contains more data than can fit into the specified buffer size, then the buffer is expanded according to the |
||
Buffer Size Increment |
Number |
This is how much the buffer size expands if it exceeds the amount specified for its initial size. Setting a value of zero or lower means that the buffer should not expand, and a |
||
Max Buffer Size |
Number |
This is the maximum amount of memory to use. If the specified maximum is exceeded, a |
||
Buffer Unit |
Enumeration, one of:
|
The unit in which all these buffer size attributes are expressed |
Repeatable File Store Stream
File store repeatable streams require buffering. Mule keeps a portion of the stream contents in memory. If the stream contents are larger than the configured buffer size, Mule backs up the buffer’s content to disk and then clears the memory.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
In Memory Size |
Number |
Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed, then the contents start to buffer on the disk. |
||
Buffer Unit |
Enumeration, one of:
|
The unit in which maxInMemorySize is expressed |
Non-repeatable Stream
In some cases, you may want to disable the repeatable stream functionality and use non-repeatable streams, which can have less performance overhead, memory use, and cost.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Transactional Action |
Enumeration, one of:
|
The type of joining action that operations can take regarding transactions. |
|
Redelivery Policy
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Max Redelivery Count |
Number |
The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message |
||
Message Digest Algorithm |
String |
The secure hashing algorithm to use. If not set, the default is SHA-256. |
||
Message Identifier |
Defines which strategy is used to identify the messages. |
|||
Object Store |
ObjectStore |
The object store where the redelivery counter for each message is going to be stored. |
Redelivery Policy Message Identifier
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Use Secure Hash |
Boolean |
Whether to use a secure hash algorithm to identify a redelivered message |
||
Id Expression |
String |
Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false. |