Connectors have two types of configuration properties: standard configuration properties and adapter-specific configuration properties. You must set the values of these properties before running the adapter.
You use Connector Configurator to configure connector properties:
An adapter obtains its configuration values at startup. During a runtime session, you may want to change the values of one or more connector properties. Changes to some connector configuration properties, such as AgentTraceLevel, take effect immediately. Changes to other connector properties require component restart or system restart after a change. To determine whether a property is dynamic (taking effect immediately) or static (requiring either connector component restart or system restart), refer to the Update Method column in the Connector Properties window of the System Manager.
Standard configuration properties provide information that all adapters use. See Appendix A, Standard configuration properties for connectors for documentation of these properties.
You must provide a value for the ApplicationName configuration property before running the connector.
Connector-specific configuration properties provide information needed by the connector at runtime. Connector-specific properties also provide a way of changing static information or logic within the connector without having to recode and rebuild the agent.
The table below lists the connector-specific configuration properties for the adapter. See the sections that follow for explanations of the properties.
Name | Possible values | Default value | Required |
---|---|---|---|
ApplicationPassword | Login password for WebSphere MQ | No | |
ApplicationUserName | Login user ID for WebSphere MQ | No | |
CCSID | Character set for queue manager connection | null | No |
Channel | MQ server channel through which connector communicates with WebSphere MQ | Yes | |
DataEncoding | The encoding that is used to transform the bytes of a message from the MO queue to a java String: US-ASCII, ISO-8859-1, UTF-8, UTF-16 | UTF-8 | No |
DataHandlerMetaObjectName | Data handler meta-object | BIA_DataHandlerConfigMO | Yes |
ErrorQueue | Queue for unprocessed messages | No | |
HostName | WebSphere MQ server | Yes | |
InDoubtEvents | FailOnStartup, Reprocess, Ignore, LogError | Reprocess | No |
InputQueue | Queue where MFG/PRO puts events | Yes | |
InProgressQueue | In-progress event queue | No | |
PollQuantity | Number of messages to retrieve from each queue specified in the InputQueue property | 1 | No |
Port | Port established for the WebSphere MQ listener | Yes | |
ProtocolHandlerFramework | This is a hierarchical property and has no value | None | Yes |
+ProtocolHandlers | This is a hierarchical property and has no value | Yes | |
++SOAPHTTPHTTPSHandler | This is a hierarchical property. For information on its sub-properties, see SOAPHTTPHTTPSHandler. | Yes | |
ProxyServer | This is a hierarchical property and has no value | No | |
+HttpProxyHost | Host name for the HTTP proxy server | No | |
+HttpProxyPort | Port number for the HTTP proxy server | 80 | No |
+HttpNonProxyHosts | HTTP host(s) requiring direct connection | No | |
+HttpsProxyHost | Host name for the HTTPS proxy server | No | |
+HttpsProxyPort | Port number for the HTTPS proxy server | 443 | No |
+HttpsNonProxyHosts | HTTPS host(s) requiring direct connection | No | |
+SocksProxyHost | Socks proxy server name | No | |
+SocksProxyPort | Socks proxy server port | No | |
+HttpProxyUsername | Http proxy server username | No | |
+HttpProxyPassword | Http proxy server password | No | |
+HttpsProxyUsername | Https proxy server username | No | |
+HttpsProxyPassword | Https proxy server password | No | |
UnsubscribedQueue | Queue to which unsubscribed messages are sent | No | |
UseDefaults | true or false | false |
Password used with UserID to log in to WebSphere MQ.
Default = None.
If the ApplicationPassword is left blank or removed, the connector uses the default password provided by WebSphere MQ.*
User ID used with Password to log in to WebSphere MQ.
Default = None.
If the ApplicationUserName is left blank or removed, the connector uses the default user ID provided by WebSphere MQ.*
The character set for the queue manager connection. The value of this property should match that of the CCSID property in the queue URI.
Default = null.
MQ server connector channel through which the connector communicates with WebSphere MQ.
Default = none.
If the Channel is left blank or removed, the connector uses the default server channel provided by WebSphere MQ.
The encoding that is used to transform the bytes of a message from the MO queue to a java String. Possible values are: US-ASCII, ISO-8859-1, UTF-8, UTF-16.
Default = UTF-8
The name of the top-level meta-object passed to data handler to provide configuration information. For further information, see Configuring the QAD MFG/PRO data handler.
Default = BIA_DataHandlerConfigMO
Queue to which messages that could not be processed are sent.
Default = none
The name of the server hosting WebSphere MQ.
Default = none.
Specifies how to handle in-progress events that are not fully processed due to unexpected connector shutdown. Choose one of four actions to take if events are found in the in-progress queue during initialization:
Default = Reprocess.
The queue where MFG/PRO puts events. Message queues that will be polled by the connector for new messages. There is only1 InputQueue.
Default = none
Message queue where messages are held during processing. You can configure the connector to operate without this queue by using System Manager to remove the default InProgressQueue name from the connector-specific properties. Doing so prompts a warning at startup that event delivery may be compromised if the connector is shut down while are events pending.
Default= none
The number of messages to retrieve from each queue specified in the InputQueue property during a pollForEvents scan.
Default =1
Port established for the WebSphere MQ listener.
Default = None
The Protocol Handler Framework uses this property to load and configure its protocol handlers. This is a hierarchical property and has no value.
Default = none.
This hierarchical property has no value. Its first-level children represent discrete protocol handlers.
Default = none.
The name of a SOAP/HTTP-HTTPS protocol handler. Note that this is a hierarchical property. Unlike listeners, protocol handlers may not be duplicated, and there can be only one handler for each protocol. Table 2 below shows the sub-properties for the SOAP/HTTP-HTTPS protocol handler. The + character indicates the entry's position in the property hierarchy.
Table 2. SOAP/HTTP-HTTPS protocol handler configuration properties
Name | Possible values | Default value | Required |
---|---|---|---|
++SOAPHTTPHTTPSHandler | This is a hierarchical property and has no value. | Yes | |
+++Protocol | The kind
of protocol the handler is implementing. For SOAP/HTTP and
SOAP/HTTPS, the value is soap/http.
|
Yes | |
+++HTTPReadTimeout | A SOAP/HTTP-specific property that specifies the timeout interval (in milliseconds) while reading from the remote host (web service).If this property is not specified or if set to 0, the SOAP/HTTP protocol handler blocks indefinitely while reading from the remote host. | 0 | No |
Configure the values under this property when the network uses a proxy server between the machine on which the adapter is running and the Tomcat QXtend server.This is a hierarchical property and has no value. The values specified under this property are used by the SOAP/HTTP/HTTPS protocol handler.
The host name for the HTTP proxy server. Specify this property if the network uses a proxy server for HTTP protocol.
Default = none
The port number that the connector uses to connect to the HTTP proxy server.
Default = 80
The value of this property gives one or more hosts (for HTTP) that must be connected not through the proxy server but directly. The value can be a list of hosts, each separated by a "|".
Default = none
The host name for the HTTPS proxy server.
Default = none
The port number that the connector uses to connect to the HTTPS proxy server.
Default = 443
The value of this property gives one or more hosts (for HTTPS) that must be connected not through the proxy server but directly. The value can be a list of hosts, each separated by a "|".
Default = none
The host name for the Socks Proxy server. Specify this property when the network uses a socks proxy.
Default = none
The port number to connect to the Socks Proxy server. Specify this property when the network uses a socks proxy.
Default = none
The username for the HTTP proxy server. If the destination for the web service request is an HTTP URL and you specify ProxyServer ->HttpProxyUsername, the SOAP HTTP/HTTPS protocol handler creates a Proxy-Authorization header when authenticating with the proxy. The handler uses the CONNECT method for authentication.
The proxy-authentication header is base64 encoded and has the following structure:
Proxy-Authorization: Basic
Base64EncodedString
The handler concatenates the username and the password property values, separated by a colon (:), to create the base64 encoded string.
Default = none
The password for the HTTP proxy server. For more on how this value is used, see HttpProxyUsername.
Default = none
The username for the HTTPS proxy server. If the destination for the web service request is an HTTPS URL and you specify ProxyServer ->HttpsProxyUsername, the SOAP HTTP/HTTPS protocol handler creates a Proxy-Authorization header for authentication with the proxy. The handler concatenates the HttpsProxyUsername and HttpsProxyPassword configuration property values, separated by colon (:), to create the base64 encoded string.
Default = none
The password for the HTTPS proxy server. For more on how this value is used, see HttpsProxyUsername.
Default = none
Queue to which messages that are not subscribed are sent.
Default = none
For request business objects, if UseDefaults is set to true, the connector checks whether a valid value or a default value is provided for each isRequired business object attribute. If a value is provided, the request operation succeeds. If the parameter is set to false, the connector checks only for a valid value and causes the request operation to fail if it is not provided. The default is false.
When you configure connector properties for the adapter for QAD MFG/PRO, make sure that:
For request processing, you must specify the URL for the QXtend web service. You can do this by specifying that URL as the value of the Destination attribute in the ProtocolConfigMO of the request BO definition.
For further information on setting the Destination attribute in ProtocolConfigMOs, see Overview of generating TLOs for request processing.
To configure the data handler:
For more information on data handler processing, see QAD MFG/PRO data handler.
You can configure the guaranteed-event-delivery feature for the adapter for QAD. You accomplish this by using duplicate event elimination to ensure that duplicate events do not occur. This section provides the following information about use of the guaranteed-event-delivery feature:
To enable the guaranteed-event-delivery feature, you must set the connector configuration properties to values shown in Table 3.
Table 3. Guaranteed-event-delivery connector properties for a connector with a non-JMS event store
Connector property | Value |
---|---|
DeliveryTransport |
JMS |
DuplicateEventElimination |
true |
MonitorQueue |
Name of the JMS monitor queue, in which the connector framework stores the ObjectEventId of processed business objects |
If you configure a connector to use guaranteed event delivery, you must set the connector properties as described in Table 3. To set these connector configuration properties, use the Connector Configurator tool. It displays these connector properties on its Standard Properties tab. For information on Connector Configurator, see Appendix B, Connector Configurator.
If a connector uses guaranteed event delivery by setting DuplicateEventElimination to true, it behaves slightly differently from a connector that does not use this feature. To provide the duplicate event elimination, the connector framework uses a JMS monitor queue to track a business object. The name of the JMS monitor queue is obtained from the MonitorQueue connector configuration property.
After the connector framework receives the business object from the application-specific component (through a call to gotApplEvent() in the pollForEvents() method), it must determine if the current business object (received from gotApplEvents()) represents a duplicate event. To make this determination, the connector framework retrieves the business object from the JMS monitor queue and compares its ObjectEventId with the ObjectEventId of the current business object:
For the connector to support duplicate event elimination, you must make sure that the connector's pollForEvents() method includes the following steps:
The application generates this event identifier to uniquely identify the event record in the event store. If the connector goes down after the event has been sent to the integration broker but before this event record's status can be changed, this event record remains in the event store with an In-Progress status. When the connector comes back up, it should recover any In-Progress events. When the connector resumes polling, it generates a business object for the event record that still remains in the event store. However, because both the business object that was already sent and the new one have the same event record as their ObjectEventIds, the connector framework can recognize the new business object as a duplicate and not send it to the integration broker.
Unless the connector changes any In-Progress events to Ready-for-Poll status when it starts up, the polling method does not pick up the event record for reprocessing.