SevenZip Pipeline Component
The SevenZip pipeline component implements a 7zip-compatible Zip compressor and decompressor.
Remarks
The SevenZip pipeline component is used when generating BizTalk Pipelines for sending and receiving messages which are desired to be compressed or decompressed.
SevenZip Assembler Pipeline Component
The Assembler takes a group of messages as input which contains raw data, and generates a SevenZip archive message as output.
Compression strength is regulated by the CompressionLevel property. The compression method is specified by the CompressionMethod property. Specify the Password property to protect the archive.
SevenZip Disassembler Pipeline Component
The Disassembler takes a compressed message as input, and generates a group of decompressed messages as output.
The Password property must be set in order to extract messages which have been protected. You may also use the ExcludedFiles property to regulate which messages are to be extracted from the archive.
Please refer to the section on adapter configuration for a description of how to configure receive locations and send ports for this adapter.
Assembler Property List
The following is the full list of the properties of the assembler Pipeline Component with short descriptions. Click on the links for further details.
ArchiveFileName | The name of the zip archive. |
CompressionLevel | The compression level to use. |
CompressionMethod | Used to set the method of compression. |
ExcludedFiles | A list of messages to exclude. |
Other | Defines a set of configuration settings to be used by the pipeline component. |
Password | A password for the zip archive. |
RuntimeLicense | Specifies the component runtime license key. |
TempPath | A temporary directory where uncompressed and compressed data can be stored. |
TransportLog | Tells the component where and how to report information about its operations. |
Disassembler Property List
The following is the full list of the properties of the disassembler Pipeline Component with short descriptions. Click on the links for further details.
ExcludedFiles | A list of messages to exclude. |
Other | Defines a set of configuration settings to be used by the pipeline component. |
Password | A password for the zip archive. |
RuntimeLicense | Specifies the component runtime license key. |
TempPath | A temporary directory where uncompressed and compressed data can be stored. |
TransportLog | Tells the component where and how to report information about its operations. |
Config Settings
The following is a list of config settings for the Pipeline Component with short descriptions. Click on the links for further details.
PipelineOptions | Options defining the validation and protection functionality of the pipeline component. |
PlainPassword | Allows you to specify a password stored in plaintext. |
SSOPassword | Specifies the key name in the SSO configuration that holds the password value. |
ArchiveFileName Property (SevenZip Pipeline component)
The name of the zip archive.
Data Type
String
Default Value
""
Remarks
If specified this determines the name of the archive created by the adapter.
This property is not available in the Disassembler/Decoder.
CompressionLevel Property (SevenZip Pipeline component)
The compression level to use.
Data Type
Integer
Default Value
3
Remarks
This property is only applicable when using the LZMA CompressionMethod. This property specifies the level of compression to be used. Valid values are: 1, 2, 3, 4 and 5. Higher values will cause the component to compress better; lower values will cause the component to compress faster. The default value is 3.
This property is not available in the Disassembler/Decoder.
CompressionMethod Property (SevenZip Pipeline component)
Used to set the method of compression.
Data Type
Enumeration
Possible Values
Lzma (0)
Bzip 2 (1)
Delta (2)
Copy (3)
Deflate (4)
Lzma 2 (5)
Default Value
0
Remarks
This is used to specify different compression methods. By default the adapter uses the LZMA compression method (a value of 0). Supported values are:
Value | Method |
cmszLzma (0 - default) | LZMA |
cmszBzip2 (1) | BZip2 |
cmszDelta (2) | Delta |
cmszCopy (3) | Copy (no compression) |
cmszDefalte (4) | Deflate |
cmszDefalte (5) | LZMA2 |
This property is not available in the Disassembler/Decoder.
ExcludedFiles Property (SevenZip Pipeline component)
A list of messages to exclude.
Data Type
String
Default Value
""
Remarks
This property specifies messages that should be excluded when compressing or extracting a message. When either compression or extraction occurs, each message will be compared to ExcludedFiles, and each message that matches will be excluded.
This property may be set to one or more message names. These message names may be specified with or without a path, and with or without wildcards. If a path is specified, messages in the indicated extraction directory will be excluded. If no path is specified but wildcards are, matching messages in all directories will be excluded. If a single message name without a path is specified, it must correspond exactly to the appropriate value of a valid message name.
Directories should end with a slash ("/" or "\", as appropriate.) If a directory is specified, all files and subdirectories in the specified directory will be excluded during extraction.
A pipe character ("|") should be used to separate multiple message or directory names.
If the property is set to the empty string, no messages will be excluded.
Other Property (SevenZip Pipeline component)
Defines a set of configuration settings to be used by the pipeline component.
Data Type
String
Default Value
""
Remarks
The pipeline component accepts one or more configuration settings. These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the pipeline component, access to these internal properties is provided through the Other property.
The Other property may be set to one or more configuration settings (name/value pairs). Set one setting per line.
For example:
configname1=value1
configname2=value2
Password Property (SevenZip Pipeline component)
A password for the zip archive.
Data Type
Password
Default Value
""
Remarks
This property specifies the case-sensitive password used to encrypt or decrypt the archive. If set to an empty string, no password is used.
Example (Compressing an Archive)
ZipControl.ArchiveFile = "c:\test.zip"
ZipControl.RecurseSubdirectories = true
ZipControl.IncludeFiles("c:\foo\*")
ZipControl.Password = "nsoftware"
ZipControl.Compress()
RuntimeLicense Property (SevenZip Pipeline component)
Specifies the component runtime license key.
Data Type
String
Default Value
""
Remarks
You can use the RuntimeLicense property to set the runtime key for the adapter license.
This property may be configured on the adapter's static handler property page in the BizTalk Server administration console.
TempPath Property (SevenZip Pipeline component)
A temporary directory where uncompressed and compressed data can be stored.
Data Type
String
Default Value
""
Remarks
This property indicates a temporary directory where the pipeline component can store any data before the pipeline component processes it. If TempPath is empty, the pipeline component will receive all data to memory. If set, the pipeline component will generate and write all inbound data to a temporary file in the specified directory.
Once the file is submitted to BizTalk, the pipeline component will handle closing the file stream and deleting the temporary file. However, if the pipeline component is shut down during a transfer some temporary files may be left in the directory. To ensure optimal performance, server administrators should check the directory regularly and remove old or extraneous files.
This property accepts the "%TEMP%" macro, which will be replaced with the default system temporary directory at runtime.
Note: by default, this property is empty and the pipeline component will use memory streams to store all inbound data before submitting it to BizTalk. It is recommended that you use a temporary directory when downloading large batches or batches containing large files to alleviate potential increased memory requirements.
TransportLog Property (SevenZip Pipeline component)
Tells the component where and how to report information about its operations.
Data Type
LogRemarks
This is a Log type property which contains fields describing how and where the adapter will record information about its execution.
This property may be configured on the adapter's static handler property page in the BizTalk Server administration console.
Certificate Type
The digital certificate being used.
Remarks
This type describes the current digital certificate. The certificate may be a public or private key. The fields are used to identify or select certificates.
Fields
Store
String
Default Value: "MY"
The name of the certificate store for the client certificate.
The StoreType field specifies the type of the certificate store specified by Store. If the store is password protected, specify the password in StorePassword.
Store is used in conjunction with the Subject field in order to specify client certificates. If Store has a value, and Subject is set, a search for a certificate is initiated. Please refer to the Subject field for details.
Designations of certificate stores are platform-dependent.
The following are designations of the most common User and Machine certificate stores in Windows:
MY | A certificate store holding personal certificates with their associated private keys. |
CA | Certifying authority certificates. |
ROOT | Root certificates. |
SPC | Software publisher certificates. |
In Java, the certificate store normally is a file containing certificates and optional private keys.
When the certificate store type is PFXFile, this property must be set to the name of the file. When the type is PFXBlob, the property must be set to the binary contents of a PFX file (i.e. PKCS12 certificate store).
If the provider is OpenSSL, the certificate store is a file containing a certificate and a private key. This property must be set to the name of the file.
StorePassword
String
Default Value: ""
If the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store.
StoreType
CertStoreTypes
Default Value: 0
The type of certificate store for this certificate.
The adapter supports both public and private keys in a variety of formats. When the cstAuto value is used, the adapter will automatically determine the type. This field can take one of the following values:
0 (cstUser - default) | For Windows, this specifies that the certificate store is a certificate store owned by the current user.
Note: This store type is not available in Java. |
1 (cstMachine) | For Windows, this specifies that the certificate store is a machine store.
Note: This store type is not available in Java. |
2 (cstPFXFile) | The certificate store is the name of a PFX (PKCS#12) file containing certificates. |
3 (cstPFXBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in PFX (PKCS#12) format. |
4 (cstJKSFile) | The certificate store is the name of a Java Key Store (JKS) file containing certificates.
Note: This store type is only available in Java. |
5 (cstJKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in Java Key Store (JKS) format.
Note: This store type is only available in Java. |
6 (cstPEMKeyFile) | The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate. |
7 (cstPEMKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a private key and an optional certificate. |
8 (cstPublicKeyFile) | The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate. |
9 (cstPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a PEM- or DER-encoded public key certificate. |
10 (cstSSHPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains an SSH-style public key. |
11 (cstP7BFile) | The certificate store is the name of a PKCS#7 file containing certificates. |
12 (cstP7BBlob) | The certificate store is a string (binary) representing a certificate store in PKCS#7 format. |
13 (cstSSHPublicKeyFile) | The certificate store is the name of a file that contains an SSH-style public key. |
14 (cstPPKFile) | The certificate store is the name of a file that contains a PPK (PuTTY Private Key). |
15 (cstPPKBlob) | The certificate store is a string (binary) that contains a PPK (PuTTY Private Key). |
16 (cstXMLFile) | The certificate store is the name of a file that contains a certificate in XML format. |
17 (cstXMLBlob) | The certificate store is a string that contains a certificate in XML format. |
18 (cstJWKFile) | The certificate store is the name of a file that contains a JWK (JSON Web Key). |
19 (cstJWKBlob) | The certificate store is a string that contains a JWK (JSON Web Key). |
21 (cstBCFKSFile) | The certificate store is the name of a file that contains a BCFKS (Bouncy Castle FIPS Key Store).
Note: This store type is only available in Java and .NET. |
22 (cstBCFKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in BCFKS (Bouncy Castle FIPS Key Store) format.
Note: This store type is only available in Java and .NET. |
23 (cstPKCS11) | The certificate is present on a physical security key accessible via a PKCS#11 interface.
To use a security key, the necessary data must first be collected using the CERTMGR adapter. The ListStoreCertificates method may be called after setting CertStoreType to cstPKCS11, CertStorePassword to the PIN, and CertStore to the full path of the PKCS#11 DLL. The certificate information returned in the CertList event's CertEncoded parameter may be saved for later use. When using a certificate, pass the previously saved security key information as the Store and set StorePassword to the PIN. Code Example. SSH Authentication with Security Key:
|
99 (cstAuto) | The store type is automatically detected from the input data. This setting may be used with both public and private keys and can detect any of the supported formats automatically. |
Subject
String
Default Value: ""
The subject of the certificate used for client authentication.
When this property is set, a search is performed in the current certificate store certificate with matching subject.
If an exact match is not found, the store is searched for subjects containing the value of the property.
When setting the property to a partial subject, CN= should be omitted. For example, the following code would find the certificate with subject CN=Test Certificate, OU=People, C=US
Example (Searching with partial subject)
Control.CertSubject = "Test"
If a match is not found, the property is set to an empty string, and no certificate is selected.
The special value "*" picks a random certificate in the certificate store.
If a matching certificate is found, Subject is set to the full subject of the matching certificate.
Thumbprint
String (read-only)
Default Value: ""
The thumbprint of the certificate.
This field is used to specify the thumbprint of the certificate. When there are multiple certificates in the store that have the same subject, the thumbprint will be used to distinguish between them.
Constructors
Constructors are only relevant when configuring adapters in orchestrations.
public Certificate();
Creates a instance whose properties can be set.
public Certificate(string certificateFile);
Opens CertificateFile and reads out the contents as an X509 public key.
public Certificate(byte[] certificateData);
Parses CertificateData as an X509 public key.
public Certificate(CertStoreTypes certStoreType, string store, string storePassword, string subject);
CertStoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a file containing the certificate store. StorePassword is the password used to protect the store.
After the store has been successfully opened, the constructor will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X509 certificate's subject Distinguished Name (DN).
public Certificate(CertStoreTypes certStoreType, string store, string storePassword, byte[] encoded);
CertStoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a file containing the certificate store. StorePassword is the password used to protect the store.
After the store has been successfully opened, the constructor will load Encoded as an X509 certificate and search the opened store for a corresponding private key.
public Certificate(CertStoreTypes certStoreType, byte[] storeBlob, string storePassword, string subject);
CertStoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a string (binary- or base64-encoded) containing the certificate store. StorePassword is the password used to protect the store.
After the store has been successfully opened, the constructor will attempt to find the certificate identified by Subject . This can be either a complete or a substring match of the X509 certificate's subject Distinguished Name (DN).
public Certificate(CertStoreTypes certStoreType, byte[] storeBlob, string storePassword, byte[] encoded);
CertStoreType identifies the type of certificate store to use. See for descriptions of the different certificate stores. Store is a string (binary- or base64-encoded) containing the certificate store. StorePassword is the password used to protect the store.
After the store has been successfully opened, the constructor will load Encoded as an X509 certificate and search the opened store for a corresponding private key.
Firewall Type
The firewall the component will connect through.
Remarks
When connecting through a firewall, this type is used to specify different properties of the firewall such as the firewall Host and the FirewallType.
Fields
AutoDetect
Boolean
Default Value: False
Tells the adapter whether or not to automatically detect and use firewall system settings, if available.
FirewallType
FirewallTypes
Default Value: 0
Determines the type of firewall to connect through. The applicable values are the following:
Host
String
Default Value: ""
Name or IP address of firewall (optional). If a Host is given, requested connections will be authenticated through the specified firewall when connecting.
If the Host field is set to a Domain Name, a DNS request is initiated. Upon successful termination of the request, the Host field is set to the corresponding address. If the search is not successful, an error is returned.
Password
String
Default Value: ""
A password if authentication is to be used when connecting through the firewall. If Host is specified, the User and Password fields are used to connect and authenticate to the given firewall. If the authentication fails, a trappable error is fired.
Port
Integer
Default Value: 0
The TCP port for the firewall Host. See the description of the Host field for details.
Note that the Port is set automatically when FirewallType is set to a valid value. See the description of the FirewallType field for details.
User
String
Default Value: ""
A user name if authentication is to be used connecting through a firewall. If the Host is specified, the User and Password fields are used to connect and authenticate to the given Firewall. If the authentication fails, a trappable error is fired.
Constructors
Constructors are only relevant when configuring adapters in orchestrations.
public Firewall();
Log Type
A log where the component will record information about its operations.
Remarks
This describes how and where the adapter will record information describing its execution.
Fields
Location
String
Default Value: "Application"
This field describes the location where the logging information is to be written.
If the EventLog LogType has been chosen, this field must contain the name of the Event Log to which the information should be written. The default value for this field is "Application". If a value other than "Application" is set the computer must be restarted for the change to take effect. Note that the same event log must be used for all send ports and receive locations that use the same adapter.
If the File LogType has been chosen, this field must contain the location of the file to write logging information to on the file system.
The adapter also supports logging to files based on the current date and time. This allows for log files to be organized by days, months, or other intervals as specified. When specifying a log filename include a valid .NET date and time format string within the < and > characters. For instance C:\logs\sftp_<yyyyMMdd>.log or C:\logs\as2_<yyyyMMdd>T<hhmm>.log.
LogMode
LogModes
Default Value: 3
This field controls what information the adapter logs. The possible values have the following affect on the adapter's behavior:
Verbose | The adapter will report all information regarding the transport. |
Info | The adapter will report all major operations, as well as all warnings and errors. |
Warning | The adapter will report any conditions that could result in unpredictable behavior as well as errors. |
Error | The adapter will report all errors that prevent normal operations from completing. |
Fatal | The adapter will report only serious errors that cause the adapter to completely stop functioning. |
LogType
LogTypes
Default Value: 1
This property controls where the adapter will log the information. The possible values have the following affect on the adapter's behavior:
None | The adapter will not report any logging information. |
EventLog | The adapter will report all logging information to the event log. The specific event log must be defined in the Location field when this type is selected. |
File | The adapter will report all logging information to a file. The desired file must be specified in the Location field when this type has been selected. |
Constructors
Constructors are only relevant when configuring adapters in orchestrations.
public Log();
public Log(LogTypes logType, string location, LogModes logMode);
Config Settings (SevenZip Pipeline component)
The adapter accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the adapter, access to these internal properties is provided through the Other property.SevenZip Config Settings
0 (default) | Both Protection and Validation are enabled |
1 | Protection is disabled. Validation is enabled. |
2 | Validation is disabled. Protection is enabled. |
3 | Validation and Protection are disabled. |
PlainPassword=yourpassword
In this case you would not specify any value for Password.
- Create an application named "nsoftware.BizTalk".
- Add a new key/value pair. The value should hold the password.
- Set SSOPassword to the key name.
This approach allows the password to be managed by SSO, and the pipeline component to retrieve the value referenced by the key supplied here.
Supported Macros
The adapter also supports the following Macros. These values are not case sensitive and would be supplied to a property in the form %MacroName%.