SAP S/4HANA SOAP Connector 2.6 Reference | MuleSoft Documentation
# SAP S/4HANA SOAP Connector 2.6 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 for this configuration. Connectors reference the configuration with this name.  
Connection | 
  * Basic Authentication
  * Certificate Authentication
  * Oauth2 Client Credentials Authentication

| Connection types to provide to this configuration.  
Encoding | Default character encoding to use in all the messages. If not specified, the default charset in the mule configuration will be used.  
Connection timeout | Connection timeout for the request.  
Connection Timeout Unit |  Enumeration, one of:
  * NANOSECONDS
  * MICROSECONDS
  * MILLISECONDS
  * SECONDS
  * MINUTES
  * HOURS

| Time unit to use in the timeout configurations.  
Identifier of this element used to reference it in other components.  
Expiration Policy |  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.  
Enumeration, one of:
  * WSA200508
  * WSA200408

| WS-Addressing version. Defaults to WSA200508. | WSA200508  
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 | Base URL of the service on SAP S/4HANA to be accessed from the connector.  
Username | Account username with which to log in to SAP S/4HANA.  
Password | Account password with which to log in to SAP S/4HANA.  
Discovery Service Enabled | Enables automatic service discovery.  
Discovery Service Path | URL to use for automatic services discovery. | `/sap/bc/srt/wsil_ext`  
Service directory | 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 | Connection timeout for service discovery.  
Service Discovery Timeout Unit |  Enumeration, one of:
  * NANOSECONDS
  * MICROSECONDS
  * MILLISECONDS
  * SECONDS
  * MINUTES
  * HOURS

| Time unit to use in the timeout configuration.  
Default HTTP headers | Default HTTP headers to include in the message.  
Default query parameters | Default query parameters to include in the request.  
Proxy configuration |  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 `tls:context` child element of the `listener-config`.  
Reconnection |  | When the application is deployed, a connectivity test is performed on all connectors. If set to `true`, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.  
##### 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 | Base URL of the service on SAP S/4HANA to be accessed from the connector.  
Discovery Service Enabled | Enables automatic service discovery.  
Discovery Service Path | URL to use for automatic services discovery. | `/sap/bc/srt/wsil_ext`  
Service directory | 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 | Connection timeout for service discovery.  
Service Discovery Timeout Unit |  Enumeration, one of:
  * NANOSECONDS
  * MICROSECONDS
  * MILLISECONDS
  * SECONDS
  * MINUTES
  * HOURS

| Time unit to use in the timeout configuration  
Default HTTP headers | Default HTTP headers to include in the message.  
Default query parameters | Default query parameters to include in the request.  
Proxy configuration |  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 `tls:context` child element of the `listener-config`.  
Reconnection |  | When the application is deployed, a connectivity test is performed on all connectors. If set to `true`, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.  
##### OAuth 2.0 Client Credentials Authentication
Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to Configuring OAuth 2.0 for Connectors or Configuring OAuth 2.0 for Connectors on CloudHub.
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 | Base URL of the SAP S/4HANA SOAP service to access from the connector.  
Discovery Service Enabled | Enables automatic service discovery.  
Discovery Service Path | URL to use for automatic services discovery. | `/sap/bc/srt/wsil_ext`  
Service directory | 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: `/sap/bc/srt/wsdl_ext/flv_10002S111AD1/srvc_url/sap/bc/srt/scs_ext/sap/creditmanagementaccountbyidqu1` If the `Service directory` parameter is not specified, then the HTTP directory needs to be prepended before every service name in this list, in the following format: `{directory}/{service-name}`.  
Service discovery resolution timeout | Connection timeout for service discovery.  
Service Discovery Timeout Unit |  Enumeration, one of:
  * NANOSECONDS
  * MICROSECONDS
  * MILLISECONDS
  * SECONDS
  * MINUTES
  * HOURS

| Time unit to use in the timeout configuration  
Default HTTP headers | Default HTTP headers the message should include.  
Default query parameters | Default query parameters the request should include.  
Proxy configuration |  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 `tls:context` child element of the `listener-config`.  
Reconnection |  | When the application is deployed, a connectivity test is performed on all connectors. If set to `true`, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.  
Client Id | OAuth client ID as registered with the service provider.  
Client Secret | OAuth client secret as registered with the service provider.  
Token Url | Service provider’s token endpoint URL. | `https://{host-name}/{oauth-service}/{generate-token-resource}`  
OAuth scopes requested during the dance. If not provided, it defaults to those in the annotation.  
Object Store | 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.  
#### Associated Operations
  *
| Time unit to use in the timeout configuration  
Default HTTP headers | Default HTTP headers the message should include.  
Default query parameters | Default query parameters the request should include.  
Proxy configuration |  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 `tls:context` child element of the `listener-config`.  
Reconnection |  | When the application is deployed, a connectivity test is performed on all connectors. If set to `true`, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.  
Client Id | OAuth client ID as registered with the service provider.  
Client Secret | OAuth client secret as registered with the service provider.  
Token Url | Service provider’s token endpoint URL. | `https://{host-name}/{oauth-service}/{generate-token-resource}`  
OAuth scopes requested during the dance. If not provided, it defaults to those in the annotation.  
Object Store | 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.  
#### Associated Operations
  * 

### Listener Config
#### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Name for this configuration. Connectors reference the configuration with this name.  
Encoding | Default character encoding to use in all the messages. If not specified, the default charset in the Mule configuration is used.  
HTTP Listener | Reference to the global HTTP Listener that will be used to receive SOAP S/4HANA messages.  
WSDL Paths |  Array of WSDL Path | Specify the locations of the WSDL definitions.  
Identifier of this element; used by other components to reference it.  
Security |  Listener Security Config | Message-level security configuration.  
Expiration Policy |  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.  
#### Associated Sources
  * Outbound Message Listener


## Supported Operations
  * 

## Invoke
`<s4hana-soap:invoke>`
Consumes an operation from an S/4HANA SOAP Web Service.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
Web Service Addressing |  Addressing Settings | Configuration of the WS-Addressing specific SOAP headers.  
Custom Soap Headers | Additional soap headers to be wrapped in the soap envelope.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Service name | Name of the service.  
Operation name | Operation name of the service.  
Content of the message. | #[payload]  
Connection timeout | Connection timeout for the request.  
Connection Timeout Unit |  Enumeration, one of:
  * NANOSECONDS
  * MICROSECONDS
  * MILLISECONDS
  * SECONDS
  * MINUTES
  * HOURS

| Time unit to use in the timeout configurations  
Custom HTTP headers | 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 | 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 | Name of a variable in which to store the operation’s output.  
Target Value | Expression to evaluate against the operation’s output and store the expression outcome in the target variable. | #[payload]  
Reconnection Strategy | 
  *   * Reconnect Forever

| Retry strategy in case of connectivity errors.  
### Output
SOAP Output Envelope  
---  
Attributes Type |  SOAP Attributes  
### For Configurations
### Throws
  * S4HANA-SOAP:BAD_REQUEST
  * S4HANA-SOAP:CONNECTIVITY
  * S4HANA-SOAP:PROCESSING_ERROR
  * S4HANA-SOAP:RETRY_EXHAUSTED


## 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 | Name of the configuration to use.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
### For Configurations
## 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 | Name of the configuration to use.  
Path where server listens for the outbound messages.  
Allowed Methods | Comma-separated list of methods. Leave empty to allow all. | GET, POST  
Message Type | Message type the source listens for.  
Allowed S/4HANA Systems |  Array of Allowed Outbound System Parameter | Parameter for securing the Outbound Message Listener to receive outbound messages only from allowed S/4HANA systems.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Primary Node Only | 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  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * Non-repeatable Stream

| Configure how Mule processes streams with streaming strategies. Repeatable streams are the default behavior.  
Redelivery Policy |  Redelivery Policy | Defines a policy for processing the redelivery of the same message.  
Status Code  
Reason Phrase  
### Output
**Attributes Type** |  Outbound Message Attributes  
---|---  
### For Configurations
  * Listener Config


## Types
### Proxy Configuration
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Host where the proxy requests are sent.  
Port where the proxy requests are sent.  
Username | Username to authenticate against the proxy.  
Password | 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 | Domain to authenticate against the proxy.  
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 | Comma-separated list of protocols enabled for this context.  
Enabled Cipher Suites | Comma-separated list of cipher suites enabled for this context.  
Truststore  
Revocation Check | 
  * Standard Revocation Check
  * Custom OCSP Responder
## Types
### Proxy Configuration
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Host where the proxy requests are sent.  
Port where the proxy requests are sent.  
Username | Username to authenticate against the proxy.  
Password | 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 | Domain to authenticate against the proxy.  
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 | Comma-separated list of protocols enabled for this context.  
Enabled Cipher Suites | Comma-separated list of cipher suites enabled for this context.  
Truststore  
Revocation Check | 
  * Standard Revocation Check
  * Custom OCSP Responder

  
### Truststore
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Location of the truststore, which will be resolved relative to the current classpath and file system, if possible.  
Password | Password used to protect the truststore.  
Type of store used.  
Algorithm | Algorithm used by the truststore.  
Insecure | If `true`, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk.  
### Keystore
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Location of the keystore, which will be resolved relative to the current classpath and file system, if possible.  
Type of store used.  
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 | Password used to protect the private key.  
Password | Password used to protect the keystore.  
Algorithm | Algorithm used by the keystore.  
### Standard Revocation Check
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Only End Entities | Only verify the last element of the certificate chain.  
Prefer Crls | Try CRL instead of OCSP first.  
No Fallback | Do not use the secondary checking method (the one not selected before).  
Soft Fail | Avoid verification failure when the revocation server can not be reached or is busy.  
### Custom OCSP Responder
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
URL of the OCSP responder.  
Cert Alias | Alias of the signing certificate for the OCSP response (must be in the truststore) if present.  
### CRL File
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Path to the CRL file.  
### Reconnection
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Fails Deployment | When the application is deployed, a connectivity test is performed on all connectors. If set to `true`, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.  
Reconnection Strategy | 
  *   * Reconnect Forever

| Reconnection strategy to use.  
### Reconnect
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Frequency | How often in milliseconds to reconnect.  
Blocking | If `false`, the reconnection strategy will run in a separate, non-blocking thread.  
How many reconnection attempts to make.  
### Reconnect Forever
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Frequency | How often in milliseconds to reconnect.  
Blocking | If `false`, the reconnection strategy will run in a separate, non-blocking thread.  
### Expiration Policy
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Max Idle Time | 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:
  * NANOSECONDS
  * MICROSECONDS
  * MILLISECONDS
  * SECONDS
  * MINUTES
  * HOURS

| Time unit that qualifies the maxIdleTime attribute.  
### Listener Security Config
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Service Credentials |  Username Password Security Strategy Config | Listener client credentials configuration.  
Signature Verification Strategy |  One of:
  * Trust Store Strategy
  * Default Strategy

| Strategy used to verify signed SOAP messages.  
### Username Password Security Strategy Config
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Array of Username Password Entry | List of authorized usernames and passwords.  
### Username Password Entry
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Username | Client’s username.  
Password | Client’s password.  
### Default Strategy
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
CACerts Password | Password for the default Java cacerts truststore. This store is located in `<JAVA_HOME>/lib/security/cacerts`.  
### Trust Store Strategy
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Trust store path | Path to your truststore. This is either an absolute path or a path relative to your `resources` folder.  
Trust store password | Password for the truststore.  
Trust store type |  One of:
  * JCEKS
  * PKCS12

| Type of truststore.  
### SOAP Output Envelope
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Attachments  
### SOAP Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Transport Additional Data  
Transport Headers  
### Addressing Settings
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Address of the intended receiver of this message.  
Wsa Version |  Enumeration, one of:
  * WSA200508
  * WSA200408
| Type of truststore.  
### SOAP Output Envelope
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Attachments  
### SOAP Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Transport Additional Data  
Transport Headers  
### Addressing Settings
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Address of the intended receiver of this message.  
Wsa Version |  Enumeration, one of:
  * WSA200508
  * WSA200408

| WS-Addressing version. If not specified, the connector uses the value from the configuration.  
Wsa From | Reference of the endpoint from which the message originated. If not specified, the connector uses the value from the configuration.  
Wsa Message ID | Identifier that uniquely identifies this message in time and space. If not specified, the connector uses time-based UUID.  
Wsa Relates To | Message ID to which the message relates.  
### WSDL Path
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Wsdl Path | Location of the WSDL definition.  
### Outbound Message Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Http Request Attributes |  Http Request Attributes  
Message Type  
Soap Headers  
### Http Request Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Client Certificate  
Http Headers  
Listener Path  
Local Address  
Query Params  
Raw Request Uri  
Remote Address  
Uri Params  
### Allowed Outbound System Parameter
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Recipient Business System ID  
Sender Business System ID  
### 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 | 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 `bufferSizeIncrement` attribute, with an upper limit of what is specified for `maxInMemorySize`.  
Buffer Size Increment | 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 `STREAM_MAXIMUM_SIZE_EXCEEDED` error is thrown when the buffer gets full.  
Max Buffer Size | Maximum amount of memory to use. If the specified maximum is exceeded, a `STREAM_MAXIMUM_SIZE_EXCEEDED` error is thrown. A value lower than or equal to zero means there is no limit on the buffer size.  
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 | 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:
  * ALWAYS_JOIN
  * JOIN_IF_POSSIBLE
  * NOT_SUPPORTED

| Type of joining action that operations can take regarding transactions. | `JOIN_IF_POSSIBLE`  
### Redelivery Policy
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Max Redelivery Count | Maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message.  
Message Digest Algorithm | Secure hashing algorithm to use. If not set, the default is SHA-256.  
Message Identifier |  Redelivery Policy 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 | Whether to use a secure hash algorithm to identify a redelivered message.  
Id Expression | 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.  
## See Also
  * Introduction to Anypoint Connectors
  * MuleSoft Help Center