Using Listening Connectors and Target Connectors

This chapter discusses how to:

Click to jump to parent topicUnderstanding Listening Connectors

Listening connectors receive requests from integration participants, send them to the gateway manager, and deliver responses back to the integration participants. The following diagram shows the flow of an inbound request from an external system into the integration engine through a listening connector:

Request flow through a listening connector

Click to jump to top of pageClick to jump to parent topicPeopleSoft-Delivered Listening Connectors

PeopleSoft delivers several listening connectors with PeopleSoft Integration Broker that enable integration participants to communicate with the PeopleSoft system using a number of communication formats.

You send messages to a listening connector at a URL address derived from its class location on the gateway web server.

Note. The integration gateway provides a matching target connector for all connectors in the following table, except for the services listening connector. Although this chapter discusses each pair of listening and target connectors in a separate section, the use of a particular listening connector does not obligate you to use the corresponding target connector.

Connector

Description

PeopleSoft listening connector

In combination with the PeopleSoft target connector, this connector establishes the primary connection between a PeopleSoft application's integration engine and its local gateway. It receives requests from integration participants in the PeopleSoft internal messaging format. Third-party applications and PeopleSoft releases that don't include PeopleSoft Integration Broker should not send messages to this connector.

See Working With the PeopleSoft Connectors.

HTTP listening connector

This connector provides a web-standard method of communicating with the gateway. It accepts HTTP requests using the GET and POST methods. It also accepts secure HTTPS requests if SSL encryption is configured on the gateway's web server.

See Working With the HTTP Connectors.

PeopleSoft 8.1 listening connector

This connector enables PeopleSoft 8.1x applications to communicate with the gateway using native Application Messaging technology. Third-party applications can send properly formatted 8.1x application messages to this connector. It also accepts secure HTTPS requests if SSL encryption is configured on the gateway's web server.

See Working With the PeopleSoft 8.1 Connectors.

JMS listening connector

This connector enables JMS provider systems to communicate with the gateway using standard JMS protocols.

See Working With the JMS Connectors.

AS2 listening connector

The AS2 listening connector enables you to receive request messages in AS2 format.

See Working With the AS2 Connectors.

PeopleSoft services listening connector

PeopleSoft Integration Broker uses the PeopleSoftServiceListeningConnector as an endpoint for all node transactions that you expose as WSDL. All PeopleSoft node transactions that you publish as WSDL have the following endpoint: http://<machine>/PSIGW/PeopleSoftServiceListeningConnector.

See Working With the PeopleSoft Services Listening Connector.

All of the delivered listening connectors that service HTTP requests run as servlets and are configured to run in Oracle WebLogic and IBM WebSphere web server environments. The delivered listening connectors that service HTTP requests are the PeopleSoft listening connector, the HTTP listening connector, and the PeopleSoft 8.1 listening connector.

Click to jump to top of pageClick to jump to parent topicNull Characters in Messages

The listening connectors delivered with PeopleSoft Integration Broker do not support null characters (ASCII value 00) as part of message field data. If a third-party application sends a message containing null characters, you must replace each instance of the null character with an acceptable substitute character, such as a space, before sending the message to the PeopleSoft system. Alternatively, you can modify the delivered listening connector to replace the null characters when it receives the message.

Click to jump to parent topicUnderstanding Target Connectors

Target connectors generate requests, send them to integration participants, wait for responses from participants, and deliver the responses back to the gateway manager, as shown in the following diagram:

Request and response flow through a target connector

The integration gateway invokes target connectors dynamically through the gateway manager. Target connectors adhere to a standard structure by implementing the target connector interface provided by the integration gateway. By implementing this interface, target connectors can take advantage of all gateway manager services.

Each target connector has an internal connector ID that you use when selecting the connector; for example, the connector ID for the simple file target connector is FILEOUTPUT.

Click to jump to top of pageClick to jump to parent topicPeopleSoft-Delivered Target Connectors

PeopleSoft delivers several target connectors with PeopleSoft Integration Broker that enable you to communicate with integration participants using a wide range of communication formats. The following table describes the delivered target connectors:

Connector

Description

PeopleSoft target connector

In combination with the PeopleSoft listening connector, this connector establishes the primary connection between a PeopleSoft application's integration engine and its local gateway. It sends requests to integration participants over a Oracle Jolt connection in the PeopleSoft internal messaging format. Use this connector to send messages only to PeopleSoft applications that use PeopleSoft Integration Broker.

Note. Oracle Jolt is a Java-based interface that extends Oracle Tuxedo capabilities to the internet. The integration gateway uses it as the standard interface for communicating with integration engines through the PeopleSoft target connector.

See Working With the PeopleSoft Connectors.

HTTP target connector

This connector provides a web-standard method for the gateway to communicate with PeopleSoft and third-party applications. It sends HTTP requests using the GET and POST methods. It also sends secure HTTPS requests if SSL encryption is configured on the gateway.

See Working With the HTTP Connectors.

PeopleSoft 8.1 target connector

This connector enables the gateway to communicate with PeopleSoft 8.1x applications that use Application Messaging technology. It converts outbound messages to the Application Messaging native format. It also sends secure HTTPS requests if SSL encryption is configured on the gateway.

See Working With the PeopleSoft 8.1 Connectors.

JMS target connector

This connector enables the gateway to communicate with JMS provider systems using standard JMS protocols.

See Working With the JMS Connectors.

FTP target connector

This connector enables the gateway to transfer messages to an FTP server. It converts outbound messages to file data it can send using the FTP PUT command. You can also send messages over a secure FTP(S) protocol. In addition you can receive messages from FTP servers using the GET command.

See Working With the FTP Target Connector.

AS2 target connector

The AS2 target connector enables you to send messages in AS2 format.

See Working With the AS2 Connectors.

SMTP target connector

With this connector, the gateway can send messages to an SMTP server using the PUT command.

See Working With the SMTP Target Connector.

Simple file target connector

With this connector, the gateway saves outbound messages as XML files.

See Working With the Simple File Target Connector.

GetMail target connector

This connector provides functionality specific to the PeopleSoft Multichannel Framework.

See Configuring the Email Channel.

Click to jump to top of pageClick to jump to parent topicTarget Connector Properties

Most of the delivered target connectors have required and optional configuration properties that you set to control the connectors' behavior. Depending on the connector, you configure some of these properties in the integrationGateway.properties file or by using the Gateways component. You can specify values for connector properties in the following ways:

When you create a node definition in the local database, you specify which gateway and target connector should be used to send messages to that node. In the node definition, you can supply values for the connector's node-level properties that override the defaults and apply only when sending messages to that node.

See Adding and Configuring Nodes.

When you define a routing definition, you can supply values for the connector's node-level properties to override the node definition's values and apply only when sending messages with that transaction.

See Overriding Gateway and Connector Properties.

You can set and override target connector properties at runtime using PeopleCode.

See Setting and Overriding Target Connector Properties at Runtime.

Click to jump to top of pageClick to jump to parent topicTarget Connector Passwords

You must encrypt all required and optional target connector passwords.

See Encrypting Passwords.

Click to jump to top of pageClick to jump to parent topicProperties for HTTP URLs

The following connectors communicate over HTTP:

For the HTTP target connector you can specify only one primary URL (PRIMARYURL) per node. The primary URL is the URL of the external system that handles the request.

However, you may specify more than one backup URL (BACKUPURL). Upon the failure of a transaction to the primary URL, the message is sent to any backup URLs one at a time. When a transaction that is sent to a URL succeeds, the other URLs are not used. If all URLs fail, the appropriate action and message is relayed to the calling module. The message and the node/URL failure is noted in the database or in the PeopleSoft Integration Broker Monitor.

Note. If the property ID is HEADER, then the target connector retrieves the information from a getHeader method call on the ConnectorInfo object, which resides on the IBRequest object. All other properties can be retrieved from a getFieldValue method call on the ConnectorInfo object.

Click to jump to top of pageClick to jump to parent topicProperties for Message Compression and Encoding

When the local integration gateway sends messages to a remote gateway, it ensures that they are compressed and base64 encoded. However, by default, when it sends messages directly to any node, it sends them uncompressed and unencoded. You can change this setting for transactions that use the following connectors:

Use the node-level SendUncompressed property for the appropriate connector. You can change the current value of this property specified for a given node by using the Connectors page of the node definition, or you can override the value for a single transaction by using the Connectors page of the node transaction detail. If you set the property's value to No, it sends messages compressed and base64 encoded.

See Adding and Configuring Nodes.

Note. If nonrepudiation is in effect for a message, the SendUncompressed property is not used, and the message is always sent compressed and base64 encoded.

Click to jump to parent topicSetting Target Connector Delivery Modes

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding Setting Target Connector Delivery Modes

PeopleSoft provides the following delivery modes for asynchronous service operations:

Guaranteed Delivery

If Integration Broker is not able to successfully deliver a service operation to its destination, the system automatically re-attempts delivery. The status of a service operation send using guaranteed delivery in the Service Operations Monitor is not Done until Integration Broker receives an acknowledgement from the receiving system.

Guaranteed Delivery is the default delivery mode.

Best Effort

The system makes one attempt to send a service operation to a destination.

Upon sending, the transaction can appear in the Service Operations Monitor as Done or Done NoAck. A status of Done indicates that the transaction was sent to the target system and Integration Broker received an acknowledgement from the target system. A status of Done NoAck indicates that the transaction was sent, but Integration Broker did not receive an acknowledgement of the transaction from the receiving system.

You can override the Service Operations Monitor contract status using PeopleCode.

Click to jump to top of pageClick to jump to parent topicSpecifying Target Connector Delivery Modes

You can choose either Guaranteed Delivery or Best Effort delivery when using the following target connectors:

Guaranteed Delivery is the only delivery mode option available for the PeopleSoft 8.1 target connector (PSFT81TARGET) and PeopleSoft target connector (PSFTTARGET).

You set the delivery mode using the Connectors page (IB_NODECONN) in the Nodes component or the Connectors page (IB_ROUTINGDEFNCON) in the Routing component. The following example shows the Delivery Mode field as it appears on the Connectors page in the Nodes component:

If working with the PeopleSoft 8.1 target connector or the PeopleSoft target connector, the Delivery Mode field is read-only.

Click to jump to top of pageClick to jump to parent topicOverriding Target Connector Delivery Modes

You can override the delivery mode set for a target connector by using the .IBConnectorInfo.DeliveryMode property of the IBInfo object and setting it equal to one of the following values:

%IB_DM_BestEffort

Sets the delivery mode to Best Effort.

Example:

&MSG.IBInfo.IBConnectorInfo.DeliveryMode = %IB_DM_Best⇒ Effort;

%IB_DM_Guarantee

Sets the delivery mode to Guaranteed Delivery.

Example:

&MSG.IBInfo.IBConnectorInfo.DeliveryMode = %IB_DM_⇒ Guarantee;

%IB_DM_Reset

Clears any PeopleCode delivery mode override.

Example:

&MSG.IBInfo.IBConnectorInfo.DeliveryMode = %IB_DM_Reset;

The following pseudo-code shows overriding the delivery mode to Best Effort prior to a publish:

&MSG=CreateMessage(OPERATION.FLIGHTPLAN); &MSG.CopyRowset(&FLIGHT_PROFILE); &Bo=&MSG.IBInfor.LoadConnectorPropFromRouting("FLIGHTPLAN_ASYNC"); &MSG.IBInfo.ConnectorOverride=True; ​&MSG.IBInfo.ConnecotrInfo.DeliveryMode=%IB_DM_BestEffort; %IntBroker.Publish(&MSG);

Click to jump to top of pageClick to jump to parent topicOverriding the Service Operations Monitor Contract Status for Best Effort Delivery Transactions

The system invokes the OnAckReceive PeopleCode event when the status of a publication contract is Done, or Done NoAck.. You can then override the contract status to the following: Done, Error, or Done NoAck.

In the case where best effort delivery was used, if the PeopleCode returns the status of Retry, the Integration Broker framework overrides the status to Done NoAck. To check if the status returned by the system is Done NoAck check the ResponseStatus property on the Message object.

The following pseudo-code demonstrates overriding the publication contract status of Done NoAck using the OnAckReceive event:

import PS_PT:Integration:IReceiver; class FLIGHTACK implements PS_PT:Integration:IReceiver method FLIGHTACK(); method OnAckReceive (&MSG As Message) Returns integer; end-class; /* constructor */ method FLIGHTACK end-method; method OnAckReceive /+ &MSG as Message +/ /+ Returns Integer +/ /+ Extends/implements PS_PT:Integration:Ireceive.OnAckReceive +/ /+ Variable Declaration +/ Local Rowset &rs; Local string &strException, &data; If &MSG.ResponseStatus <> %IB_Status_Success Then /+ Done NoAck status returned from IB framework can get the actual exception via the IBException Object +/ &strException = &MSG.IBException.ToString(); Return %Operation_DoneNoAck; End-If /* process soap fault and determine what to do +/ &data = &MSG.GetContentString(); Return %Operation_Done; end-method

Click to jump to parent topicWorking With the PeopleSoft Connectors

This section provides an overview of the PeopleSoft connectors and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding the PeopleSoft Connectors

The PeopleSoft listening and target connectors establish the primary connection between a PeopleSoft application's integration engine and its designated local gateway. They also support secure HTTPS communications if SSL encryption is configured on the gateway machine.

Click to jump to top of pageClick to jump to parent topicUsing the PeopleSoft Listening Connector

The PeopleSoft listening connector receives requests from integration participants in the PeopleSoft internal messaging format. Like the HTTP listening connector, the PeopleSoft listening connector is implemented as a Java HTTPServlet object. However, it receives requests in PeopleSoft Multipurpose Internet Mail Extensions (MIME) format. A PeopleSoft integration engine sends messages formatted in MIME over HTTP. The PeopleSoft listening connector receives these messages as POSTs (GET requests cannot be made in this way) and immediately converts the MIME input into a Java string object.

The PeopleSoft listening connector logs these requests and then invokes the gateway manager to unmarshall the string into an IBRequest object. The gateway manager invokes the target connector specified in the ConnectorClassName field in the IBRequest, which is derived from the node definition on the source integration engine. The gateway manager returns the responses to the connector, where they are logged and sent back to the original requesting systems, typically integration engines.

The URL for the PeopleSoft listening connector is http://gatewayserver/PSIGW/PeopleSoftListeningConnector, where gatewayserver is the machine name and port, host name, or IP address of the web server hosting the gateway.

Note. Third-party applications and PeopleSoft releases that don't include PeopleSoft Integration Broker should not send messages to this connector unless they can produce a properly MIME-encoded, PeopleSoft formatted message.

Click to jump to top of pageClick to jump to parent topicUsing the PeopleSoft Target Connector

The PeopleSoft target connector initiates conversation with a PeopleSoft application's integration engine over a Oracle Jolt connection in the PeopleSoft internal messaging format. The integration gateway sends messages to a specific integration engine based on the destination node specified in an incoming message. Use this connector to send messages only to PeopleSoft applications that use PeopleSoft Integration Broker.

The connector ID for the PeopleSoft target connector is PSFTTARGET.

Gateway-Level Connector Properties

There are no gateway-level connector properties specific to this connector; however, it uses both the node-specific and default Oracle Jolt connect string properties in the integrationGateway.properties file to determine where to send the messages.

See Setting General Connection Properties.

Node-Level Connector Properties

There are no node-level connector properties for the PeopleSoft target connector.

Click to jump to parent topicWorking With the HTTP Connectors

This section provides an overview of the HTTP connectors and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding the HTTP Connectors

The HTTP listening and target connectors provide a web-standard method for an integration gateway to exchange messages with both PeopleSoft and third-party applications using the HTTP GET and POST methods. They also support secure HTTPS communications if SSL encryption is configured on the gateway machine.

Click to jump to top of pageClick to jump to parent topicUsing the HTTP Listening Connector

The HTTP listening connector monitors specific ports for incoming HTTP messages. It's implemented as a Java HTTPServlet object. The URL for the HTTP listening connector is http://gatewayserver/PSIGW/HttpListeningConnector, where gatewayserver is the machine name and port, host name, or IP address of the web server hosting the gateway.

The HTTP listening connector accepts compressed and base 64-encoded data.

PeopleSoft HTTP Message Parameters

You must specify several required parameters in messages that you send to the HTTP listening connector. There are also several optional parameters.

These parameters, also known as credentials, are metadata specific to each message that the HTTP listening connector processes. These parameters supply authentication information and descriptive details about how the message is processed. For each message that you send to the connector, PeopleSoft Integration Broker uses the parameters that you supply to create an IBRequest that it uses to process and service the request internally. The following table describes the parameters:

Parameter

Description

OperationName

Specify the external alias name.

OperationType

(Optional.) Specify the type of message that is sent. Values are:

  • Sync: The message is synchronous.

  • Async: The message is asynchronous.

  • Ping: The message is used to ascertain whether the target node is active or inactive.

From

Specify the name of the node sending the request.

This field is not required if you are invoking SSL encryption and addressing an HTTPS URL.

Password

Enter the password as it appears in the target node's definition for the source node. The target node authenticates the password when it receives the message.

This parameter is required only if password authentication is enabled for the source node definition in the target database.

OrigUser

(Optional.) Specify the user ID from which the message was initially generated.

OrigNode

(Optional.) Specify the name of the node that started the process.

OrigProcess

(Optional.) Specify the name of the process on the source system that sent the message. For example, a message published from the Inventory Definitions page has a process name of INVENTORY DEFIN.

OrigTimeStamp

(Optional.) Specify the time at which the original request was created.

FinalDestination

(Optional.) Specify the name of the node that will ultimately receive the message. This is common when a PeopleSoft Integration Broker hub is used.

To

Specify the name of the node that will receive the message. This parameter is optional if you specified a default target node using the Default Application Server Jolt connect string properties in the integrationGateway.properties file.

See Setting General Connection Properties.

SubQueue

(Optional.) Specify the name of a partitioning subqueue to be created at runtime for the message. All messages with the same value for this parameter will be processed in the same subqueue.

Unlike the subqueue created by selecting partitioning fields in a queue definition, the subqueue that you specify here has no qualifying criteria except the name that you enter. Field-based partitioning is ignored for messages with this parameter.

See Applying Queue Partitioning.

NonRepudiation 

(Optional.) Specify whether the message content in the request should be processed using nonrepudiation logic. Values are:

  • Y: Use nonrepudiation logic.

  • N: Don’t use nonrepudiation logic.

MessageName

(Optional.) Specify the name of the message.

This parameter is used for backward compatibility with previous PeopleTools releases.

MessageVersion

(Optional.) Specify which version of the message is sent.

This parameter is used for backward compatibility with previous PeopleTools releases.

ExternalMessageID

(Optional.) Unique identifier for a message.

The ID must not exceed 70 characters.

See Using External Message IDs later in this section.

The PeopleSoft HTTP message parameters can be passed with inbound messages to the HTTP listening connector using several methods, and they are transmitted with outbound messages by the HTTP target connector.

See Complying With Message Formatting and Transmission Requirements.

Using External Message IDs

You can specify an external message ID as a parameter in the HTTP listening connector to uniquely identify a message in PeopleSoft Integration Broker, thus ensuring that no duplicate messages are delivered to the system. The ExternalMessageID parameter is optional, but if you do specify this parameter, it must be unique and contain no more than 70 characters.

The HTTP listening connector can receive an external message ID in:

The following example shows passing an external message ID in a query string:

http://localhost/PSIGW/HttpListeningConnector?From=QE_UNDERDOG&To= QE_LOCAL&Operation=QE_SYNC_MSG.VERSION_1 ​ExternalMessageID=UniqueId0006

The following example shows passing an external message ID in an HTTP header:

ExternalMessageID: ​UniqueId0006

The following example shows passing an external message ID in a SOAPAction header:

http://peoplesoft.com/QE_SYNC_MSG/QE_UNDERDOG/password/QE_LOCAL/ ​UniqueId0006

The following example shows passing an external message ID in PeopleSoft IBRequest XML:

<?xml version="1.0"?> <IBRequest> <From> <RequestingNode>QE_UNDERDOG</RequestingNode> <OrigTimeStamp>2003-09-29T00:37:30.790-0800</OrigTimeStamp> ​<ExternalMessageID>UniqueId0006</ExternalMessageID> /From> <ExternalOperationName>QE_SYNC_MSG.VERSION_1</ExternalOperationName> <OperationType>sync</OperationType> <To> <DestinationNode>QE_LOCAL</DestinationNode> </To> <ContentSections> <ContentSection> <Headers> <version>VERSION_1</version> </Headers> <Data><![CDATA[<?xml version="1.0"?><QE_SYNC_MSG/>]]></Data> </ContentSection> </ContentSections> </IBRequest>

Using the HTTP Listening Connector to Receive Message Segments

The HTTP listening connector is segment-aware and you may use it to receive message segments from integration partners.

See Working With Message Segments.

Click to jump to top of pageClick to jump to parent topicUsing the HTTP Target Connector

The HTTP target connector enables you to exchange messages with non-PeopleSoft systems using the HTTP protocol. The HTTP target connector uses SSL for all basic security services, including client-side authentication.

The HTTP target connector also supports the Simple Object Access Protocol (SOAP) XML format.

The connector ID for the HTTP target connector is HTTPTARGET.

IBInfo Data Contained in HTTP Headers

A message has two parts—the transaction data and the IBInfo header that is the routing envelope used by PeopleSoft Integration Broker. In the event that a receiving system wants to make use of the IBInfo data, IBInfo header information is included when publishing messages to non-PeopleSoft systems when using the HTTP target connector or the JMS target connector.

When using the HTTP target connector to send messages to non-PeopleSoft systems, the following IBInfo data is contained in the HTTP headers. The content of the message (message body) is not impacted.

Gateway-Level Connector Properties

The HTTP target connector provides the option of routing through proxy servers. To enable this capability, you must set the domain name of the proxy server and the port number of the proxy server in the integrationGateway.properties file:

See Running Integration Gateways Behind Proxy Servers.

Node-Level Connector Properties

The HTTP target connector features properties that correspond to standard HTTP 1.1 header fields, as well as several custom properties that are documented in the following table. The World Wide Web Consortium (W3C) web site provides complete documentation for the standard header fields.

See http://www.w3.org/Protocols/rfc2616/rfc2616.html

Property ID

Property Name

Description

HTTPPROPERTY

Method

Specify the HTTP method used to send messages. The valid values are:

  • POST (the default).

  • GET.

HTTPPROPERTY

RemoveSOAP-Response

(Optional.) Remove the SOAP wrapping from response messages returned from a third party. The valid values are:

  • Y. (Default.) The SOAP formatting is removed from response messages.

  • N. The SOAP formatting is not removed from response messages.

HTTPPROPERTY

SOAPUpContent

(Optional.) Automatically wrap outbound transactions in SOAP format. The valid values are:

  • Y. (Default.) Outbound messages are wrapped in SOAP format.

  • N. Outbound message are not wrapped in SOAP format.

HTTPPROPERTY

Use-WSA10-Namespace

(Optional.) Override the WS-Addressing namespace URI used in outbound messages that have been SOAP wrapped via the connector property SOAPUpContent. The valid values are:

  • Y. (Default.) The namespace URI http://www.w3.org/2005/08/addressing is used.

  • N. The system default WS-Addressing namespace URI is used.

PRIMARYURL

URL

Specify the URL to which messages are sent using this connector.

BACKUPURL

URL

(Optional.) Specify the URL to which messages can be sent if the primary URL is inaccessible.

HEADER

SendUncompressed

Specify whether to send messages decompressed. Options are:

  • Y: Send messages decompressed and decoded. (Default.)

  • N: Send messages compressed and base64 encoded.

HEADER

Proxy-Authorization

Specify the user ID and password for proxy authentication.

See Running Integration Gateways Behind Proxy Servers.

HEADER

SOAPAction

(Optional.) Enable third-party systems (for example, Universal Description, Discovery, and Integration (UDDI) sites) to receive SOAP transactions over HTTP.

The default value is ”“ (a null string).

HEADER

TimeOut

Specify the time in milliseconds for the connector to wait for the message to transmit. If the timeout period expires without a successful transmission, the transaction fails.

The default value is 50000 (50 seconds).

Using the Content-Type Property

One of the optional gateway-level properties you can set for the HTTP target connector is Content-Type.

When the HTTP target connector property Content-Type is application/x-www-form-urlencoded, the connector converts the content string to MIME format.

Encoding Strings

When encoding a string, the following rules apply:

Using the HTTP Target Connector to Send Message Segments

The HTTP target connect is segment-aware and you may use it to send message segments to integration partners.

See Working With Message Segments.

Click to jump to top of pageClick to jump to parent topicComplying With Message Formatting and Transmission Requirements

This section discusses:

This section directly addresses the issue of third parties that format and transmit messages to the HTTP listening connector; third parties should also expect the HTTP target connector to format and transmit outbound messages using the same standards.

The PeopleSoft XML Message Wrapper

At a minimum, when you submit message content to the HTTP listening connector, you submit it—preceded by the following XML version declaration—inside a simple XML wrapper:

<?xml version="1.0"?><![CDATA[your_message_content]]>

Upon receiving the message, the integration gateway strips off the outer elements, leaving the message content with its original XML version declaration to be handled by PeopleSoft Integration Broker:

<?xml version="1.0"?>your_message_content

The message content can comply with the PeopleSoft rowset-based message format, which you can manipulate using the PeopleCode Rowset class. It can also be nonrowset-based XML-DOM-compliant data, which you can manipulate with nonrowset PeopleCode. Both formats are compatible with Application Engine transform programs, in which you can manipulate the message content using both PeopleCode and Extensible Stylesheet Language Transformation (XSLT) code.

The following template shows how a message in PeopleSoft rowset-based message format fits into the XML wrapper (data omitted for readability):

<?xml version="1.0"?><![CDATA[<?xml version="1.0"?> <psft_message_name> ​<FieldTypes>...</FieldTypes><MsgData>...</MsgData> </psft_message_name>]]>

Note. Psft_message_name is the name of the message definition in the PeopleSoft database.

The PeopleSoft Non-XML Message Element

If you’re submitting a non-XML message, you must insert the message content into a special element containing its own CDATA tag, as follows:

<?xml version="1.0"?><![CDATA[<?xml version="1.0"?> <any_tag psnonxml="yes"> <![CDATA[your_nonXML_message_content]]> </any_tag>]]>

Note. Any_tag can be any tag that you want to use. This is an XML-DOM-compliant method of transmitting non-XML data.

The following restrictions apply to the content of non-XML messages, such as those in comma-separated value (CSV) or PDF format:

Upon receiving the message, the integration gateway strips off the outer elements, leaving the non-XML message content inside a valid XML-DOM-compliant wrapper with its original XML version declaration.

Passing HTTP Parameters

You can pass parameters to the HTTP listening connector in:

The only HTTP parameters that you must provide for basic messaging are MessageName and RequestingNode. If you pass them in the PeopleSoft message wrapper, you must embed them in an XML structure along with the CDATA element containing the message content. Following is the minimum wrapper structure required to pass the parameters this way:

<?xml version="1.0"?> <IBRequest> ​<ExternalOperationName>psft_operation_name</ExternalOperation Name> <From> ​<RequestingNode>psft_node_name</RequestingNode> </From> <ContentSections> <ContentSection> <Data> ​<![CDATA[<?xml version="1.0"?>your_message_content]]> </Data> </ContentSection> </ContentSections> </IBRequest>

Note. Psft_message_name and psft_node_name are the names of the message definition and the sending system's node definition in the PeopleSoft database.

If you want to pass all of the HTTP message parameters in the PeopleSoft message wrapper, you embed them in the XML wrapper structure as follows (required parameters are shown emphasized, and element values are omitted for readability):

<?xml version="1.0"?> <IBRequest> ​<ExternalOperationName/> <OperationType/> <From> ​<RequestingNode/> <Password/> <OrigUser/> <OrigNode/> <OrigProcess/> <OrigTimeStamp/> </From> <To> <FinalDestination/> <DestinationNode/> <SubChannel/> </To> <ContentSections> <ContentSection> <NonRepudiation/> <MessageVersion/> <Data> ​<![CDATA[<?xml version="1.0"?>your_message_content]]> </Data> </ContentSection> </ContentSections> </IBRequest>

The following template shows the format for passing HTTP message parameters in the HTTP message header. The optional parameters can be omitted if not needed. The HTTP header format is as follows (required parameters are shown emphasized):

OperationName:OperationName ​OperationType: sync|async|ping ​From:RequestingNode Password: ​Password OrigUser: ​OrigUser OrigNode: ​OrigNode OrigProcess: ​OrigProcess OrigTimeStamp: ​OrigTimeStamp FinalDestination: ​FinalDestination To: ​DestinationNode SubQueue: ​SubQueue NonRepudiation: Y|N

Warning! Whether you send message parameters in the message wrapper or in the HTTP header, those parameters—including the password—aren't secure if you don't encrypt the message. You can secure messages by implementing SSL encryption.

The following template shows the format for passing HTTP message parameters in a URL query string. Include all of the parameter variables, even if you don't supply values for some of them. With only the required parameters, the URL query string looks like the following (required parameters are emphasized):

http://gatewayserver/PSIGW/HttpListeningConnector?&Operation=Operation Name&OperationType=&From=RequestingNode&Password=&OrigUser=&OrigNode= &OrigProcess=&OrigTimeStamp=&FinalDestination=&To=&SubQueue= &NonRepudiation=&MessageVersion=

The full URL query string format is:

http://gatewayserver/PSIGW/HttpListeningConnector?&Operation=Operation Name&OperationType=[sync|async|ping]&From=RequestingNode&Password= Password&OrigUser=OrigUser&OrigNode=OrigNode&OrigProcess=OrigProcess& OrigTimeStamp=OrigTimeStamp&FinalDestination=FinalDestination&To=DestinationNode⇒ &SubQueue
=SubQueue&NonRepudiation=[Y|N]&MessageVersion=MessageVersion

Warning! URL query strings are always transmitted in clear text, so your parameters are visible to the world. This means that using a query string to send message parameters—such as a password—is highly insecure. Consequently, it is not recommended.

Using an HTTP POST is the only way that you can send message content to PeopleSoft Integration Broker through the HTTP listening connector. However, you can use an HTTP GET when you don't need to post message content. In this case, you pass the HTTP connector properties in the URL query string or in the HTTP header, but you don't insert any message content or XML wrapper. For example, you might have requests for information (queries), such as a request for a customer list. In this case, you need to specify only the message name (for example, CUSTOMER_LIST_REQUEST) and the name of the requesting node in the URL query string or the HTTP header.

Specifying Message Destinations in HTTP Headers

When message credentials are supplied in HTTP headers, the "To:" (destination node) specification is ignored. PeopleSoft Integration Broker uses the Default Application Server node entry in the integrationGateway.properties file as the destination node, not the "To:" entry from the headers. If no default application server entry is specified in the integrationGateway.properties file, the follow error is generated:

<?xml version="1.0"?> <IBResponse type="error"> <DefaultTitle>Integration Broker Response</DefaultTitle> <StatusCode>20</StatusCode> <MessageID>10201</MessageID> <DefaultMessage>null</DefaultMessage> </IBResponse>

You can specify destination node information in the SOAPAction field or HTTP query string.

Note. If using SOAP, PeopleSoft Integration Broker takes all IBInfo from the SOAPAction field, not from the HTTP header or HTTP query string.

Adding Nonrepudiation Signatures

If you’re working with a nonrepudiated message, its signature must be located at the same level as the message data.-The message doesn’t need to be formatted with the PeopleSoft rowset hierarchy, as long as it's enclosed in valid XML and has the signature section as specified by the W3C. The following template describes a nonrepudiation signature alongside the PeopleSoft rowset-based format message it represents, within the ContentSection element of the PeopleSoft XML message wrapper (the tags you must add for nonrepudiation are in bold):

<ContentSections> <ContentSection> ​<NonRepudiation>Y</NonRepudiation> <Data> ​<?xml version="1.0"?><any_tag><data> <![CDATA[<?xml version="1.0"?>your_message_content]]> ​</data><Signature><SignedInfo><CanonicalizationMethod/><SignatureMethod/><Reference><DigestMethod><DigestValue>...</DigestValue></DigestMethod></Reference></SignedInfo><SignatureValue>...</SignatureValue></Signature></any_tag> </Data> </ContentSection> </ContentSections>

Note. Any_tag can be any tag that you want to use, such as My_NR_Message.

You can find more information about the proposed standard for XML signature syntax and processing at the W3C web site.

See http://www.w3.org/TR/xmldsig-core/

Important! In PeopleSoft Integration Broker, all signatures use line feeds for newlines, so the nonrepudiation signature cannot include any carriage return and line feed (CR/LF) pairs. A non-PeopleSoft application must strip out the carriage returns before inserting the signature and sending the message.

Note. To handle nonrepudiated messages, you must install node-based digital certificates on the sending and receiving systems and configure the message and channel definitions to use the nonrepudiation feature.

See Implementing Nonrepudiation.

Submitting Cookies HTTP Headers

The HTTP listening connector supports cookies. Cookies that are passed as part of a message request to the HTTP listening connector are processed, read, and manipulated by the receiving PeopleCode in the application. You enter cookies in the HTTP message header. For example:

Cookie: favoritecolor=green; path=/; expires Mon, 10-Dec-2007 13:46:00 GMT

In this example, the header entry would result in a cookie named favoritecolor. The value of favoritecolor is green. This cookie has a path of /, meaning that it is valid for the entire site, and it has an expiration date of December 10, 2007 at 1:46 p.m. Greenwich Mean Time (GMT).

See Handling Cookies.

Responses to Inbound Requests

PeopleSoft Integration Broker responds to inbound requests in one of three ways:

Submitting SOAP Messages

SOAP messages support a subset of the HTTP message parameters— two required parameters and two optional parameters. You pass them to the HTTP listening connector in a SOAP-specific HTTP header. Concatenate them in a string, with each parameter preceded by a forward slash (/). They must appear in the following order:

http://peoplesoft.com/OperationName/RequestingNode/Password/DestinationNode

The following example shows where the parameter string belongs in a SOAP HTTP header:

POST /get_BindingDetail HTTP/1.1 Host: www.someOperator.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn ​SOAPAction: http://peoplesoft.com/PURCHASE_ORDER/MY_NODE/ PSFT_PASS/PSFT_NODE ​

Note. The SOAPAction must always be in the HTTP header, not contained within the IBRequest XML.

Because the last two parameters are optional, you can exclude them; however, you must still include the forward slashes. This example excludes the password:

SOAPAction: http://peoplesoft.com/PURCHASE_ORDER/MY_NODE//PSFT_NODE

Note. The SOAPAction format for previous PeopleTools releases is still supported. This format had the parameters concatenated in a string separated by pound signs ("#"): SOAPAction: #PURCHASE_ORDER#MY_NODE#PSFT_PASS#PSFT_NODE

Warning! When you send message parameters in the SOAP header, those parameters—including the password—aren't secure if you don't encrypt the message. You can secure messages by implementing SSL encryption.

If an error occurs on the integration gateway during processing, a SOAP-specific XML error is generated instead of a standard XML error. Following is an example of an error in SOAP-specific XML format:

<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Server Error</faultstring> <detail> <IBResponse type="error"> <DefaultTitle>Integration Broker Response</DefaultTitle> <StatusCode>10</StatusCode> <MessageID>10731</MessageID> <DefaultMessage></DefaultMessage> </IBResponse> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Click to jump to top of pageClick to jump to parent topicUnderstanding HTTP Status Codes

This section describes HTTP status codes for non-SOAP and SOAP messages.

Status Codes for Non-SOAP Messages

The following list summarizes HTTP status codes for non-SOAP messages:

Status Codes for SOAP Messages

This section summarizes HTTP status codes for SOAP messages.

If you are following SOAP 1.1 standards, the HTTP status code 500 indicates an Error.

If you are following SOAP 1.2 standards, the following HTTP status codes apply:

Click to jump to top of pageClick to jump to parent topicRunning Integration Gateways Behind Proxy Servers

When a proxy server is set up for a network on which the integration gateway resides, all HTTP transactions are routed through that proxy server automatically. The HTTP transport layer uses proxy server settings that you specify in the integrationGateway.properties file. The message is routed to the proxy server and then on to the internet. Only the HTTP target connector can use a proxy server.

Inserted in the HTTP message header of each transaction is a Proxy-Authorization header field containing a user ID and password. The proxy server uses these values to authenticate the message and then passes it on to its target.

PeopleSoft also enables you to exclude user-defined hosts from connecting through a proxy server.

Setting Proxy Web Server Properties

To run the integration gateway behind a proxy server:

  1. Set the gateway-level properties.

    Uncomment and add values for the properties in the integrationGateway.properties file section labeled Proxy webserver section.

    Property

    Description

    ig.proxyHost

    Enter the domain name of the proxy web server; for example:

    proxy.peoplesoft.com

    ig.proxyPort

    Enter the port number of the proxy web server; for example:

    80

    ig.nonProxyHost

    Enter a list of hosts that should be accessed directly, instead of through the proxy server. The values can be a list of hosts, each seperated by a |, and in addition a wildcard character (*) can be used for matching. For example: For example:

    ig.nonProxyHosts=*.google.com|finance.yahoo.com

    The HTTP target connector reads these two properties and calls the setProxy function. In an outbound transaction, the request is redirected to the proxy server and the proxy server forwards the request to the destination URL.

  2. Set the node-level property.

    You set the user ID and password required by the proxy server in the HEADER, Proxy-Authorization connector property. The integration gateway encodes the values that you provide, adds the required formatting, and sends it. The format is:

    userid:password

See Also

Using the integrationGateway.properties File

Click to jump to parent topicWorking With the PeopleSoft Services Listening Connector

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding the PeopleSoft Services Listening Connector

The PeopleSoft services listening connector is used for inbound integrations with web services.

SOAP Messages

If the inbound request is a SOAP message:

Click to jump to top of pageClick to jump to parent topicSetting Parameters for the PeopleSoft Services Listening Connector

The same required and optional parameters that you can set for the HTTP listening connector pertain to the PeopleSoft services listening connector. For a list of the required and optional parameters, see the Using the HTTP Listening Connector section presented previously in this chapter.

See Using the HTTP Listening Connector.

Click to jump to top of pageClick to jump to parent topicPassing Parameters to the PeopleSoft Services Listening Connector

This section discusses how to pass parameters to the PeopleSoft services listening connector.

Passing Parameters to the PeopleSoft Services Listening Connector in URL Query Format

You can pass parameters to the PeopleSoft service listening connector using a URL query string using the following format:

http://<machinename>:<port>/PSIGW/PeopleSoftServiceListening Connector?Operation=OperationName

The following format is also supported:

http://<machinename>:<port>/PSIGW/PeopleSoftServiceListening Connector?Operation=<OperationName>>&To=<ReceiverNode>&From= <SenderNode>&OperationType=<Type>

Passing Parameters to the PeopleSoft Services Listening Connector in Path Format

You can pass parameters to the PeopleSoft service listening connector using a path format using the following format:

http://127.0.0.1/PSIGW/PeopleSoftServiceListeningConnector/ SERVICE_OPERATION.VERSION.xsd

Click to jump to top of pageClick to jump to parent topicPassing Parameters to Get XML Schema, WSDL and WSIL

You can use query format or path format to get XML schema, WSDL and WSIL.

Using Query Format to Get XML Schema, WSDL and WSIL

Use the following query format to get XML schema:

http://<machinename>:<port>/PSIGW/PeopleSoftServiceListeningConnector?Operation= GetSchema&xsd=SERVICE_OPERATION.VERSION

Use the following query format to get WSDL:

http://<machinename>:<port>/PSIGW/PeopleSoftServiceListeningConnector?Operation= GetWSDL&wsdl=SERVICE_OPERATION.VERSION

Use the following query format to get WSIL:

http://<machinename>:<port>/PSIGW/PeopleSoftServiceListeningConnector?Operation= GetWSIL

Using Path Format to Get XML Schema, WSDL and WSIL

Use the following path format to get XML schema:

http://<machinename>:<port>/PSIGW/PeopleSoftServiceListeningConnector/ <REMOTENODE>/<OperationName>.<version>.xsd

Use the following path format to get WSDL:

http://<machinename>:<port>/PSIGW/PeopleSoftServiceListeningConnector/ <REMOTENODE>/<OperationName>.<version>.wsdl

Use the following path format to get WSIL:

http://<machinename>:<port>/PSIGW/PeopleSoftServiceListeningConnector/ <REMOTENODE>/inspection.wsil

Click to jump to parent topicWorking With the PeopleSoft 8.1 Connectors

This section provides an overview of the PeopleSoft 8.1 connectors and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding the PeopleSoft 8.1 Connectors

The PeopleSoft 8.1 listening and target connectors enable communication between PeopleSoft 8.1x applications and an integration gateway using PeopleSoft Application Messaging technology. To the PeopleSoft 8.1x application, the gateway appears to be another PeopleSoft 8.1x application, so no change in the messaging development process is needed. The connectors also support secure HTTPS communications if SSL encryption is configured on the gateway machine.

Note. The PeopleSoft 8.1 connectors are intended for use for integrations with PeopleSoft systems running PeopleTools 8.1x.

See Also

Implementing Web Server SSL/TLS Encryption

Click to jump to top of pageClick to jump to parent topicUsing the PeopleSoft 8.1 Listening Connector

In PeopleSoft 8.1x systems, PeopleSoft Application Messaging generates highly structured XML messages that are designed to be sent to PeopleSoft 8.1x Application Messaging gateways. The PeopleSoft 8.1 listening connector mimics the role of the Application Messaging gateway by transparently receiving and processing PeopleSoft 8.1x messages. This connector transforms inbound PeopleSoft 8.1x messages into PeopleSoft Integration Broker formatted XML messages that can be processed by the integration gateway and ultimately by the integration engine. This conversion is necessary because the two message formats are distinctly different.

The URL for the PeopleSoft 8.1 listening connector is http://gatewayserver/PSIGW/PS81ListeningConnector, where gatewayserver is the machine name and port, host name, or IP address of the web server hosting the gateway.

This connector automatically handles base64–encoded and compressed messages, as well as uncompressed messages.

Click to jump to top of pageClick to jump to parent topicUsing the PeopleSoft 8.1 Target Connector

This connector enables the gateway to communicate with PeopleSoft 8.1x applications that use PeopleSoft Application Messaging technology. It converts outbound messages to the Application Messaging native format. Messages from the PeopleSoft Integration Broker system reach the PeopleSoft 8.1x system through the Application Messaging gateway on the PeopleSoft 8.1x system.

The PeopleSoft 8.1 target connector uses the HTTP target connector to manage the HTTP communication with the PeopleSoft 8.1x Application Messaging gateway. The PeopleSoft 8.1 target connector focuses on messaging semantics, instead of communication details; it constructs an Application Messaging XML document and sends it using the HTTP target connector. The PeopleSoft 8.1 target connector detects the status of returned responses by the value in the ReturnCode field in the XML response.

The connector ID for the PeopleSoft 8.1 target connector is PSFT81TARGET.

Gateway-Level Connector Properties

The PeopleSoft 8.1 target connector has one gateway-level property, in the section of the integrationGateway.properties file labeled DELIVERED CONNECTOR CONFIGURATION Section. This property specifies where the connector can send messages if a target URL isn't specified in the connector's node-level properties. Specify the URL as follows:

ig.connector.amtargetconnector.url=peoplesoft_8.1x_application_messaging_gateway

You can override this value by specifying a different URL in the node-level connector properties, in the node definition for the PeopleSoft 8.1x target node, or in the transaction definition for the message.

Node-Level Connector Properties

The following table describes the node-level connector properties:

Property ID

Property Name

Description

PSFT81TARGET

URL

Specify the PeopleSoft 8.1x Application Messaging gateway URL to which messages are sent using this connector.

HEADER

TimeOut

Specify the time in milliseconds for the connector to wait for the message to transmit. If the timeout period expires without a successful transmission, the transaction fails.

The default value is 50000 (50 seconds).

Click to jump to parent topicWorking With the JMS Connectors

This section provides an overview of the JMS connectors and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding the JMS Connectors

The JMS listening and target connectors enable communication between JMS provider systems and an integration gateway using standard JMS protocols. PeopleSoft currently supports Java Native Directory Interface (JNDI) only for File System Context [fscontext] and RMI lookup.

Note. Check MyOracle Support for the JMS specification currently supported by PeopleTools. PeopleSoft Integration Broker's JMS listening connector and JMS listening connector are compliant with the specification version listed.

Supported JMS Providers

To use the JMS connectors, you must add specific Java archive (JAR) files to the Java CLASSPATH. The JAR files that you add to the CLASSPATH depend on the JMS provider with which you're communicating. The following JMS providers are supported:

JMS Provider

Required Files

Oracle WebLogic

N/A

Note. PeopleSoft Integration Broker currently doesn't support using the IBM WebSphere web server with a WebLogic JMS provider.

IBM MQ Series

jms.jar, jndi.jar, fscontext.jar, com.ibm.mqjms.jar

Note. Not only can a gateway running on a Oracle WebLogic web server communicate with a WebLogic JMS provider, but both services can run on a single installation of WebLogic. However, the gateway still treats the JMS provider as a separate system, and it must be configured the same way as in any other scenario.

You can also add generic JMS providers for use with PeopleSoft Integration Broker.

See Adding Generic JMS Providers.

Integrations with Oracle SOA B2B Suite

The JMS target connector and JMS listening connector feature properties that enable you to integrate with Oracle SOA B2B Suite.

The Oracle SOA-B2B server supports several industry-standard e-commerce protocols as well as several transports for message delivery.

See http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10229/b2b_intro.htm#CEGFABDD

PeopleSoft's integration to the Oracle SOA B2B Suite uses the JMS transport to deliver and receive messages, and as such the JMS target connector and JMS listening connector are used.

For outbound integrations with Oracle SOA B2B you set JMS target connector properties at the node-level. For inbound integrations with Oracle SOA B2B you set JMS listening connector properties in the integration gateway properties file. Setting these properties is discussed elsewhere in this section.

See JMS Queue Listener Properties, Node-Level Connector Properties.

Click to jump to top of pageClick to jump to parent topicSpecifying JNDIFactory Class Names

You must set up the JNDIFactory class names for the JMS provider in the section of the integrationGateway.properties file labeled JMS configuration Section.

When you set the JMSProvider property, the provider name that you enter must match the provider in the JNDIFactory class name exactly. You must set this property for both the JMS listening connector and the JMS target connector. This property is case-sensitive.

JMS Provider

Property

Description

Oracle WebLogic

ig.jms.JMSProvider.JNDIFactory.Weblogic

Specify the JNDIFactory class name for a Oracle WebLogic JMS provider. The default value is: weblogic.jndi.WLInitialContextFactory

IBM MQ Series

ig.jms.JMSProvider.JNDIFactory. MQSeries

Specify the JNDIFactory class for an MQSeries JMS provider. The default value is: com.sun.jndi.fscontext.RefFSContextFactory

You can also specify a service provider that is not listed. For example, if you are using MSMQ, enter the following value for the property:

ig.jms.JMSProvider.JNDIFactory.MSMQ=com.sun.jndi.fscontext.RefFSContextFactory

Click to jump to top of pageClick to jump to parent topicUsing the JMS Listening Connector

The JMS listening connector has two components: a subscriber and a queue listener. The JMS subscriber subscribes to different topics and the JMS queue listens on queues for new messages.

Note. The JMS listening connector always expects JMS messages in text format.

Receiving Messages

The JMS listening connector retrieves topics and queues that you have defined in integrationGateway.properties file. For each topic it starts a topic subscriber, and for each queue it starts a queue listener. When a message arrives either for a queue or topic, the JMS listening connector sends the message to the integration engine.

A parameter called ExternalMessageID is used to ensure that messages are received only once. When the JMS listening connector receives a message, it sets an external message ID in IBInfo and sends this information to the PeopleSoft Integration Broker with the message content. If the external message ID exists in IBInfo, the application server checks for duplicate messages. If a duplicate is found, an error is generated. The external message ID is optional. If specified, it must be unique and not exceed 70 characters.

Securing Messages to JMS Queues

PeopleSoft Integration Broker does not perform security validation checks on messages transmitted to JMS queues.

Note. JMS administrators must set up secure queues on providing systems.

Error Handling

If an error occurs during message processing, the JMS listening connector publishes the message back to either an error topic or an error queue. All error messages feature a header called ErrorDescription which contains a description of the error.

Note. If the application server returns the status 20, the message is published to the error topic and the response is logged in the integration gateway message log.

To capture errors you must set error topic or error queue properties in the JMS Configuration Section of the integrationGateway.properties file. These properties are discussed later in this section. If both an error topic and an error queue are set up and configured, only the error queue will capture error messages.

JMS Queue Listener Properties

You can configure multiple queues in the section of the integrationGateway.properties file labeled JMS Configuration Section. To configure multiple queues, use the convention, ig.queue1, ig.queue2, ig.queue3, and so on.

Property

Description

ig.jms.Queues

Specify the number of queue listeners to instantiate.

ig.jms.Queue1

Specify the queue name.

ig.jms.Queue1.Provider

Specify the queue provider name.

ig.jms.Queue1.JMSFactory

Specify the JMSFactory name that is bound to JNDI for the queue.

ig.jms.Queue1.MessageSelector

(Optional.) Specify the message filter.

ig.jms.Queue1.URL

Specify the JMS provider’s URL to JNDI.

ig.jms.Queue1.User

(Optional.) Specify the JMS queue user name.

ig.jms.Queue1.Password

(Optional.) Specify the JMS queue password. If you choose to specify a password, you must encrypt it.

See Encrypting Passwords.

ig.jms.Queue1.MessageName

This is a deprecated property and is being maintained for backwards compatibility only.

ig.jms.Queue1.MessageVersion

This is a deprecated property and is being maintained for backwards compatibility only.

ig.jms.Queue1.OperationName

(Optional.) Specify the name of the service operation and the service operation version. The format is: ig.jms.Queue1.OperationName=OperationName.OperationVersion.

ig.jms.Queue1.RequestingNode

(Optional.) Specify the name of the requesting node.

ig.jms.Queue1.DestinationNode

(Optional.) Specify the name of the destination node.

ig.jms.Queue1.NodePassword

(Optional.) Specify the password for the requesting node.

If you choose to specify a password, you must encrypt it.

See Encrypting Passwords.

ig.jms.Queue1.SubChannel

(Optional.) Specify the name of the subchannel. Messages published to this queue go to the subchannel indicated.

JMS Topic Subscriber Properties

You can configure multiple topics, in the section of the integrationGateway.properties file labeled JMS configuration Section. To configure multiple topics, use the convention ig.topic1, ig.topic2, ig.topic3, and so on.

Property

Description

ig.jms.Topics

Specify the number of topic subscribers to instantiate.

ig. jms.Topic1

Specify the topic name.

ig. jms.Topic1.Provider

Specify the topic provider name.

ig. jms.Topic1.JMSFactory

Specify the JMSFactory name that is bound to JNDI for the topic.

ig. jms.Topic1.MessageSelector

(Optional.) Specify the message filter.

ig. jms.Topic1.URL

Specify the JMS provider’s URL to JNDI.

ig. jms.Topic1.User

(Optional.) Specify the JMS topic user name.

ig. jms.Topic1.Password

(Optional.) Specify the JMS topic password.

If you choose to specify a password, you must encrypt it.

See Encrypting Passwords.

ig.jms.Topic1.MessageName

This is a deprecated property and is being maintained for backwards compatibility only.

ig.jms.Topic1.MessageVersion

This is a deprecated property and is being maintained for backwards compatibility only.

ig.jms.Topic1.OperationName

(Optional.) Specify the name of the service operation and the service operation version. The format is: ig.jms.Queue1.OperationName=OperationName.OperationVersion.

ig.jms.Topic1.RequestingNode

(Optional.) Specify the name of the requesting node.

ig.jms.Topic1.DestinationNode

(Optional.) Specify the name of the destination node.

ig.jms.Topic1.NodePassword

(Optional.) Specify the password for the requesting node.

If you choose to specify a password, you must encrypt it.

See Encrypting Passwords.

ig.jms.Topic1.SubChannel

(Optional.) Specify the name of the subchannel. Messages published to this topic go to the subchannel indicated.

Error Queue Properties

To capture JMS listening connector errors in an error queue, set the following properties in the JMS Configuration Section of the integrationGateway.properties file.

Property

Description

ig.jms.ErrorQueue

Specify the name of queue to which error messages are published.

ig.jms.ErrorQueue-Provider

Specify the name of the JMS provider.

ig.jms.ErrorQueue-User

(Optional.) Specify the JMS error queue user name.

ig.jms.ErrorQueue-Password

(Optional.) Specify the JMS error queue password.

If you choose to specify a password, you must encrypt it.

See Encrypting Passwords.

ig.jms.ErrorQueue-JMSFactory

Specify the queue connection factory name.

ig.jms.ErrorQueue-Url

Specify the JMS provider’s URL to JNDI.

Error Topic Properties

To capture JMS listening connector errors in an error topic, set the following properties in the JMS Configuration Section of the integrationGateway.properties file.

Property

Description

ig.jms.ErrorTopic

Specify the name of topic to which error messages are published.

ig.jms.ErrorTopic-Provider

Specify the name of the JMS provider.

ig.jms.ErrorTopic-User

(Optional.) Specify the JMS error topic user name.

ig.jms.ErrorTopic-Password

(Optional.) Specify the JMS error topic password.

If you choose to specify a password, you must encrypt it.

See Encrypting Passwords.

ig.jms.ErrorTopic-JMSFactory

Specify the JNDIFactory name.

ig.jms.ErrorTopic-Url

Specify the JMS provider’s URL to JNDI.

JMS Listening Connector Properties for Integrating with Oracle SOA B2B Suite

For inbound integrations from Oracle SOA B2B Suite, you must set the following property in the integrationGateway.properties file:

ig.AS2.<FROM_PARTY>.<TO_PARTY>.MessageName=

Set the values as follows:

For example:

ig.AS2.SOA_B2B.QE_LOCAL.MessageName=USER_PROFILE.VERSION1

In the example, SOA_B2B is the sending node, QE_LOCAL is the receiving node, and USER_PROFILE.VERSION1 is the message.version.

Information about setting properties for the JMS target connector for outbound integrations to Oracle SOA B2B is provided elsewhere in this section.

See JMS Target Connector Properties for Integrations with Oracle SOA B2B.

JMS Message Header Properties

For the JMS listening connector to process messages, you must set the following properties. You can set these properties in JMS message headers, the integrationGateway.properties file or in the body of the XML message.

You can specify JMS headers in the integrationGateway.properties file for both queues and topics. However you must be using separate queues or topics per requesting node/message combination.

You must supply the properties listed in the following table in the JMS message header when you publish messages from a JMS provider system to the integration gateway.

Property

Description

MessageName

Specify the name of service operation.

RequestingNode

Specify the requesting node name.

FinalDestinationNode

Specify the final destination nodes. If there are no values, set this property to Null.

DestinationNode

Specify the destination node names, separated with commas. If there are no values, set to "" (empty string).

NodePassword

Enter the node password. This password must be encrypted.

See Encrypting Passwords.

SubChannel

(Optional.) Specify the name of a partitioning subqueue to be created for the service operation at runtime. All service operations with the same value for this parameter are processed in the same subqueue.

Unlike the subqueues created by selecting partitioning fields, the subqueue that you specify here has no qualifying criteria except the name that you enter. Field-based partitioning is not used for service operations with this parameter.

See Applying Queue Partitioning.

The following example shows specifying JMS header properties in the body of an XML message.

<?xml version="1.0" ?> <IBRequest> <ExternalOperationName>JMS_MessageName</ExternalOperationName> <OperationType>Async_or_Synch</OperationType> <From> <RequestingNode>JMS_RequestingNode</RequestingNode> <Password>JMS_NodePassword</Password> <OrigUser></OrigUser> <OrigNode></OrigNode> <OrigProcess></OrigProcess> <OrigTimeStamp></OrigTimeStamp > </From> <To> <FinalDestination>JMS_FinalDestination</FinalDestination> <DestinationNode>JMS_DestinationNode</DestinationNode> </To> <ContentSections> <ContentSection> <NonRepudiation></NonRepudiation> <Data></Data> </ContentSection> </ContentSections> </IBRequest>

When the message received specifies synchronous mode, a reference to the temporary queue or topic must be set in the JMS message header for the JMS listening connector to determination the destination of the message response. The JMS listening connector also sets the JMS correlation ID when it sends the response so the requestor can properly associate the response with its corresponding request.

If any of the message header properties are missing, an error is logged and an error is published to an error topic or error queue. The message that the connector publishes to the error topic has a property call error and is set to True. The error message that is published contains the following information: default message, message ID, message set, message parameters, and body of the message sent.

Starting the JMS Listening Connector

You can start the JMS listening connector using the JMSListeningConnectorAdministrator servlet, or you can start it manually.

To start the JMS listening connector using the servlet:

  1. Deploy the servlet under the web application PSIGW.

  2. To start the servlet on start up of the web server, set the variable Load On Startup.

    When you set the Load On Startup option, the JMS listening connector automatically starts when you start the web server. Refer to the web server documentation for more details about starting the servlet automatically when the web server starts.

To start the JMS listening connector manually:

  1. Open a browser and enter the following URL:

    http://localhost:port/PSIGW/JMSListeningConnectorAdministrator?Activity=Start

  2. Press Enter.

The message 'JMS Listening Connector Started' displays.

If you experience problems starting the JMS listening connector, check the integration gateway error log file, errorlog.html, for additional information.

Shutting Down the JMS Listening Connector

You can shut down the JMS listening connector by stopping the JMSListeningConnectorAdministrator servlet.

To shut down the JMS listening connector:

  1. Open a browser and enter the following URL:

    http://localhost:port/PSIGW/JMSListeningConnectorAdministrator?Activity=Stop

  2. Press Enter.

    Your web browser displays a message indicating that the JMS listening connector has stopped.

Note. You must register the JMSListeningConnectorAdministrator servlet object under the web application PSIGW in the web server. Your web server documentation should provide instructions about how to register a servlet. The class name is com.peoplesoft.pt.integrationgateway.listeningconnector.JMSListeningConnectorAdministrator.

Click to jump to top of pageClick to jump to parent topicUsing the JMS Target Connector

JMS is an application programming interface (API) for accessing message systems. JMS provides a standard Java-based interface to the message services of message-oriented middleware (MOM) providers. The JMS target connector is an adapter to JMS providers, and it can be used with MOM and JMS providers, such as Oracle Weblogic, IBM MQSeries and others. The following diagram illustrates how messages flow through the JMS API:

Message flow through the JMS API

The primary features of JMS are.

When multiple applications must receive the same message, publish and subscribe messaging is used. In publish and subscribe messaging, all of the subscribers subscribe to a topic and all of the publishers publish messages to a topic. The messaging system distributes messages from the publisher to the subscriber. This domain is mainly used for asynchronous messaging.

When one application must send a message to another application, point-to-point messaging is used. This domain is only for synchronous messaging. There are two basic types of point-to-point messaging systems. One uses a client that directly sends a message to another client. The other, more commonly used implementation uses a message queue.

The JMS target connector either publishes a message to a topic or inserts a message into a queue, based on the node-level properties that you set.

The JMS target connector supports only JNDI file context for the lookup of connection factories, topics, and queue names. (Lightweight Directory Access Protocol (LDAP) is not supported.)

The connector ID for the JMS target connector is JMSTARGET.

Asynchronous and Synchronous Communication

The JMS target connector provides both synchronous and asynchronous modes of communication. When the node level property ReplyTo is set to False, communication is asynchronous. When it is set to True, communication is synchronous.

For asynchronous communication, the JMS target connector publishes messages to MOM or drops messages into a queue and commits the session. It does not wait for a response from the destination system. For synchronous communication, after the connector publishes messages or drops them into a queue, it waits for the temporary topic or queue to respond.

For synchronous communication, the exchanges involve only the publisher and a single subscriber. When a JMS-compliant remote node receives a synchronous request message from PeopleSoft, it must use the value of the message ID of the request message to populate the correlation ID of its response message. When the response is received by the PeopleSoft JMS target connector, it compares the JMS correlation ID of the response message with the JMS message ID of the request. The message is not accepted if these two IDs do not match.

When sending messages either synchronously or asynchronously, the connector sets different string properties in the JMS message header. The properties are used as metadata about the message. The JMS target connector also sets a reference to the temporary queue or topic from which it requires the response.

JMS Target Connector and Message Segments

The JMS target connect is segment-aware and you may use it to send message segments to integration partners.

See Working With Message Segments.

IBInfo Data Contained in JMS Headers

A message has two parts—the transaction data and the IBInfo header that is the routing envelope used by PeopleSoft Integration Broker. In the event that a receiving system wants to make use of the IBInfo data, IBInfo header information is included when publishing messages to non-PeopleSoft systems when using the JMS target connector or the HTTP target connector.

When using the JMS target connector to send messages to non-PeopleSoft systems, the following IBInfo data is contained in the JMS headers. The content of the message (message body) is not impacted.

Gateway-Level Connector Properties

There are no gateway-level JMS target connector properties that you must set.

Node-Level Connector Properties

You must set either a JMS queue or JMS topic for a given node definition. If both are set or are missing the PeopleSoft Integration Broker generates an invalid message exception.

Note. You must register JMS-administered objects—such as topics, queues, and connection factories—that you include as connector properties. The documentation for specific providers should provide instructions on how to register the topics.

JMS message types can be Text, Map Message, Stream, or Object. However, PeopleSoft provides only text messages. If you need to use other message types, you can write a class that implements the com.peoplesoft.pt.integrationgateway.common.jms.ProcessJMSMessage interface, and you set the class name as a value for JMSMessageTypeClass.

The provider name that you specify for the JMSProvider in the node definition must match the JMSProvider.JNDIFactory property that you specify in the integrationGateway.properties file.

The following table describes the node-level connector properties:

Property ID

Property Name

Description

JMSTARGET

AS2MODE

This property is used for integrations with Oracle SOA B2B Suite.

Set the property value to Y to enable integrations with Oracle SOA B2B. Values are:

  • Y.

  • N. (Default.)

There are additional JMS target connector properties you must set for integrations with Oracle SOA B2B. See, “JMS Target Connector Properties for Integrations with Oracle SOA B2B” in this section.

JMSTARGET

JMSAcknowledgement

Specify the acknowledgment type. Values are:

  • Auto_Acknowledge. (Default.)

  • Client_Acknowledge.

JMSTARGET

JMSDeliveryMode

Specify either durable or nondurable delivery. Values are:

  • Persistent..

  • Non-persistent. (Default.)

JMSTARGET

JMSFactory

Specify the factory name. The default value is QueueConnectionFactory.

JMSTARGET

JMSMessageTimeToLive

Specify the time in seconds.

JMSTARGET

JMSMessageType

Specify the type of message to send. Values are:

  • Text (default).

  • MapMessage.

  • Stream.

  • Object.

JMSTARGET

JMSMessageTypeClass

(Optional.) Specify the implementation class of ProcessJMSMessage. You must set this property when the JMSMessageType is anything other than Text.

JMSTARGET

JMSPassword

(Optional.) Specify the password to access the connection.

If you choose to specify a password, you must encrypt it.

See Encrypting Passwords.

JMSTARGET

JMSPriority

Specify the message priority for delivery.

Values range from 0 to 9. A value of 9 indicates the highest priority. The default is 0.

JMSTARGET

JMSProvider

Specify the JMS provider's name. Values are:

  • MQSeries. (Default.)

  • WebLogic..

JMSTARGET

JMSQueue

(Optional.) Specify the queue name, if you use a queue.

You must use and specify either a topic or a queue.

JMSTARGET

JMSReplyTo

Set this property to True to receive a response from the external system.

Values are:

  • True.

  • False (Default.)

JMSTARGET

JMSTopic

(Optional.) Specify the topic name, if you use a topic.

You must use either a topic or a queue.

JMSTARGET

JMSUrl

Specify the URL.

JMSTARGET

JMSUserName

(Optional.) Specify the username to establish a connection to the JMS.

JMSTARGET

JMSWaitForResponse

Specify the time in milliseconds for the connector to wait for the temporary response queue to return a synchronous response message. If a response fails to appear in the queue within the specified period, the transaction fails and the queue is deleted.

The default value is 60000 (60 seconds).

JMSTARGET

RemoveSOAP-Response

(Optional.) Remove the SOAP wrapping from response messages returned from a third party. The valid values are:

  • Y. (Default.) The SOAP formatting is removed from response messages.

  • N. The SOAP formatting is not removed from response messages.

JMSTARGET

SOAPUpContent

(Optional.) Automatically wrap outbound transactions in SOAP format. The valid values are:

  • Y. (Default.) Outbound messages are wrapped in SOAP format.

  • N. Outbound messages are not wrapped in SOAP format.

JMSTARGET

Use-WSA10-Namespace

(Optional.) Override the WS-Addressing namespace URI used in outbound messages that have been SOAP wrapped via the connector property SOAPUpContent. The valid values are:

  • Y. (Default.) The namespace URI http://www.w3.org/2005/08/addressing is used.

  • N. The system default WS-Addressing namespace URI is used.

HEADER

SendUncompressed

Specify whether to send messages decompressed. Values are:

  • Y: Send the message decompressed and unencoded. This is the default value.

  • N: Send the message compressed and base 64 encoded.

HEADER

SOAPAction

(Optional.) Enable third-party systems (for example, Universal Description, Discovery, and Integration (UDDI) sites) to receive SOAP transactions over HTTP.

The default value is ”“ (a null string).

JMS Target Connector Properties for Integrations with Oracle SOA B2B

The following table lists node-level properties that you must set for the JMS target connector for outbound integrations with Oracle SOA B2B.

For all properties except for AS2MODE, you must add a new row to the properties grid and manually enter property ID, property name, and property values.

Property ID

Property Name

Description

JMSTARGET

AS2MODE

This property is used for integrations with Oracle SOA B2B Suite.

Set the property value to Y to enable integrations with Oracle SOA B2B. Values are:

  • Y.

  • N. (Default.)

JMSTARGET

DOCTYPE_NAME

This property is used for integrations with Oracle SOA B2B Suite.

Enter the doctype name. This property is similar to a message name. For example, purchase_order.

JMSTARGET

DOCTYPE_REVISION

This property is used for integrations with Oracle SOA B2B Suite.

Enter the version of the doctype. For example, 1.0.

JMSTARGET

FROM_PARTY

This property is used for integrations with Oracle SOA B2B Suite.

Enter the name of the sending node.

JMSTARGET

TO_PARTY

This property is used for integrations with Oracle SOA B2B Suite.

Enter the name of the node that Oracle SOA B2B uses to route the service operation to the AS2 partner.

Information about setting properties for the JMS listening connector for inbound integrations from Oracle SOA B2B is provided elsewhere in this section.

See JMS Listening Connector Properties for Integrating with Oracle SOA B2B Suite.

Additional Setup Steps

Before using the JMS target connector, verify that:

  1. The JMS messaging system is running.

  2. All JMS connection factories, topics, and queues are registered for JNDI lookup.

  3. A username and a password are created in the JMS system for use as values for the properties JMSUserName and JMSPassword.

JMS Target Connector Errors and Exceptions

The JMS target connector may generate the following exceptions:

Exception

Cause

InvalidMessageException

This exception is generated when any node level or connector parameters are not set properly. Examples are:

  • Both queue and topic are specified.

  • Neither queue nor topic is specified.

  • A JMS security exception is generated.

    (Verify that the username and password are correct.)

  • A naming exception occurs.

ExternalApplicationException

This exception is generated when:

  • The correlation ID does not match when the ReplyTo property is set to True.

  • The message could not put into a queue, or a topic could not be published.

GeneralFrameWorkException

This exception is generated when a naming exception occurs.

Click to jump to top of pageClick to jump to parent topicAdding Generic JMS Providers

The JMS providers that PeopleSoft supports are Oracle WebLogic, and IBM MQSeries. However, to meet your business requirements you can add generic JMS providers.

This section provides lists of configuration tasks to perform on the JMS listening connector and JMS target connector to add a generic JMS provider to PeopleSoft Integration Broker.

Configuring the JMS Listening Connector for Generic JMS Providers

To configure the JMS listening connector for a generic JMS provider:

In addition to the information provided in this section, review the JMS Headers Properties section of this chapter which discusses the required information that must be in the headers of each message processed by the JMS listening connector.

Configuring the JMS Target Connector for Generic JMS Providers

To configure the JMS target connector for a generic JMS provider:

Click to jump to parent topicWorking With the Simple File Target Connector

This section discusses the simple file target connector.

Click to jump to top of pageClick to jump to parent topicUnderstanding the Simple File Target Connector

With the simple file target connector, you can save PeopleSoft messages as files in XML format. This enables you to verify that:

You can use the Simple File target connector to send messages using the PUT command and receive messages using the GET command.

The connector ID for the simple file target connector is FILEOUTPUT.

Click to jump to top of pageClick to jump to parent topicSetting File Security

To secure files during processing, set the property ig.fileconnector.password in the integrationGateway.properties file, in addition to the Password property in the connector properties set in the Gateways component.

Setting file security is optional. However, if you use this feature, both passwords must match and be encrypted.

See Encrypting Passwords.

Click to jump to top of pageClick to jump to parent topicNode-Level Connector Properties

The following table describes the node-level connector properties:

Property ID

Property Name

Description

HEADER

SendUncompressed

Specify whether to save messages decompressed. Values are:

  • Y: Save the message decompressed and unencoded. This is the default value.

  • N: Save the message compressed and base64 encoded.

PROPERTY

FilePath

Specify the location where the connector saves the output file. The default location is c:\temp.

PROPERTY

FileName

(Optional.) Specify the name of the output file. The file's default name has the following format:

<sourcenodename>.<operationna⇒ ⇒ ⇒ me>.<segmentid>.xml

If the outbound message has multiple segments, each segment is saved as an individual file and each file is appended with its segment ID.

PROPERTY

Method

Specify the method used to send messages. The valid values are:

  • PUT. (Default.)

  • GET.

PROPERTY

Password

(Optional.) Specify a password for secure processing. For secure processing, you must also set the ig.fileconnector.password in the integrationGateway.properties file. See the Setting File Security section earlier in this chapter.

Click to jump to parent topicWorking With the FTP Target Connector

This section discusses working with the FTP target connector.

Click to jump to top of pageClick to jump to parent topicUnderstanding the FTP Target Connector

The FTP target connector enables the gateway to use FTP to send messages to and receive messages from FTP servers. It uses the PUT command to place messages or files from the integration gateway onto remote FTP servers. The GET command is used to receive messages from FTP servers. Outbound messages through the FTP target connector are UTF-8 encoded.

PeopleSoft Integration Broker also supports secure communication with FTP servers using FTPS.

Note. The FTP target connector handles string-based data only. Binary data is not natively supported in PeopleSoft Integration Broker.

The connector ID for the FTP target connector is FTPTARGET.

Click to jump to top of pageClick to jump to parent topicPrerequisites for Using the FTP Target Connector

In addition to specifying Java Archive (JAR) files in the web server CLASSPATH and setting node-level connector properties, to use this connector you must also specify the integration gateway URL in the Gateways component.

Information about specifying the required JAR files and setting node-level FTP and FTPS connector properties is discussed in this section.

See Specifying Required JAR Files, Setting Node-Level FTP Connector Properties, Setting Node-Level FTPS Connector Properties.

Information about specifying the integration gateway URL is discussed elsewhere in this PeopleBook.

See Administering Integration Gateways.

If using an IIS FTP server with the FTP target connector, ensure the directory listing style in IIS is configured with type as UNIX and not as MS-DOS.

Click to jump to top of pageClick to jump to parent topicSpecifying Required JAR Files

For the FTP target connector to function properly the following JAR files from IBM must reside in the CLASSPATH of the web server running the integration gateway:

Click to jump to top of pageClick to jump to parent topicSetting Node-Level FTP Connector Properties

This section describes the required node-level properties you must set to use the FTP target connector.

The following table describes the required node-level connector properties:

Property ID

Property Name

Description

HEADER

SendUncompressed

Specify whether to send messages decompressed. Values are:

  • Y: Send messages decompressed and decoded. This is the default value.

  • N: Send messages compressed and base64 encoded.

FTPTARGET

FTPMODE

Specify whether to use an active or passive FTP connection for integrations. The valid values are:

  • ACTIVE. (Default.) Use an active FTP connection.

  • PASSIVE Use a passive FTP connection.

FTPTARGET

HOSTNAME

Specify the IP address or name of the FTP server for the connection.

FTPTARGET

METHOD

Specify the method to send or receive messages. The valid values are:

  • PUT (default). Send messages to an FTP server.

  • GET. Retrieve messages from an FTP server.

  • GETDIRLIST. Retrieve a directory list of files from an FTP server.

FTPTARGET

DIRECTORY

Specify the remote directory into which the file is placed.

Note. When using the GET method you must specify the location where the file resides for the method to function properly.

If not specified, the default directory of the FTP server on the remote site is used.

FTPTARGET

FILENAME

(Optional.) Specify the name of the file saved on the recipient's FTP server. By default, the file name is a concatenation of the following:

  • Originating node name.

  • Originating username.

  • Operation name.

  • Originating timestamp.

  • Segment ID.

If you do not specify a filename, the FTP(S) target connector performs a GET to retrieve the directory list from the remote FTP server. See the section on Directory List Support earlier in this section.

FTPTARGET

USERNAME

Enter the FTP server login ID.

FTPTARGET

PASSWORD

Enter the password for the login to the FTP server.

This password must be encrypted.

See Encrypting Passwords.

FTPTARGET

TIMEOUT

Specify the time in milliseconds for the connector to wait for the message to transmit. If the timeout period expires without a successful transmission, the transaction fails.

The default value is 50000 (50 seconds).

FTPTARGET

TYPE

Indicates the FTP mode used to transfer the file. The valid options are:

  • ASCII (default)

  • BINARY

When you select ASCII, all characters are converted to their ASCII equivalents. When you select BINARY, data is copied bit-by-bit and no conversion is performed.

Click to jump to top of pageClick to jump to parent topicSetting Node-Level FTPS Connector Properties

The following table describes properties to use for secure FTPS communication.

Property ID

Property Name

Description

FTPTARGET

FTPS

Enables secure communication over FTP. Values are:

  • Y: Enable FTPS communication.

  • N: Disable FTPS communication. This is the default value.

FTPTARGET

CLIENTCERT

(Optional.) To use client authentication when establishing a connection with the target or receiving system, enable the CLIENTCERT property.

FTPTARGET

PORT

Specify the port used for communication. The default port is 21.

FTPTARGET

SSLSTARTMODE

(Optional). Use this property to set the SSL start mode. Values are:

  • DEFAULT.

    If the remote port is set to the standard plain text port of the protocol (where applicable), it will behave the same as if SSLSTARTMODE is set to sslExplicit . In all other cases, SSL negotiation will be implicit (sslImplicit).

  • IMPLICIT.

    The SSL negotiation will start immediately after the connection is established.

  • EXPLICIT.

    The connector first connects in plain text, and then explicitly starts SSL negotiation through a protocol command such as STARTTLS.

Click to jump to top of pageClick to jump to parent topicUsing Directory Lists

One of the optional node-level FTP connector properties is FILENAME. If you do not know the file name of the file you would like to receive but do not know the directory in which it resides, you can use the GETDIRLIST method to retrieve a directory list. The directory list is retrieved in XML format and you must parse the XMLDocument to read its contents. You can then use the GET method to get the actual file. The following example shows the format of a returned directory list.

<DirList> <File name="sample.bat"> <Date></Date> <Size>1234</Size> <Time></Time> <isFile>True</isFile> </File> <File name="sample2.bat"> <Date></Date> <Size>1234</Size> <Time></Time> <isFile>True</isFile> </File> <File name="temp"> <Date></Date> <Size>1234</Size> <Time></Time> <isFile>False</isFile> </File> </DirList> Date : Date on the file on remote system Time : Time on the file on remote system Size : Size of the file isFile : True if it is a file. False if it is a directory.

Click to jump to top of pageClick to jump to parent topicDirectory List Example

The following example shows the code needed to use the FTP connector to get a list of the files in a directory, run through the list of files, select a file, and retrieve it. To use this example, you must know the directory in which the file resides.

If you know the name of the file you wish to receive but do not know the directory, use the FILENAME property and the GETDIRLIST method to retrieve a directory list, as described previously in this section.

See Using Directory Lists.

Local XmlDoc &Output; Local Message &MSG1, &MSG2, &MSG3; &MSG = CreateMessage(OPERATION.QE_FLIGHTPLAN_UNSTRUCT); /* Set ConnectorName and Connector ClassName */ &MSG.IBInfo.IBConnectorInfo.ConnectorName = "FTPTARGET"; &MSG.IBInfo.IBConnectorInfo.ConnectorClassName = "FTPTargetConnector"; /* Set the FTP connector properties in the ConnectorInfo */ /* Method name can be either Get or GetDirlist. */ &nRet = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties("METHOD", "GET",%Property); &nRet = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties("HOSTNAME", "ftp.ftpserver.com",%Property); &nRet = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties("USERNAME", "sam",%Property); /* Encrypt the password */ &pscipher = CreateJavaObject("com.peoplesoft.pt.integrationgateway.common. EncryptPassword"); &encPassword= &pscipher.encryptPassword("ftpserverpassword"); &pscipher = Null; &string_return_value = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties ("PASSWORD", encPassword,%Property,); &string_return_value = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties ("DIRECTORY", "/incoming/tmp",); /* Do Connector Request */ &MSG2 = %IntBroker.ConnectorRequest(&MSG); /* Get XMLDoc from MSG2*/ &fileListXmlDoc = &MSG2.GetXmlDoc(); /*Parse the XMLDoc. Structure of the DirList Message is <DirList> <File name="sample.bat"> <Date></Date> <Size>1234</Size> <Time></Time> <isFile>True/False</isFile> </File> </DirList>*/ &XmlNode = &fileListXmlDoc.DocumentElement.FindNode("/DirList/File"); /* Get the file name */ &attName = &XmlNode.GetAttributeName(1); &fileName = &XmlNode.GetAttributeValue(&attName); /* Get the file name from the Remote FTPServer */ &MSG = CreateMessage(OPERATION.QE_FLIGHTPLAN_UNSTRUCT); /* Set ConnectorName and Connector ClassName */ &MSG.IBInfo.IBConnectorInfo.ConnectorName = "FTPTARGET"; &MSG.IBInfo.IBConnectorInfo.ConnectorClassName = "FTPTargetConnector"; /* Set the FTP connector properties in the ConnectorInfo */ /* Mehtod name can be either Get */ &nRet = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties("METHOD", "GET",%Property); &nRet = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties("FILENAME", &fileName,%Property); &nRet = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties("HOSTNAME", "ftp.ftpserver.com",%Property); &nRet = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties("USERNAME", "sam",%Property); /* Encrypt the password */ &pscipher = CreateJavaObject("com.peoplesoft.pt.integrationgateway.common. EncryptPassword"); &encPassword= &pscipher.encryptPassword("ftpserverpassword"); &pscipher = Null; &nRet = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties("PASSWORD", encPassword,%Property,); &nRet = &MSG.IBinfo.IBConnectorInfo.AddConnectorProperties("DIRECTORY", "/incoming/tmp",); /* Do Connector Request */ &MSG3 = %IntBroker.ConnectorRequest(&MSG);

Click to jump to parent topicWorking With the AS2 Connectors

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding Electronic Data Interchange Specifications Supported

Electronic Data Interchange (EDI) is a standard means of exchanging data between companies so that they can transact business electronically.

PeopleSoft supports the Applicability Statement 2 (AS2) specification for EDI. However, the Oracle SOA Suite B2B component supports AS2 and additional EDI formats and protocols, and provides a full-feature EDI integration solution.

Note. PeopleSoft recommends using the Oracle SOA Suite B2B component for all EDI integrations, including those based on the AS2 specification.

PeopleSoft provides generic integration capabilities with Oracle SOA B2B. Use BPEL process-based services or Oracle Mediator-based services to integrate with Oracle SOA B2B.

Consult the Oracle SOA Suite documentation for EDI specifications supported.

See Also

PeopleTools 8.51 PeopleBook: PeopleSoft Integration Broker, Integrating with BPEL Process-Based Services

PeopleTools 8.51 PeopleBook: PeopleSoft Integration Broker, Integrating with Oracle Mediator-Based Services

Oracle SOA Suite Documentation

Click to jump to top of pageClick to jump to parent topicUnderstanding Using AS2

AS2 is specification for Electronic Data Interchange (EDI) between organizations using the internet. AS2 uses Secure/Multipurpose Internet Mail Extensions (S/MIME), which secures data with authentication, nonrepudiation and encryption. The transportation protocol for this specification is HTTP and HTTPS for real-time communication. S/MIME secures data with authentication, message integrity and nonrepudiation.

PeopleSoft Integration Broker provides three connectors for use with AS2:

AS2 listening connector

Use the AS2 listening connector to receive request messages in AS2 format.

AS2 response connector

The AS2 response connector sends acknowledgements for data you receive from the AS2 listening connector.

AS2 target connector

Use the AS2 target connector to send messages in AS2 format.

You can use the AS2 listening and target connectors to transport any kind of data, including, but not limited to, XML, EDI, text and binary data.

The AS2 target connect is segment-aware and you may use it to send message segments to integration partners.

See Working With Message Segments.

Click to jump to top of pageClick to jump to parent topicUnderstanding MDNs

AS2 uses two different message types: the request message containing the data to be integrated and the Message Disposition Notification (MDN) to acknowledge the receipt of the data.

AS2 message exchange can occur over HTTP or HTTPS. The sender must request and MDN from the receiver, that enables the sender to verify that the message has been transferred in an unmodified state and that the receiver has been able to decompress or decrypt the message.

As an option, an MDN may be digitally signed, enabling the recipient to authenticate the sender of the MDN to check the integrity of the incoming message.

MDNs can be delivered synchronously or asynchronously.

Synchronous MDNs

Synchronous MDNs are returned to the sender in the same HTTP connection that sent the message. Processing does not continue until the sender receives the MDN.

Asynchronous MDNs

Asynchronous MDNs are delivered to the sender at a later time after the transmission of the message.

AS2 Requests initiated by the AS2 target connector with an asynchronous MDN Type must send MDN asynchronous responses to the AS2 response connector at the following URL:

http://<SERVER><PORT>/PSIGW/AS2ResponseConnector

The AS2 response connector processes MDNs by verifying them with sent request and publishes a response message to the PeopleSoft Integration Broker.

When a message is published the AS2 target connector stores the information regarding the request (for example, MessageID, signed algorithm, and so forth) for verifying the response on the integration gateway. When the response is received, the AS2 response connector verifies with the request information and publishes a response message to PeopleSoft Integration Broker.

A published asynchronous response is an empty message with the following structure:

<? Xml version="1.0"> <AS2ASyncResponse> <ConversationID>123213</ConversationID> <OriginalMessageID>23234<OriginalMessageID> <MDN>123123 . . </MDN> <ReceiptMessage> <![CDATA[Receipt message.]]></ReceiptMessage> <MDNVerified>True/False<MDNVerified> </AS2ASyncResponse>

PeopleSoft Integration Broker generates the conversation ID tag when a message is published. This tag is used to correlate the MDN with the request message.

If the MDNVerified tag is set to True, the integration gateway has successfully verified the MDN.

Note. To provide application the flexibility to take appropriate action with responses and response status information, it is the developer's responsibility to write subscription PeopleCode for processing acknowledgement messages and correlating them with requests. Without subscription PeopleCode to consume the message, an MDN will not be sent back to the source.

The AS2 connectors implement correlation IDs in MDNs. The AS2 target connector saves the outbound message ID as a correlation ID in the directory defined in the ig.AS2.AS2Directory in the integrationGateway.properties file .

When the response arrives later, the AS2ResponseConnector checks the conversationID from the response message with the one saved by early. If they don’t match, the transaction fails.

Click to jump to top of pageClick to jump to parent topicPeopleCode Considerations

In outbound messages, always use the %Intbroker.publish () function. Using %IntBroker.SyncRequest results in errors.

Click to jump to top of pageClick to jump to parent topicUnderstanding the AS2 Listening Connector

The AS2 listening connector can receive inbound asynchronous request messages, and can send synchronous and asynchronous MDNs. This section describes how these messages flow through the AS2 listening connector and how MDNs are created and returned to the senders of messages.

Inbound Asynchronous Request—Synchronous MDN

This section describes the process flow of an inbound asynchronous request message through the AS2 listening connector, with the integration engine generating a synchronous MDN.

  1. The AS2 listening connector receives an AS2 message over an open HTTP connection.

  2. The connector verifies the digital signature and decrypts the message. If necessary, the connector also decompresses the message.

  3. The AS2 listening connector sends the message to the integration engine.

  4. The integration engine creates an MDN and sends it back to the integration gateway as part of the HTTP response message.

Inbound asynchronous Request—Asynchronous MDN

This section describes the process flow of an inbound asynchronous request message through the AS2 listening connector, with the integration engine generating an asynchronous MDN.

  1. The AS2 listening connector receives a message over HTTP.

  2. The AS2 listening connector closes the connection and sends a status code of 200.

  3. The connector verifies the digital signature and decrypts the message. If necessary, the connector also decompresses the message.

  4. The AS2 listening connector sends the message to the integration engine.

  5. The integration engine creates an MDN and sends it back to the sender as an asynchronous transaction, using the AS2 target connector.

Click to jump to top of pageClick to jump to parent topicUnderstanding the AS2 Response Connector

When a request is published, PeopleSoft Integration Broker generates a conversation ID in the message ID field of the request message. Then, when an MDN comes back it extracts the conversation ID from the message to correlate the MDN acknowledgement with the request message.

Note. You must write subscription PeopleCode to process acknowledgement messages and to correlate them with requests messages. This provides flexibility for you to specify actions to take based on response status.

When it receives an MDN, the AS2 response connector checks for the conversation ID, constructs the asynchronous response message by setting the conversation ID, MDN, and the message/subject received with the MDN. It then sends the response to the integration engine.

Click to jump to top of pageClick to jump to parent topicUnderstanding the AS2 Target Connector

This section describes how messages flow through the AS2 target connector and how the connector processes MDNs.

Note. The AS2 target connector sends message requests in asynchronous mode only. However, the connector can receive MDNs in synchronous or asynchronous mode.

Outbound Asynchronous Request—Synchronous MDN

This section describes the process flow of outbound asynchronous request message through the AS2 listening connector, with the integration engine generating a synchronous MDN.

  1. The AS2 target connector receives the request message from the integration engine.

  2. The AS2 target connector checks the outbound message to determine if an MDN is required, and if so, whether the MDN is synchronous or asynchronous.

  3. The AS2 connector makes an HTTP request to the receiver.

  4. The AS2 connector verifies the MDN in the HTTP response if an MDN is requested.

  5. Once the MDN is verified, the AS2 connector sends a response to the integration engine indicating whether the message was sent successfully.

Outbound Asynchronous Request—Asynchronous MDN

This section describes the process flow of an outbound synchronous request message through the AS2 listening connector, with the integration engine generating an asynchronous MDN.

  1. The AS2 target connector receives the request message from the integration engine.

  2. The AS2 target connector checks the outbound message to determine if an MDN is required, and if so, whether the MDN is synchronous or asynchronous.

  3. Check for MDNAsynchronousURL and request a Asynchronous Receipt (MDN).

  4. The AS2 connector makes an HTTP request to the receiver.

  5. The AS2 connector reads the HTTP status code and sends a response to the integration engine indicating whether the message was sent successfully.

  6. At a later time, the AS2 listening connector receives an MDN from the receiver. The MDN is then processed.

    See Understanding MDNs.

Click to jump to top of pageClick to jump to parent topicUsing the AS2 Listening Connector

This section describes how to use the AS2 listening connector and discusses how to:

Setting Required Header Parameters

The following HTTP header parameters are require in incoming AS2 requests:

HTTP Header Parameter

Description

AS2From

Specify the name of the sending node.

AS2To

Specify the name of the receiving node.

If the AS2From and AS2To node names are not PeopleSoft node names, you must map them in the integrationGateway.properties file.

Setting Optional Header Parameters

When using the AS2 listening connector, you may set the following optional HTTP header parameters:

HTTP Header Parameter

Description

MessageName

(Optional.) Specify the name of the incoming operation or message.

Note. You can specify the message name in the HTTP header, HTTP query string or in the integrationGateway.properties file.

Password

(Optional.) Specify an encrypted password for node authentication.

MessageVersion

(Optional.) Specify the version of the message.

If you specify a message name in the MessageName parameter, enter the message version.

OrigUser

(Optional.) Specify the username of the originating user.

ExternalMessageID

(Optional.) Specify a unique ID that identifies the message.

If two messages are published with the same external message ID, the first message is processed and the second messages is marked as a duplicate.

Setting Gateway-Level Properties

To configure the AS2 listening connector, you must set properties located in the integrationGateway.properties file for each message the connector receives.

Note. Replace text in angle brackets (for example <project_branch>) with the appropriate values.

Property

Description

ig.AS2.LogDirectory

(Optional.) Specify the directory to log all incoming and outgoing AS2 requests and responses.

For example:

ig.AS2.LogDirectory = c://temp//as2//logs

ig.AS2.KeyStorePath

Specify the path to the Java keystore.

For example:

C://pt851 //webserv//peoplesoft//keystore//pskey

ig.AS2.KeyStorePassword

Specify the encrypted password to the Java keystore.

For example:

GD9klUFw8760HVaqeT4pkg==

ig.AS2.AS2ListenerMap.From
.<from alias>

(Optional.) If a sending or receiving node is not a PeopleSoft node, you must map it in the integrationGateway.properties file.

Use this property if the sending system is not a PeopleSoft node.

Replace the information in brackets with an alias of the sending system and set it equal to the remote node name in the PeopleSoft application database.

For example:

ig.AS2.AS2ListenerMap.From.QE_SOURCE= PT_LOCAL

ig.AS2.AS2ListenerMap.To
.<to alias>

(Optional.) If a sending or receiving node is not a PeopleSoft node, you must map it in the integrationGateway.properties file.

Use this property if the receiving system is not a PeopleSoft node.

Replace the information in brackets with an alias of the receiving system and set it equal to the remote node name in the PeopleSoft application database.

For example:

ig.AS2.AS2ListenerMap.To. QE_IBTGT= AS2TARGETNODE

ig.AS2.<source>.<target>.
CertificateAlias

Specify the certificate (target) alias name. Replace <source> and <target> with the source and target PeopleSoft node names used in the AS2FROM and AS2TO HTTP headers, or those mapped in the properties above.

For example:

ig.AS2.PT_LOCAL.AS2TARGETNODE.CertificateAlias=JFRANCO030204

ig.AS2.<source>.<target>.
SignerCertificateAlias

Specify the certificate alias (source) used for signing the certificate.

For example:

ig.AS2.PT_LOCAL.AS2TARGETNODE.SignerCertificateAlias=JRICHAR2030104

ig.AS2.<source>.<target>.MessageName

(Optional.) Specify the name of the incoming message.

Replace <source> and <target> with the source and target PeopleSoft node names used in the AS2FROM and AS2TO HTTP headers, or those mapped in the properties above.

For example:

ig.AS2. PT_LOCAL.AS2TARGETNODE.MessageName=EXAMPLE_REQUEST_MSG

Note. You can specify the message name in the HTTP header, HTTP query string or in the integrationGateway.properties file.

Click to jump to top of pageClick to jump to parent topicUsing the AS2 Target Connector

This section describes using the AS2 target connector and discusses how to:

Setting Node-Level Connector Properties

The following table lists the required and optional AS2 target connector properties you set at the node level. You set these properties in the Gateways component in the PeopleSoft Pure Internet Architecture.

Property ID

Property

Description

AS2PROPERTY

AS2From

Specify the name of the sending node.

AS2PROPERTY

AS2To

Specify the name of the receiving node.

AS2PROPERTY

AsynchronousMDN
RecipientURL

Specify a URL that indicates how and where the MDN is delivered.

For example:

http://<source webserver>:<http port>/PSIGW/AS2ResponseConnector

By specifying a valid URL you can request asynchronous delivery instead. The URL indicates the destination for the reply, and may use any appropriate protocol, such as HTTP or HTTPS.

If this property is set to an empty string (Default), the receipt is returned synchronously within an HTTP reply.

AS2PROPERTY

Compression

Specify whether to compress outbound AS2 messages. Options are:

  • Y: Send messages compressed using the Zlib compression format.

  • N: No compression. (Default.)

AS2PROPERTY

EDIType

Specify the content type of the message. Options are:

  • Application/edi-x12.

  • Application/edifact.

  • Application/xml..

  • Application/text.

AS2PROPERTY

EnableCRLF

(Optional.) PeopleSoft Integration Broker automatically removes carriage returns in messages and retains line feeds.

Use this property to specify whether to add a carriage return (CR) back to the end of a line feed (LF). Options are:

  • Y. Adds CR to LF. (Default.)

  • N. No CR added to LF.

AS2PROPERTY

EncryptingAlgorithm

(Optional.) Specify the algorithm used to encrypt data.

The default value is 3DES. Use of this algorithm is highly recommended.

When you specify an encrypting algorithm, you must set the RecipientCertAlias to a valid certificate. The data is encrypted using the RecipientCertAlias value you define with the algorithm you specify here.

AS2PROPERTY

FirewallHost

(Optional.) If connecting through a firewall, specify the firewall host name or IP address.

AS2PROPERTY

FirewallPassword

(Optional.) If connecting through a firewall, specify an encrypted password if authentication is to be used when connecting through the firewall.

AS2PROPERTY

FirewallPort

(Optional.) If connecting through a firewall, specify the port of the firewall to which to connect.

See the description for the FirewallType property for guidelines on how the default setting is made.

AS2PROPERTY

FirewallType

(Optional.) If connecting through a firewall, specify the type of firewall. Options are:

  • NoFirewall. (Default.)

  • TunnelingProxy: Connects through a tunneling proxy. The FirewallPort property is automatically set to 80.

  • SOCK4Proxy: Connects through a SOCKS4 proxy. The FirewallPort property is automatically set to 1080.

  • SOCK5ProxyConnects through a SOCKS5 proxy. The FirewallPort property is automatically set to 1080

You can overwrite port numbers in the FirewallProperty field.

AS2PROPERTY

Firewall User

(Optional.) If connecting through a firewall, specify the firewall user name if authentication is to be used connecting through a firewall.

AS2PROPERTY

Http Password

(Optional.) Specify the HTTP username if HTTP authentication is to be used.

AS2PROPERTY

HttpUser

(Optional.) Specify the HTTP username password if HTTP authentication is to be used.

AS2PROPERTY

MDNSecurityType

(Optional.) Specify the algorithm to use for signing the MDN. Options are:

  • Signed-sha1. (Default.)

  • Signed-md5.

  • Unsigned.

AS2PROPERTY

MDNType

Specify whether to generate an MDN, and if so the type to generate. Options are:

  • None.

  • Sync: Synchronous. (Default.)

  • Async: Asynchronous.

AS2PROPERTY

ProxyPassword

(Optional.) Specify the proxy user password.

AS2PROPERTY

ProxyPort

(Optional.) Port of the proxy server to which to connect.

AS2PROPERTY

ProxySSL

(Optional.) Options are:

  • Automatic. (Default.)

  • Always.

  • Never.

  • Tunnel.

AS2PROPERTY

ProxyServer

(Optional.) Specify the proxy server name or IP address.

AS2PROPERTY

ProxyUser

(Optional.) Specify the user name if authentication is to be used to connect through a proxy.

AS2PROPERTY

RecipientCertAlias

(Optional.) Specify the alias name of the recipient's certificate.

Note. This property is required if the EncryptingAlgorithm property is set.

AS2PROPERTY

SecurityType

Specify the security type of the request message. Options are:

  • EncryptedOnly.

  • Signed-Encrypted. (Default.)

  • SignedOnly.

  • None.

AS2PROPERTY

SignersCertificateSubject

Specify the alias name of the signing certificate.

This property is required if the SecurityType property is set to SignedOnly or Signed-Encrypted.

AS2PROPERTY

TimeOut

(Optional.) Specify the timeout for the connector in seconds. When this value is set to 0, all operation will run uninterrupted until successful completion, or an error condition is encountered.

The default value is 60.

AS2PROPERTY

User Agent

(Optional.) Specify the name of the user agent or email address.

BACKUPURL

URL

(Optional.) Specify the backup URL to use to send messages if delivery to the primary URL fails.

PRIMARYURL

URL

Specify the URL to which messages are sent using this connector.

HEADER

sendUncompressed

Specify whether to send messages decompressed. Options are:

Y: Send messages decompressed and decoded. (Default.)

N: Send messages compressed and base64 encoded.

Note. Do not change the default value.

PRIMARYURL

URL

Specify the URL to which messages are sent using this connector.

For example:

http://<target webserver>:<http port>/PSIGW/AS2ListeningConnector

Setting Gateway-Level Connector Properties

This section describes required AS2 target connector properties you set in the integrationGateway.properties file.

The AS2 target connector uses digital certificates for digital signatures, nonrepudiation and encryption.

As a result, you must set up digital certificates to use the connector.

Public keys and signatures are stored in certificates, so there must be a place in the organization to store these keys and certificates.

The place to store keys is the key store. A key store can be a flat file, a database or an LDAP server that can store key material. PeopleSoft keystore is installed with the PeopleSoft Pure Internet Architecture at the following default location: <PIA_HOME>\webserver\<DOMAIN>\keystore. PeopleSoft AS2 connectors will invoke these certificates from JKS. JKS exists on the web server.

The following properties should be set in the integrationGateway.properties file of the source web server in order to use the AS2 target connector. Use the PSCipher utility to encrypt the password.

Property

Description

ig.AS2.KeyStorePath

Specify the path to the Java keystore.

For example:

C://pt851//webserv//peoplesoft//keystore//pskey

ig.AS2.KeyStorePassword

Specify the encrypted password to the Java keystore.

For example:

GD9klUFw8760HVaqeT4pkg==

ig.AS2.AS2Directory

Specify the directory to log MDN responses.

This property is required for asynchronous MDNs.

For example:

c://temp//as2

ig.AS2.LogDirectory

(Optional.) Specify the directory to log all incoming and outgoing AS2 requests and responses.

For example:

c://temp//as2//logs

Click to jump to parent topicWorking With the SMTP Target Connector

This section provides an overview of the SMTP target connector and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding the SMTP Target Connector

The SMTP target connector enables the gateway to send messages by email using SMTP. This connector supports plain text and HTML text content types. The connector supports the following fields: To:, From:, cc:, and bcc:. You can send data of any format in the body of the email.

You can include only one email address per type of address in the header. For instance, you can include only one addressee as a destination (DestEmailAddress).

The connector ID for the SMTP target connector is SMTPTARGET.

The SMTP target connect is segment-aware and you may use it to send message segments to integration partners.

See Working With Message Segments.

Click to jump to top of pageClick to jump to parent topicSetting Gateway-Level SMTP Target Connector Properties

The SMTP target connector has one gateway-level property, in the section of the integrationGateway.properties file labeled DELIVERED CONNECTOR CONFIGURATION Section. This property specifies the SMTP mail server host through which the connector sends messages. Specify the host as follows:

ig.connector.smtptargetconnector.host=SMTP_domain_name

Click to jump to top of pageClick to jump to parent topicSetting Node-Level SMTP Target Connector Properties

The following table describes the required node-level properties for the SMTP target connector:

Property ID

Property Name

Description

SMTPTARGET

SourceEmailAddress

Specify the email address from which you send messages. Only one address is currently allowed.

SMTPTARGET

DestEmailAddress

Specify the email address to which you send messages. Only one address is currently allowed.

SMTPTARGET

CC

(Optional.) Specify the email address of the party to which you copy messages. Only one address is currently allowed.

SMTPTARGET

BCC

(Optional.) Specify the email address of the party to which you send blind copies of messages. Only one address is currently allowed.

HEADER

Content-Type

(Optional.) Specify the type of text content that makes up the email body. Values are:

  • Text/plain.

  • Text/html.

HEADER

SendUncompressed

Specify whether to send messages decompressed. Values are:

  • Y: Send the message decompressed and unencoded. This is the default value.

  • N: Send the message compressed and base 64 encoded.