Go to primary content
Oracle Agile Engineering Data Management Enterprise Integration Platform Administration Guide
Release e6.2.0.0
E52568-02
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

6 Network Connectors

This chapter describes all connectors that send and/or receive data through a network.

6.1 FTP Connector

The FTP connector can be used to send XML messages to an FTP server as defined in the configuration file. Unlike the other connectors, the whole BOD content will be uploaded as a file to the FTP location.

The respective section in the eai_ini.xml file for setting up the FTP connector is described here:

<connector name="ftp" version="2.2.0" active="false" class="com.eigner.eai.connector.net.FtpConnector">
     …
     <transformation direction="out" name="${eai.conf}/ftp.xsl"/>
     …
     <connection name="default" active="true">
           <host>server</host>
           <user>user</user>
           <password>xxx</password>
           <filename>file.xml</filename>
           <transfermode>binary</transfermode>
           <direction>upload</direction>
     </connection>
     …
</connector>

Details of the XML tags:

Tag Description Hint
transformation transformation file (optional) Transformation
connection Connection configuration Only one connection must be active

Details of the tag connection:

Tag Description
host host name
user FTP user name
password encrypted FTP password
filename name of the target file on the FTP server (may include a path, e.g. /upload/file.xml)
transfermode 'binary' or 'ascii'
direction only 'upload' is supported right now

Details of the XML tag transformation:

Attribute Description Hint
direction Direction for mapping If the connector is a source connector, direction "in" must be used.

If the connector is a target connector, direction "out" must be used.

name name of the transformation file (optional) If the attribute is not given or empty, the FTP connector uses the Business Object as it is. If you need a different format, you have to provide an appropriate transformation.

6.2 HTTP Connector

The HTTP connector is a source and target connector, which can receive and send XML documents via HTTP. It is possible to process both XML data (content type: text/xml) and multi-part data (content type: multipart/form-data), where the XML part is sent to the controller. This can be changed by providing a transformation.

The connector is capable of handling ZIP compressed content if it has the extensions .zip or .axml (e.g. as used when exporting from Agile 9 ACS).

The respective section in the eai_ini.xml file for setting up the HTTP connector is described here:

<connector name="http" version="2.2.0" active="false" class="com.eigner.eai.connector.net.HttpConnector">
     …
     <transformation direction="in" name="${eai.conf}/http.xsl"/>
     ...
     <connection name="default" active="true">
           <context>/eip/</context>
     </connection>
     …
</connector>

Details of the XML tags:

Tag Description Hint
transformation Transformation file (optional) Transformation
connection Connection configuration Only one connection must be active. This is only for incoming connections (source connector). For outgoing connections, please see the BOR definition.

Details of the tag connection:

Tag Description
context context on which to receive data (must be unique across all connectors)

Details of the XML tag transformation:

Attribute Description Hint
direction Direction for mapping If the connector is a source connector, direction "in" must be used.

If the connector is a target connector, direction "out" must be used.

name Name of the transformation file (optional) If the attribute is not given or empty, the HTTP connector assumes that the data is in the proper BOD format. If not, an appropriate transformation must be specified.


Note:

The complete URL on which the HTTP connector is able to receive data is constructed from the host name, the web server's port number (/eai-root/controller/webserver/@port), the context (/eip/) and the connector's name (http): e.g. http://localhost:8080/eip/http.

6.2.1 XML Data (text/xml)

When receiving data, only the HTTP method POST is accepted.

The HTTP header should be similar to:

POST /eip/http HTTP/1.1Content-Type: text/xml; charset=ISO-8859-1UserAgent: Apache-HttpClient/4.2.1Host: localhost:8080Content-Length: 190

The XML data must be either inside a data element (see BOD definition) where the values for noun, verb and key must be provided as HTTP query parameters, or in the RecordArea format

6.2.2 Multipart Data (multipart/form-data)

When receiving data, only the HTTP method POST is accepted.

The HTTP header should be similar to:

POST /eip/http HTTP/1.1UserAgent: Apache-HttpClient/4.2.1Host: localhost:8080Content-Length: 876Content-Type: multipart/form-data; boundary=jUvFMKUzuDCdYEeRflvgkdFj3Sw6q3yERbZ8

The multipart data should be in this format:

  • String Part: OBJECT=<object>

  • String Part: VERB=<verb>

  • File Part: Zip File in which an XML file may be embedded

<object> should be a value that corresponds to the bod/dataarea/record/@type. If it is not provided, it should be provided as an HTTP query parameter (see above). If this is not provided, a proper value must be set by an XSL transformation.

<verb> should be a value that corresponds to the bod/dataarea/record/@verb. If it is not provided, it should be provided as an HTTP query parameter (see above). If this is not provided, a proper value must be set by an XSL transformation.

The XML file from the file part applies to the same conventions as the XML Data.

6.3 Mail Connector

The mail connector is a target connector, which can send mails via SMTP, but cannot receive them. By default, the whole XML content of the element <data> in the first <record> of the XML message (XDO), which arrives at the mail connector, is send to the mail receiver. This can be changed by providing an explicit <content> element as described below in more detail.

The respective section in the eai_ini.xml file for setting up the mail connector is described below. Some of these parameters can be superseded by the XML message data, which is sent to the mail connector. These "dynamic" parameters are also described below.

<connector name="mail" version="2.2.0" active="false" class="com.eigner.eai.connector.mail.MailConnector">
     …
     <transformation direction="out" name="${eai.conf}/plm_mail.xsl"/>
     ...
     <connection name="default" active="true">
           <server>mailserver</server>
           <sender>eip@foo.com</sender>
           <receiver>admin@foo.com</receiver>
           <subject>Automated mail from Enterprise Integration Platform</subject>
     </connection>
     …
</connector>

Details of the XML tags:

Tag Description Hint
transformation transformation file (optional) Transformation
connection Connection configuration Only one connection must be active

Details of the tag connection:

Tag Description
server name of the mail server, which is configured to handle incoming SMTP mails
sender name of the sender of the mail
receiver name of the receiver of the mail
subject subject of the mail

Details of the XML tag transformation:

Attribute Description Hint
direction Direction for mapping If the connector is a source connector, direction "in" must be used.

If the connector is a target connector, direction "out" must be used.

name name of the transformation file (optional) If the attribute is not given or empty, the mail connector uses either the content element below the data element or the data element as the message body. If given, a structure similar to the one shown below should be the result of the transformation.

As described above, it is possible to supersede some of the static parameters of the mail connector. The parameters receiver, subject and content can be explicitly defined in the XML message by providing the respective XML elements. This can be set up by specific mapping rules, which map source data into the data format as expected by the mail connector. Below is an excerpt of the DataArea inside the XML message, which shows how to define receiver, subject and content in a generic way.

<dataarea>
     <recordtype="ITEM" verb="CREATE">
           <key>45-1</key>
           <params/>
           <data>
                 <receiver>admin@company.com</receiver>
                 <subject>Release Message from Enterprise Integration Platform</subject>
                 <content>Part 123 was released</content>
           </data>
     </record>
</dataarea>

When providing a <content> XML element, the result is generated based on these rules:

If the <content> element is present, there are no children and it contains text, the text is used.

<dataarea>
     <record type="ITEM" verb="CREATE">
           <key>45-1</key>
           <params/>
           <data>
                 …
                 <content>Part 123 was released</content>
           </data>
     </record>
</dataarea>
<dataarea>
     <record type="ITEM" verb="CREATE">
           <key>45-1</key>
           <params/>
           <data>
                 …
                 <content/>
           </data>
     </record>
</dataarea>

If the <content> element is present, there are no children and it contains no text, the <data> element itself is used.

If the <content> element is present and has only one child element underneath, the child element is used.

<dataarea>
     <record type="ITEM" verb="CREATE">
           <key>45-1</key>
           <params/>
           <data>
                 …
                 <content>
                       <head>
                             …
                       </head>
                 </content>
           </data>
     </record>
</dataarea>

If the <content> element is present and there are multiple children, the 'content' element itself is used.

<dataarea>
     <record type="ITEM" verb="CREATE">
           <key>45-1</key>
           <params/>
           <data>
                 … 
                <content>
                       <child1>
                             …
                       </child1>
                       <child2>
                             …
                       </child2>
                 </content>
           </data>
     </record>
</dataarea>

If the element 'content' is not present, the 'data' element is used (same as before).

Details of the XML tags:

Tag Description
receiver explicit receiver to the mail
subject explicit subject of the mail (if not specified, the one from the configuration is used)
content explicit content (text) of the mail, otherwise the whole XML data below the <data> element is sent (if not specified, the data element is used as message body)

6.4 SOAP Connector

The SOAP connector is a source and a target connector, which can call SOAP-based web services and can receive SOAP messages.

In source mode, the whole XML content in the XML message, which arrives at the SOAP connector, is provided as parameters to the web service.

In target mode, the behavior depends on the content. If there is only one XML element under the <data> element, it is sent to the SOAP endpoint. If not, the whole <data> element is sent.

The respective section in the eai_ini.xml file for setting up the SOAP connector is described here:

<connector name="soap" version="2.2.0" active="true"                      class="com.eigner.eai.connector.net.SoapConnector">
     <connection name="default" active="true">
           <context>/soap/</context>
     </connection>
     <bor location="${eai.conf}/bor_soap.xml"/>
</connector>

Details of the XML tag connection:

Tag Description Hint
context Context for SOAP server Must be unique for all contexts

6.5 Synchronous SOAP Connector

The synchronous SOAP connector is a source connector, which can receive SOAP messages, but cannot send them. By default, the whole XML content in the XML message, which arrives at the SOAP connector, is provided as parameters to the web service.

The respective section in the eai_ini.xml file for setting up the SOAP connector is described here:

<synchronous name="soap" version="2.2.0" active="true"                      class="com.eigner.eai.connector.net.SoapSyncConnector">
     <connection name="default" active="true">
           <context>/soap-sync/</context>
     </connection>
</connector>

Details of the XML tag connection:

Tag Description Hint
context Context for SOAP server Must be unique for all contexts

6.6 Socket Connector

The Socket connector is a source and a target connector, which can send or receive data via a TCP/IP socket.

In target mode, it sends the whole XML content to the remote socket server. If the expected XML format is different, a transformation needs to be specified in the connector configuration for the out direction.

In source mode, it receives the whole XML content that got send by a remote socket. If it is not in the required XDO/BOD format, a transformation needs to be specified in the connector configuration for the in direction.

The respective section in the eai_ini.xml file for setting up the Socket connector is described here:

<connector name="socket" version="2.2.0" active="false" class="com.eigner.eai.connector.net.SocketConnector">
     <connection name="default" active="true">
           <server port="1234"/>
     </connection>
     <!--
     <transformation direction="in" name="${eai.conf}/socket_in.xsl"/>
     <transformation direction="out" name="${eai.conf}/socket_out.xsl"/>
     -->
     <bor location="${eai.conf}/bor_socket.xml"/>
</connector>

The server configuration is for source mode only.

Details of the XML tag connection:

Tag Description Hint
server Configures the inbound socket server

Details of the XML tag server:

Tag Description Hint
port Port number for source mode Any port number that is available on the machine

When operating in target mode, the connection information is determined from the configured BOR file:

<bo name="ITEM">
     <verb name="QUERY" host="localhost" port="1234"/>
</bo>

Details of the attributes of the XML tag bo/verb:

Tag Description Hint
host Host name
port Port number

6.7 Web Service Connector

The Web Service connector is a source and a target connector, which can call Web Services and which can be called as a Web Service. By default, the whole XML content in the XML message, which arrives at the Web Service connector, is provided as parameters to the Web Service.

The respective section in the eai_ini.xml file for setting up the Web Service connector is described here:

<connector name="ws" version="2.2.0" active="false" class="com.eigner.eai.connector.net.WebServiceConnector">
     <connection name="default" active="true">
           <service name="eipservice" wsdd="/com/eigner/eai/connector/net/ws/EipService.wsdd" location="/axis/services/EipService"/>
           <service name="eipservicexml" wsdd="/com/eigner/eai/connector/net/ws/EipServiceXml.wsdd" location="/axis/services/EipServiceXml"/>
     </connection>
     <bor location="${eai.conf}/bor_ws.xml"/>
</connector>

The service configuration is for source mode only.

Details of the XML tag connection:

Tag Description Hint
service Configures the web services

Details of the XML tag service:

Tag Description Hint
name Name of web service Must be unique for all web services
wsdd Deployment file for web service This is provided by the creator of the web service
location URL relative to the web server root The web server is configured in the "controller" section


Note:

When using the WebService connector for calling a Web Service (as a target connector), no complex types are supported since this requires that java representations of the complex types to be generated. The current version of the used WSIF (Web Service Invocation Framework) does not support this.

When operating in target mode, the connection information is determined from the configured BOR file:

<bo name="ITEM">
     <verb name="QUERY" endpoint="http://localhost:8080/axis/EchoHeaders.jws" operation="echo" namespace="" prefix="" user="" password="" timeout="15000"/>
</bo>

Details of the attributes of the XML tag bo/verb:

Tag Description Hint
endpoint Endpoint (location) of Web Service
operation Web Service method to execute
namespace Namespace URI (may be empty)
prefix Namespace prefix (may be empty)
user User name for authentication (if required)
password Password for authentication (if required) Needs to be encrypted
timeout Timeout value in milliseconds

6.8 Synchronous WebService Connector

The synchronous WebService connector is a source connector, which can be called as a web service. By default, the whole XML content in the XML message, which arrives at the synchronous WebService connector, is provided as parameters to the web service.

The respective section in the eai_ini.xml file for setting up the synchronous WebService connector is described here:

<synchronous name="ws" version="2.2.0" active="false" class="com.eigner.eai.connector.net.WebServiceSyncConnector">
     <connection name="default" active="true">
           <service name="eipservicesync" wsdd="/com/eigner/eai/connector/net/ws/EipServiceSync.wsdd" location="/axis/services/EipServiceSync"/>
           <service name="eipservicexmlsync" wsdd="/com/eigner/eai/connector/net/ws/EipServiceXmlSync.wsdd" location="/axis/services/EipServiceXmlSync"/>
     </connection>
</connector>

Details of the XML tag connection:

Tag Description Hint
service Configures the web services

Details of the XML tags service:

Tag Description Hint
name Name of connection Must be unique for all web services
wsdd Deployment file for web service This is provided by the creator of the web service
location URL relative to the web server root The web server is configured in the "controller" section

Details of the XML tags service:

Tag Description Hint
name Name of web service Must be unique for all web services
wsdd Deployment file for web service This is provided by the creator of the web service
location URL relative to the web server root The web server is configured in the "controller" section

When operating in target mode, the connection information is determined from the configured BOR file:

<bo name="ITEM">
 <verb name="QUERY" endpoint="http://localhost:8080/axis/EchoHeaders.jws" operation="echo" namespace="" prefix="" user="" password="" timeout="15000"/>
 </bo>

Details of the attributes of the XML tag bo/verb:

Tag Description Hint
endpoint Endpoint (location) of Web Service
operation Web Service method to execute
namespace Namespace URI (may be empty)
prefix Namespace prefix (may be empty)
user User name for authentication (if required)
password Password for authentication (if required) Needs to be encrypted
timeout Timeout value in milliseconds

6.9 XML-RPC Connector

The XML-RPC connector is a source connector, which can receive XML documents via XML-RPC, but cannot send them. By default, the whole XML content in the XML message, which arrives at the XML-RPC connector, is send to the controller. This can be changed by providing a transformation.

The respective section in the eai_ini.xml file for setting up the XML-RPC connector is described here:

<connector name="xmlrpc" version="2.2.0" active="true"                   class="com.eigner.eai.connector.net.XmlRpcConnector">
           <connection name="default" active="true">
                 <port>8088</port>
                 <secure>false</secure>
                 <authentication>false</authentication>
                 <user>admin<user>
                 <password>xxx</password>
           </connection>
     </connector>

Details of the XML tag connection:

Tag Description Hint
port Port on which the XML-RPC server listens 8088
secure Flag if to run in secure mode (https) false
authentication Flag if authentication is used (user and password required) false
user User name if authentication is set to true
password Password (encrypted) if authentication is set to true

6.10 Synchronous XML-RPC Connector

The synchronous XML-RPC connector is a source connector, which can receive XML documents via XML-RPC, but cannot send them. By default, the whole XML content in the XML message, which arrives at the XML-RPC connector, is send to the controller. This can be changed by providing a transformation.

The respective section in the eai_ini.xml file for setting up the synchronous XML-RPC connector is described here:

<synchronous name="xmlrpc-sync" version="2.2.0" active="false" class="com.eigner.eai.connector.net.XmlRpcSyncConnector">
     <connectionname="default" active="true">
           <port>8089</port>
           <secure>false</secure>
           <authentication>false</authentication>
           <user/>
           <password/>
     </connection>
</synchronous>

Details of the XML tag connection:

Tag Description Hint
port Port on which the XML-RPC server listens 8088
secure Flag if to run in secure mode (https) false
authentication Flag if authentication is used (user and password required) false
user User name if authentication is set to true
password Password (encrypted) if authentication is set to true