Webservice listener

Webservice Gateway

The webservice listener receives SOAP messages from an internal webserver using a WSDL.

This consumer is a request/response consumer. This means that a response is expected.

When a reply producer is configured, at the end of a flow, the results from the services will be sent back to the webservice invoker.

Also, exceptions that have occured will be sent back to the invoker, instead of being caught by the connect exception handling mechanism.

The URL that’s used by the client (wether a SOAP client, an interface or an external client) always ends with “/”.


 

 In the table below, you will find an explanation about these properties. All attributes with a ‘*’ are mandatory.

Attribute

Description

Name*

By default, we fill this out with the technical ‘tag’, followed by a serial number. Changing the name is optional.

Enabled

Set this value to true, if you want this consumer to be enabled.

Hostname

Hostname used to open the endpoint.

Port

Port number. The default is the Jetty port.

Context Path

Path on which to open webservice endpoint.

MessagePart

Name of the MessagePart in a ConnectMessage where the content of the file is being stored.

WSDL Location*

Resource location for this Webservices WSDL file. Just drag and drop it from the resources.

Endpoint Type

Choose SOAPAction to define a soap action to register this Listener to. Choose QNAME to register this Listener based on the SOAP Body's root element's QNAME. Defaults to SOAPAction.

SOAP Action

Specifies the SOAP Action to which this flow will respond when receiving a request. When Endpoint Type is set to SOAPAction

  • This method will only work with WSDL files that contain actual SOAPActions. Any operations without SOAPAction cannot be discovered this way, you should manually add them using their QNAME.
  • The WSDL should enclose any referenced XSD files or reference them as an URL. WSDL files that reference external XSD's using relative paths cannot be processed.
Payload Endpoint

Specifies the SOAP Body's root element's QNAME. This is used in case of implemented a WSDL without any defines SOAPActions. When Endpoint Type is set to QNAME.

SOAP Fault handling

Enable to send WSFault as messagepart to next step. This avoids sending the message to the error handling. Default is disabled.

SOAP Version

Specify which SOAP Version to use. Choose from SOAP11 for version 1.1 and SOAP12 for version 1.2

Response Timeout

Time in milliseconds to wait before time-out.

Payload Only

Used to extract only the payload of the SOAP message or to return payload and attachments in
separate ConnectMessage parts. The default is true (payload only). Setting it to false will deliver the entire SOAP message.

Mapped Request Headers

A comma separated list of headers to be mapped from HTTP request to the ConnectMessage.

Mapped Response Headers

A comma separated list of headers to be mapped from the ConnectMessage to the HTTP response.

Use SSL Connector

Enabled means to use the SSL Connector for this endpoint. False means to use the Plain Connector for this endpoint.

WS Security

Use this option to specify which type WS Security you wish to use on this Webservice Listener. Choose:

  • None
  • Encrypt (only support encryption)
  • Sign (only support signing)
  • Encrypt and Sign (requires client to encrypt and sign)

When setting to either Encrypt, Sign or Encrypt and Sign will require you to specify a WSS Properties file.

WSS Properties

Specify a resource location to a WSS Properties file. Must be on local disk using file: prefix. See below for an example explanaition of the WSS Properties file format.

Authentication Realm

Specify the authentication realm to be used. For more information, follow this link.

Authentication Scheme

Specify which HTTP Authentication Scheme is allowed

The following options are available:

  • None
  • BASIC
  • BASIC_JDBC
  • LDAP

For more information, follow this link.

Description

Description of the specific consumer. This is for documentation purposes.

Enable SSL

When you enable SSL, you need to add some extra information. This will look like this:

Attribute

Description

Certificate Alias in Keystore

Set the certificate alias for the selected certificate. Should exist in defined keystore. Defaults to internal self-signed certificate.

Key Password

Password for the certificate key. Defaults to internal Keystore.

Keystore Location

The location of the keystore. Should be a path to the keystore JKS file. Defaults to internal Keystore.

Keystore Password

Password of the keystore. Defaults to internal Keystore.

Advanced options

Attribute Description
Interceptors Reference Selects a bean that implements a Spring WS EndpointInterceptor, or array of EndpointInterceptors

 

Working with WSDLs

You can work with WSDL in different ways. You can add the WSDL location in the field WSDL Location, or you can add your WSDL files to the Resources and select your WSDL from there.

After you have selected your WSDL, you can select the SOAP Action by clicking the icon, behind the SOAP Action field. A dialog will open where you can select the endpoint you need.

Click on to make you selection active. The field will show the selected SOAP action like this:

Example WSS Properties

wss.securement.actions=Signature|Encryption or both comma separated.
wss.securement.password=password that correspond with your wss keystore.
wss.securement.keyidentifier=DirectReference

wss.securement.keystore.location=specify wss keystore containing Private Key for Signature
wss.securement.keystore.password=specify wss keystore password
wss.securement.keystore.type=JKS
wss.securement.keystore.keyalias=specify keystore alias for Private Key.

wss.securement.truststore.location=specify wss truststore containing Public Key for Encryption
wss.securement.truststore.password=specify wss truststore password
wss.securement.truststore.type=JKS
wss.securement.truststore.alias=specify alias for Public Key.

wss.securement.encryption.user=specify user/alias for Encryption. Should correspond to Key alias.
wss.securement.signature.user=specify user/alias for Signature. Should correspond to Key alias.

wss.securement.signature.parts=specify QName for what Signature parts. Example: {Element}{http://schemas.xmlsoap.org/soap/envelope/}Body   for Soap:Body.
wss.securement.encryption.parts=specify QName for what Encryption parts. Example: {Element}{http://schemas.xmlsoap.org/soap/envelope/}Body   for Soap:Body.

wss.securement.encryptionsym.algorithm=Specify encryption algorithm. For example:  //www.w3.org/2001/04/xmlenc#tripledes-cbc      for 3DES-CBD
wss.securement.signature.algorithm=Specify signature algorithm: For example: RSA
wss.validation.actions=Specify validation actions like    Signature|Encryption|NoSecurity
wss.securement.enable.validation=Specify true to enable validation.