AS4 Client Utility

FMS is the AS4 light client used for sending messages (push) or retreiving messages (pull) from a FMS or other AS4 compliant server situated at remote business partner.

AS4 Light Client Invocation

Invoke the FMS AS4 push and pull client utility as follows to display usage requirements on a Linux system

\
\java -jar fmsclient.as4.jar -?
\
\          

or as follows on MS WindowsTM

\
\\Program Files\fms\client\fms-as4.exe -?
\
\  Usage: java -jar fmsclient.as4.jar <arguments> <XML_File>
\  Where: <XML_File> is the optional XML Document to include in the SOAP body
\  And <arguments> are:
\	-a <Attachment>: Repeatable attachment references in the following generic format \
\          "key1:value1;key2:value2;key3:value3[;key4:value4]" with example being \
\          "filename:mypayload.xml;content-id:ABC123;mimetype:application/xml;encoding:\
\          [7bit|quoted-printable|8bit|base64|binary];description:My Payload file;\
\          propertyKey:propertyValue" \
\          where filename is mandatory and specifies either a local file or URL based file, \
\          and the rest optional. Semicolons ";" MUST not be used as part of the keys or values. \
\          Use this should an xml payload be required outside the body in the SOAP envelope
\	-action <Action>: BusinessInfo.Action, overrides the processing mode businessInfo.Action
\	-ad <Attachment Directory>: Directory in which attachments received will be stored. \
\          Default: attachments
\	-ag <Agreement Reference>: AgreementRef, overrides the processing mode agreementRef
\	-at <Send Time>: Send message at current time + time in milliseconds or at specified \
\          future date in format "yyyy-MM-dd'T'HH:mm:ss.SSS" eg. 2100-12-31T00:00:00.000
\	-c <Conversation ID>: Conversation ID, overrides the processing mode conversation ID
\	-batch <Argument File>: Contains a set of arguments for use in batch processing. \
\          Arguments in this file will override any argument set on the command line
\	-bodyID: Enable the SOAP Body PayloadInfo href identifier
\	-d: Enable DEBUG mode. Default: false
\	-e <Event>: Processing Mode event for this message
\	-enc <Encryption Alias>: Alias used to access the remote partner public encryption key \
\          from the keystore
\	-error <Error File>: File to which any error messages and debug output will be written \
\          to - default is stderr
\	-file <Output File>: File to which any received response will be written to - default \
\          is stdout
\	-from <Sender>: Sender identifier to determine which leg of the journey this message \
\          is for. Required.
\	-fromType <Sender@Type>: Sender type attribute - only used if from party is different \
\          between the command line and the p-mode
\	-fromRole <Sender Role>: Sender role - only used if from party is different between \
\          the command line and the p-mode
\        -h <Host>: Destination host URL. Note that IPv6 addresses must be encapsulated in \
\          square brackets Eg. -h https://[fe80:8::106a:9125:18a9:9f64%en0]:6443/as4s
\	-k <KeyStore Location>: File system path to the KeyStore. Default: certs
\	-ksp <KeyStore Password>: Password used to access the KeyStore. Default: changeit
\	-ka <SSL Private Key Alias>: Alias used to access the SSL Private Key in the KeyStore. \
\          Default: fmsrns
\	-kp <SSL Private Key Password>: Password used to access the SSL Private Key in the \
\          KeyStore. Default: fmsrns
\	-l <Licence file>: Path to the licence file. Default: fms.lcn
\	-m <Message Identifier>: Message identifier, leave blank to auto-generate
\	-mp <Message Properties>: Optional message properties with format \
\          "-mp key1:value1 -mp key2:value2". Eg \
\          "-mp originalSender:partyA -mp finalRecipient:partyB"
\	-messageFile <Message Output File>: File to save outbound message SOAP envelope if specified
\	-noSystemExit: Disable system exit. If set then System.exit(status) will not be invoked \
\          on program termination and return status will be returned to stdout. Default: disabled
\	-pi <PMode ID>: Processing Mode ID, overrides the processing mode ID
\	-pm <Processing Mode>: Processing mode configuration file name. Required.
\	-pp <Part Properties>: Optional repeatable part properties for the main XML payload in \
\          the body (if specified) with format "-pp key1:value1 -pp key2:value2". \
\          Eg "-pp invoiceID:INV0001 -pp http\://mydomain.com\:invoiceID:INV\:9999"
\	-r <Reference Message Identifier>: Reference to the message identifier provided
\	-rc <Receiving Security Context File>: Receiving security context definition \
\          file (http://java.sun.com/xml/ns/xwss/config)
\	-rs: Enable response security requirement, will validate security response and \
\          will throw errors if security does not match requirement
\	-rcpt <In Receipt to SOAP Message>: Create an AS4 receipt for the provided SOAP Message
\	-s <SSL Context>: Typically one of [SSL, SSLv3, TLS, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3]. Default: TLSv1.2
\	-sa <Sign Key Alias>: Alias used to access the Private Key for signing in the KeyStore. \
\          Default: fmsrns
\	-service <Service>: BusinessInfo.Service, overrides the processing mode businessInfo.Service
\	-serviceType <Service@Type>: BusinessInfo.Service@Type, overrides the processing mode \
\          businessInfo.Service@Type attribute
\	-sc <Security Context File>: Sending security context definition file
\	-scit: Enable Security Context includeTimestamp Flag. Default: false
\	-suffix: MessageId Suffix. Default: initiating party or localhost
\	-sp <Sign Key Password>: Password used to access the Private Key for signing in the \
\         KeyStore. Default: fmsrns
\	-st <sslTruststore Location>: Optional file system path to the sslTruststore. \
\         May be the same as keystore. Default: java cacerts
\	-stsp <sslTruststore Password>: Optional password used to access the ssl Trust Store. \
\         Default: changeit
\	-t <Timeout>: Connection timeout in milliseconds (0 disables timeouts). Default: 30000
\	-T <Timeout>: Response timeout in milliseconds (0 disables timeouts). Default: 30000
\	-to <Recipient>: Recipient identifier to determine which leg of the journey this \
\         message is for. Required.
\	-toType <Recipient@Type>: Recipient type attribute - only used if to party is \
\         different between the command line and the p-mode
\	-toRole <Recipient Role>: Recipient role - only used if to party is different \
\         between the command line and the p-mode
\	-u: Disable SSL. Default: enabled
\	-v: Version
\        -z: Optional command line option for compressing external payloads. If not set then the processing mode \
\         "pmode:useCompression" setting will be used to determine if external payloads must be compressed.
\	-X: Dump security providers and algorithms
\
\