AS4Web Connector
Properties Configuration Settings
The AS4Web Component adds AS4 receive functionality to MuleSoft.
Remarks
The AS4Web Connector supports receiving files into BizTalk. Using a simple application-like design, the connector allows you to easily incorporate secure EDI (EDI-INT) exchange into your current e-Business process architecture.
AS4Web Receive Connector
The AS4Web Receive Connector handles incoming push requests (accepts files sent by your partner to you). The AS4Web Receive Connector requires another entity to listen for incoming HTTP requests and to send responses back to the client. An HTTP Listener may be used in conjunction with the AS4Web Receive Connector to create a fully-functional AS4Web server.
In order to use the AS4Web Receive Connector, you must set the TradingPartner and ReceivingPartner properties. It is recommended that you set an MDNSigningCert in order to provide non-repudiation for your AS2 response.
To decrypt incoming messages set DecryptionCert to your private key. To verify the signature of incoming message set SignerCert to your partner's public certificate. To sign receipts sent back to you partner set SigningCert. If a receipt should be sent, set SendReceipt to Yes.
Once the incoming AS4 request has been parsed and verified, the files are submitted to your flow as individual Mule events. Upon successful submission, the connector will generate a receipt as necessary.
Connector Attributes
Aside from generating the receipt, when AS4Web connector finishes processing it will also produce a group of AS4 attributes. AS4RecAttributes is a special attribute consisting of a collection of EDIData entities from the request.
Each item in the collection has its own set of attributes such as EDIProperties, EDISchemaLocation, EDISchemaNamespace, EDISchemaVersion, EDIType
and Output. The 'For Each' Scope will allow you to iterate through the collection of EDIData entities and query these attributes. The sample XML configuration is as follows:
<foreach collection="#[attributes.AS4RecAttributes]"> <logger message="#[payload.AS4FromId]"/> </foreach>
HTTP Listener Configuration
In a typical scenario a HTTP listener is used to receive the original request and send the response because the connector does not have a webserver of its own. The connector will process the request and generate the response, but will rely on the HTTP Listener to relay the response back to the client. In order to configure the HTTP Listener to relay the response to the client, follow the below steps.
In the Mule HTTP Listener's Responses section set the Body to #[attributes.ResponseBody]. Then, add a new header with value 'Content-Type' and value attributes.ResponseHeaders.'Content-Type'.
The corresponding Configuration XML may look like:
<http:response > <http:body ><![CDATA[#[attributes.ResponseBody]]]></http:body> <http:headers ><![CDATA[#[output applicaton/java --- { "Content-Type" : attributes.ResponseHeaders.'Content-Type' }]]]></http:headers> </http:response>
Receiver Property List
The following is the full list of the properties of the receiver connector with short descriptions. Click on the links for further details.
AgreementRef | The agreement reference. |
AS4FromId | The Id of the party. This value is required. |
AS4FromIdType | The optional type of the Id. If specified this value should be the domain to which the Id belongs. |
AS4FromRole | This field specifies the role of the party. This may be any value agreed upon by the trading partners. |
AS4RecAttributes | TBD. |
AS4ToId | The Id of the party. This value is required. |
AS4ToIdType | The optional type of the Id. If specified this value should be the domain to which the Id belongs. |
AS4ToRole | This field specifies the role of the party. This may be any value agreed upon by the trading partners. |
ConversationId | The Conversation Id of the message. |
DecryptionCert | The certificate with private key used to decrypt. |
Firewall | A set of properties related to firewall access. |
HTTPProxy | A set of properties related to proxy access. |
LogDirectory | The path to a directory for logging. |
LogFile | The file to write logging information to at runtime. |
LogMode | What information gets logged during component execution. |
LogType | How information gets logged during component execution. |
MessageId | The unique Id of the message. |
MessageProperties | A collection of message properties. |
Other | Defines a set of configuration settings to be used by the component. |
Profile | The AS4 profile. |
ReceiptContent | The content of the receipt. |
ReceiptRefToMessageId | The Message Id to which this receipt applies. |
ReceivingPartner | The identity of AS4 receiving entity. |
RequestHeaders | The headers included in the AS4 request. |
ResponseBody | The response body to be sent to the client. |
ResponseHeaders | A collection of resposne headers. |
RuntimeLicense | Specifies the component runtime license key. |
SendReceipt | Whether to send a receipt. |
Service | The service which acts on the message. |
ServiceAction | The action within a service that acts on the message. |
ServiceType | The type of service. |
SignatureAlgorithm | Signature algorithm to be used in the message. |
SignerCert | The public signing certificate of the partner. |
SigningCert | The certificate used to sign the outgoing AS4 message. |
SSLAcceptServerCert | For sending HTTPS requests, a server certificate to unconditionally accept. |
SSLCert | The certificate to use for client authentication during the SSL handshake. |
TempPath | A temporary local directory where data can be stored before the component processes it. |
Timeout | A timeout for the component. |
TokenPassword | The password used in UsernameToken authentication. |
TokenUser | The user used in UsernameToken authentication. |
TradingPartner | The trading partner that will be communicating with this receive location. |
Configuration Settings
The following is a list of configuration settings for the connector with short descriptions. Click on the links for further details.
AgreementRefPMode | AgreementRef PMode of message. |
AgreementRefType | The type of AgreementRef. |
AllowWarnings | Whether warnings are interpreted as fatal errors. |
AttachXMLFiles | Whether to send XML files as attachments or within the SOAP body. |
CloseStreamAfterProcessing | Whether to close the input or output stream after processing. |
CompressXMLPayloads | Whether to compress XML data. |
ContentTransferEncoding | The content encoding of the payload data. |
DetectDuplicates | Whether to detect duplicate messages when receiving. |
EBPrefix | Specifies the prefix to use for messaging. |
EDIDataPartId[i] | Specified the part Id at the given index. |
EncryptionSecurityTokenFormat | The format to use for the security token when encryption. |
FilenameProperty | Defines a part property to hold the filename. |
ForceSigningCert | Whether to force only the SigningCert to be used for signing. |
FromId[i] | The Id of the party specified by AS4From. |
FromIdCount | The number of Ids for the party specified by AS4From. |
FromIdType[i] | The Id type of the party specified by AS4From. |
IdRight | A custom Id for the right side of the MessageId. |
KeyEncryptionAlgorithm | The algorithm used to encrypt the key. |
LogLevel | The level of information to log. |
LogOptions | The information to be written to log files. |
MessageType | Indicates the type of message received. |
NormalizeIssuerSubject | Whether to normalize the certificate subject within the X509Data element. |
OAEPMGF1HashAlgorithm | The MGF1 hash algorithm used when encrypting a key. |
OAEPParams | The hex encoded OAEP parameters to be used when encrypting a key. |
OAEPRSAHashAlgorithm | The RSA hash algorithm used when encrypting a key. |
ReceiptURL | The URL to which receipts are sent. |
ReferenceHashAlgorithm | The hash algorithm used to has the data specified in the reference of a signature. |
RequireEncryption | Whether encryption is required when processing received messages. |
RequireSignature | Whether a signature is required when processing received messages. |
ResponseFile | A file from which to read the response. |
SignerCACert | The CA certificates that issued the signer certificate. |
SigningSecurityTokenFormat | The format to use for the security token when signing. |
TempPath | Where temporary files are optionally written. |
ToId[i] | The Id of the party specified by AS4To. |
ToIdCount | The number of Ids for the party specified by AS4To. |
ToIdType[i] | The Id type of the party specified by AS4To. |
TokenPasswordType | The password type used in UsernameToken authentication. |
TransformReceipt | Whether to canonicalize the received receipt. |
ReuseSSLSession | Determines if the SSL session is reused. |
SSLCipherStrength | The minimum cipher strength used for bulk encryption. |
SSLEnabledCipherSuites | The cipher suite to be used in an SSL negotiation. |
SSLEnabledProtocols | Used to enable/disable the supported security protocols. |
SSLIncludeCertChain | Whether the entire certificate chain is included in the SSLServerAuthentication event. |
SSLSecurityFlags | Flags that control certificate verification. |
TLS12SignatureAlgorithms | Defines the allowed TLS 1.2 signature algorithms when UseInternalSecurityAPI is True. |
TLS12SupportedGroups | The supported groups for ECC. |
TLS13KeyShareGroups | The groups for which to pregenerate key shares. |
TLS13SignatureAlgorithms | The allowed certificate signature algorithms. |
TLS13SupportedGroups | The supported groups for (EC)DHE key exchange. |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
LocalHost | The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
TcpNoDelay | Whether or not to delay when sending packets. |
UseInternalSecurityAPI | Tells the component whether or not to use the system security libraries or an internal implementation. |