Wednesday 23 June 2010

Connections, listeners and listener notifications

Connections are responsible for authenticating to JDE, to getting the structures of the DSTRs for the events that are coming in and also record information about the transaction server, although when they are started they do not connect to the transaction server. 

Connections have names like “E1_GuaranteedEvents”. 

The guaranteedEvents engine does the following when started:

loads jas.ini

load localBSFNCatalog

loads tnsnames.ora

logs user in

sends  

<?xml version="1.0" encoding="UTF-16"?>
<event-list-request><credentials><username>JDE</username><password>******</password><environment>JPY812</environment><security-token>******</security-token></credentials><environment>JPY812</environment></event-list-request>

receives

<?xml version="1.0" encoding="UTF-16"?><event-list-response><event-type-definition><category>RTE</category><type>NEWSCUST2</type><environment>JPY812</environment><active>true</active><subscribed-to>true</subscribed-to></event-type-definition></event-list-response>

<?xml version="1.0" encoding="UTF-16"?>
<get-subscriptions-request><credentials><username>JDE</username><password>******</password><environment>JPY812</environment><security-token>******</security-token></credentials></get-subscriptions-request>

<?xml version="1.0" encoding="UTF-16"?>
<receive-request><credentials><username>JDE</username><password>******</password><environment>JPY812</environment><security-token>******</security-token></credentials><sessionId>4503880130953618278796531134073486669</sessionId><timeout>2000</timeout></receive-request>

<?xml version="1.0" encoding="UTF-16"?><receive-response><event><event-id>nopmctdev01x_172103107_6014_4300832_0205201011484217</event-id><category>RTE</category><type>NEWSCUST2</type><environment>JPY812</environment><sequence-number>11004339</sequence-number><date-time><milliseconds-since-epoc>1265376404000</milliseconds-since-epoc></date-time><xml-payload>&lt;?xml version = &apos;1.0&apos; encoding = &apos;UTF-8&apos;?&gt;&lt;jdeResponse category=&quot;RTE&quot; environment=&quot;JPY812&quot; pwd=&quot;&quot; responseCreator=&quot;XAPI&quot; role=&quot;*ALL&quot; session=&quot;3007d9d8&quot; token=&quot;&quot; type=&quot;realTimeEvent&quot; user=&quot;PETERSJO&quot;&gt;&lt;event&gt;&lt;header&gt;&lt;eventVersion&gt;1.0&lt;/eventVersion&gt;&lt;type&gt;NEWSCUST2&lt;/type&gt;&lt;user&gt;PETERSJO&lt;/user&gt;&lt;role&gt;*ALL&lt;/role&gt;&lt;application&gt;R55001CM&lt;/application&gt;&lt;version&gt;AALL001&lt;/version&gt;&lt;sessionID&gt;3007d9d8&lt;/sessionID&gt;&lt;environment&gt;JPY812&lt;/environment&gt;&lt;host&gt;nopmctdev01x&lt;/host&gt;&lt;sequenceID&gt;11004339&lt;/sequenceID&gt;&lt;date&gt;02052010&lt;/date&gt;&lt;time&gt;132644&lt;/time&gt;&lt;scope/&gt;&lt;codepage&gt;1252&lt;/codepage&gt;&lt;instanceInfo&gt;&lt;host&gt;nopmctdev01x&lt;/host&gt;&lt;port&gt;6014&lt;/port&gt;&lt;type&gt;JDENET&lt;/type&gt;&lt;/instanceInfo&gt;&lt;/header&gt;&lt;body elementCount=&quot;1&quot;&gt;&lt;detail DSTMPL=&quot;D5503B001B&quot; date=&quot;02052010&quot; executionOrder=&quot;0&quot; name=&quot;NewsCustomerRealTimeWrapperV2&quot; parameterCount=&quot;49&quot; time=&quot;13:26:44&quot; type=&quot;NEWSCUST2&quot;&gt;&lt;szCreditQueueInd type=&quot;String&quot;&gt;03 &lt;/szCreditQueueInd&gt;&lt;szState type=&quot;String&quot;&gt;NSW&lt;/szState&gt;&lt;szAddressLine4 type=&quot;String&quot;&gt;Ultimo                                  &lt;/szAddressLine4&gt;&lt;szAddressLine3 type=&quot;String&quot;&gt;t                       &lt;/szAddressLine3&gt;&lt;szAddressLine2 type=&quot;String&quot;&gt;                    &lt;/szAddressLine2&gt;&lt;szAddressLine1 type=&quot;String&quot;&gt;&lt;/szAddressLine1&gt;&lt;szZipCodePostal type=&quot;String&quot;&gt;2007        &lt;/szZipCodePostal&gt;&lt;szDisputeCode type=&quot;String&quot;&gt;03        &lt;/szDisputeCode&gt;&lt;cClientCommInd type=&quot;Character&quot;&gt; &lt;/cClientCommInd&gt;&lt;szBusinessUnit type=&quot;String&quot;&gt;253&lt;/szBusinessUnit&gt;&lt;szContactFaxNumber type=&quot;String&quot;/&gt;&lt;mnARInternalAccountID type=&quot;Double&quot;&gt;1040888&lt;/mnARInternalAccountID&gt;&lt;jdLastInvoiceDate type=&quot;Date&quot;/&gt;&lt;szCity type=&quot;String&quot;&gt;Sydney                   &lt;/szCity&gt;&lt;szRepCode type=&quot;String&quot;&gt; &lt;/szRepCode&gt;&lt;jdLastPaymentDate type=&quot;Date&quot;&gt;2006/07/10&lt;/jdLastPaymentDate&gt;&lt;mnTotalOutstanding type=&quot;Double&quot;&gt;0&lt;/mnTotalOutstanding&gt;&lt;szDebtorType type=&quot;String&quot;&gt;8&lt;/szDebtorType&gt;&lt;szBusinessIdentifier type=&quot;String&quot;&gt;                    &lt;/szBusinessIdentifier&gt;&lt;szContactName type=&quot;String&quot;&gt;&lt;/szContactName&gt;&lt;mnCurrentBalance type=&quot;Double&quot;&gt;0&lt;/mnCurrentBalance&gt;&lt;szCustomerAccountNumber type=&quot;String&quot;&gt;A0            &lt;/szCustomerAccountNumber&gt;&lt;cClientStopInd type=&quot;Character&quot;&gt; &lt;/cClientStopInd&gt;&lt;mnChargesThisPeriod type=&quot;Double&quot;&gt;0&lt;/mnChargesThisPeriod&gt;&lt;szCreditStatus type=&quot;String&quot;&gt;Refer to Credit               &lt;/szCreditStatus&gt;&lt;mnAmtAgingCategories7 type=&quot;Double&quot;&gt;0&lt;/mnAmtAgingCategories7&gt;&lt;mnAmtAgingCategories6 type=&quot;Double&quot;&gt;0&lt;/mnAmtAgingCategories6&gt;&lt;mnAmtAgingCategories5 type=&quot;Double&quot;&gt;0&lt;/mnAmtAgingCategories5&gt;&lt;mnAmtAgingCategories4 type=&quot;Double&quot;&gt;0&lt;/mnAmtAgingCategories4&gt;&lt;mnLastPaymentAmount type=&quot;Double&quot;&gt;32812.38&lt;/mnLastPaymentAmount&gt;&lt;mnCurrentYTDSpend type=&quot;Double&quot;&gt;0.00&lt;/mnCurrentYTDSpend&gt;&lt;mnAmtAgingCategories3 type=&quot;Double&quot;&gt;0&lt;/mnAmtAgingCategories3&gt;&lt;mnAmtAgingCategories2 type=&quot;Double&quot;&gt;0&lt;/mnAmtAgingCategories2&gt;&lt;mnAmtAgingCategories1 type=&quot;Double&quot;&gt;0&lt;/mnAmtAgingCategories1&gt;&lt;cGSTExemptFlag type=&quot;Character&quot;&gt;N&lt;/cGSTExemptFlag&gt;&lt;szCreditMessage type=&quot;String&quot;&gt;AD&lt;/szCreditMessage&gt;&lt;szAsccountSequenceKey type=&quot;String&quot;&gt&lt;/szAsccountSequenceKey&gt;&lt;szCustomerAccountName type=&quot;String&quot;&gt             &lt;/szCustomerAccountName&gt;&lt;mnTotalOverdue type=&quot;Double&quot;&gt;0&lt;/mnTotalOverdue&gt;&lt;szCreditTerm type=&quot;String&quot;&gt;030&lt;/szCreditTerm&gt;&lt;szSiteID type=&quot;String&quot;&gt;NA&lt;/szSiteID&gt;&lt;mnCreditLimit type=&quot;Double&quot;&gt;&lt;/mnCreditLimit&gt;&lt;szClientAccountNumber type=&quot;String&quot;&gt; &lt;/szClientAccountNumber&gt;&lt;szClientName type=&quot;String&quot;&gt; &lt;/szClientName&gt;&lt;szClientSequenceKey type=&quot;String&quot;&gt; &lt;/szClientSequenceKey&gt;&lt;jdDateChanged type=&quot;Date&quot;&gt;2009/10/09&lt;/jdDateChanged&gt;&lt;szSearchType type=&quot;String&quot;&gt;C  &lt;/szSearchType&gt;&lt;szLedgerType type=&quot;String&quot;&gt;T&lt;/szLedgerType&gt;&lt;szContactPhoneNumber type=&quot;String&quot;&gt;0292811777&lt;/szContactPhoneNumber&gt;&lt;/detail&gt;&lt;/body&gt;&lt;/event&gt;&lt;/jdeResponse&gt;</xml-payload></event></receive-response>

Event Acknowledged

<?xml version="1.0" encoding="UTF-16"?>
<acknowledge-request><credentials><username>JDE</username><password>******</password><environment>JPY812</environment><security-token>******</security-token></credentials><session-id>4503880130953618278796531134073486669</session-id></acknowledge-request>

Above  is the actual Event that has been received.  So the guaranteed event connection is going to JDE and via XML requests to the appropriate jdenet kernel, it’s getting all of the data.

Note that the connection sends a confirmation which will trigger the removal of the event from the F90710. 

This is then passed to the listener and then the listener notifications.  The listener is the one that listens for the events and passes them to the transaction server.

When they are started, they write ini files in the equivalent dir to “D:\EnterpriseOne\wsg\IntegrationServer\ini_files\E1_GuaranteedEvents_DV812”.  Note that changing these files makes no difference to runtime, you gotta change the config in the administration control panel.

A JDE listener has a connection to listen to, ie. like the “E1_GuarantedEvents” above.  It also has an environment associated with it.

Then you have listener notifications, which you need to create in the webMethods development tool.

No comments: