SAP S/4HANA SOAP Connector 2.3 Reference
Anypoint Connector for SAP S/4HANA SOAP provides full support for the SOAP APIs exposed by SAP S/4HANA ERP and, starting with 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 |
Name for this configuration. Connectors reference the configuration with this name. |
x |
|
Connection |
Connection types to provide to this configuration. |
x |
||
Encoding |
String |
Default character encoding to use in all the messages. If not specified, the default charset in the mule configuration will be used. |
||
Connection timeout |
Number |
Connection timeout for the request. |
30 |
|
Connection Timeout Unit |
Enumeration, one of:
|
Time unit to use in the timeout configurations. |
|
|
Name |
String |
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. |
|||
Version |
Enumeration, one of:
|
WS-Addressing version. Defaults to WSA200508. |
WSA200508 |
|
From |
String |
Reference of the endpoint where the message originated from. |
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 |
Base URL of the service on SAP S/4HANA to be accessed from the connector. |
x |
|
Username |
String |
Account username with which to log in to SAP S/4HANA. |
x |
|
Password |
String |
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 |
Certificate Authentication
An X.509 certificate is a digital certificate based on the widely accepted International Telecommunications Union (ITU) X.509 standard, which defines the format of public key infrastructure (PKI) certificates. They are used to manage identity and security in internet communications and computer networking. X.509 authentication requires a discovery service configuration, a valid certificate, and a secure connection (HTTPS).
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Service base URL |
String |
Base URL of the service on SAP S/4HANA to be accessed 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 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 |
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 |
OAuth client ID as registered with the service provider. |
x |
|
Client Secret |
String |
OAuth client secret as registered with the service provider. |
x |
|
Token Url |
String |
Service provider’s token endpoint URL. |
https://{host-name}/{oauth-service}/{generate-token-resource} |
|
Scopes |
String |
OAuth scopes requested during the dance. If not provided, it defaults to those in the annotation. |
||
Object Store |
String |
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 |
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 |
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 |
Name of the configuration to use. |
x |
|
Web Service Addressing |
Configuration of the WS-Addressing specific SOAP headers. |
|||
Custom Soap Headers |
Object |
Additional soap headers to be wrapped in the soap envelope. |
||
Config Ref |
ConfigurationProvider |
Name of the configuration to use to execute this component. |
x |
|
Service name |
String |
Name of the service. |
x |
|
Operation name |
String |
Operation name of the service. |
x |
|
Message |
Binary |
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 |
Name of a variable in which to store the operation’s output. |
||
Target Value |
String |
Expression to evaluate against the operation’s output and store the expression outcome in the target variable. |
#[payload] |
|
Reconnection Strategy |
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 |
Name of the configuration to use. |
x |
|
Config Ref |
ConfigurationProvider |
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 |
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 |
Message type the source listens for. |
x |
|
Config Ref |
ConfigurationProvider |
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 |
Username to authenticate against the proxy. |
||
Password |
String |
Password to authenticate against the proxy. |
||
Non Proxy Hosts |
Array of String |
List of hosts against which the proxy should not be used. |
||
Ntlm Domain |
String |
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 |
Comma-separated list of protocols enabled for this context. |
||
Enabled Cipher Suites |
String |
Comma-separated list of cipher suites enabled for this context. |
||
Truststore |
||||
Keystore |
||||
Revocation Check |
Truststore
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Path |
String |
Location of the truststore, which will be resolved relative to the current classpath and file system, if possible. |
||
Password |
String |
Password used to protect the truststore. |
||
Type |
String |
Type of store used. |
||
Algorithm |
String |
Algorithm used by the truststore. |
||
Insecure |
Boolean |
If |
Keystore
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Path |
String |
Location of the keystore, which will be resolved relative to the current classpath and file system, if possible. |
||
Type |
String |
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 |
Password used to protect the private key. |
||
Password |
String |
Password used to protect the keystore. |
||
Algorithm |
String |
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 |
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 |
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 |
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:
|
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 |
Addressing Settings
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Wsa To |
String |
Address of the intended receiver of this message. |
x |
|
Wsa Version |
Enumeration, one of:
|
WS-Addressing version. If not specified, the connector uses the value from the configuration. |
||
Wsa From |
String |
Reference of the endpoint from which the message originated. If not specified, the connector uses the value from the configuration. |
||
Wsa Message ID |
String |
Identifier that uniquely identifies this message in time and space. If not specified, the connector uses time-based UUID. |
||
Wsa Relates To |
String |
Message ID to which the message relates. |
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 |
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 |
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 |
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:
|
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:
|
Type of joining action that operations can take regarding transactions. |
|
Redelivery Policy
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Max Redelivery Count |
Number |
Maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message. |
||
Message Digest Algorithm |
String |
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 |
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. |