Sei sulla pagina 1di 40

Implementation Checklist

There are ten setup steps for the XML Gateway as shown in the following table:
1 Define System Profile Options ( (performed by a DBA)

The XML Gateway uses profile options to define the following for your system:
• The directory path for XML messages and log files

ECX: Log File Path  Log File Path where the XML messages and runtime log are stored (Required)

• The directory path for XSLT style sheets

ECX: XSLT File Path  XSLT Path where XSLT style sheets are stored (Required)
• The XML Gateway System Administrator's e-mail address

ECX: System Administrator Email Address -->XML Gateway System Administrator e-mail address (Required)
• The sender's information system

ECX: OAG_LOGICALID  Identifier for Sender's Information System (Not Mandatory)

• The time zone for the database server

ECX: Server Time Zone --> The time zone in which the database server is running. (Required)

• The maximum size an outbound document may reach before validating whether parsing should be continued

ECX: Maximum XML Size --> This profile option specifies the maximum size of an outbound XML document (Not
Mandatory)
• The maximum memory available for the database session running the Java portion of the XML transformation

ECX: XML Validate Flag --> This profile option specifies whether an outbound document should continue to
be parsed by the engine after the maximum size defined in the 'ECX: Maximum XML Size' profile option has
been reached. document (Not Mandatory).

This profile option works together with the 'ECX: Maximum XML Size' profile option.
• The option of either purging all XML Gateway data along with workflow data or only purging workflow data

ECX: Purge ECX data with WF  This profile controls purging of XML Gateway data when Purge Obsolete
Workflow Runtime Data concurrent program is submitted to purge XML Gateway transactions attached to
workflow.
• If the profile value is set to 'Y' (default), then all XML Gateway data along with workflow data will be purged.
• If the profile value is set to 'N', then XML Gateway data will not be purged with workflow data, but only workflow
data will be purged. (Not Mandatory).

ECX: Notification timeout in Minutes


This profile option sets the timeout period for a notification that is waiting for a response. If the notification timeout
value is exceeded, XML Gateway execution engine will automatically reprocess the erred transaction if it does not
exceed the maximum retries limit. (Not Mandatory).
• The Trading Partner user security feature for inbound transactions
ECX: Enable User Check for Trading Partner
This profile option controls whether an inbound transaction can be enabled based on the value set in the profile
option and the association between a user and Trading Partner. (Not Mandatory).

ECX: Maximum Reprocess Attempts For Errored Inbound Transaction


This profile option governs the number of times that XML Gateway execution engine will automatically reprocess
the erred transaction after the notification timeout period. (Not Mandatory).
ECX: Java Memory Limit
This profile option allows you to increase the maximum memory (in megabytes) available for the database session
running the Java portion of the XML transformation at the site level.
Note: With the increase of maximum memory while processing XML messages, it not only helps avoid Java out of
memory errors (Java heap space exception), but also helps smooth XSLT transformation and XML message
processing. (Not Mandatory).

2 Assign XML Gateway Responsibility


Use the System Administrator responsibility to assign the Oracle XML Gateway responsibility to a user to access the
Oracle XML Gateway database and forms.

3 Define the utl_file_dir parameters (performed by a DBA)


Perform this step-in cooperation with a Database Administrator (DBA). Define UTL_FILE_DIR Parameter in the INIT.ORA
File.

4 Define Hubs
Navigate to the Hub Definitions form from the XML Gateway Responsibility by selecting Setup > Define Hubs.
5 Define XML Standards
Navigate to the Define XML Standards form from the XML Gateway Responsibility by selecting Setup > Define XML
Standards.
6 Define Transactions
Navigate to the Define Transactions form from the XML Gateway Responsibility by selecting Setup > Define
Transactions.

7 Define Lookup Values


To navigate to the Oracle XML Gateway Lookups form from the XML Gateway Responsibility select Setup > Define
Lookup Values.
8 Define Trading Partners
You can set up and manage trading partner information in the following ways:
• Use the Define Trading Partner Setup form

• Use the Trading Partner Setup API


9 Set up Trading Partner Code Conversion
The Trading Partner Code Conversion form allows the entry and display of code values for a specific trading partner.
Navigate to this form by clicking the Code Conversion button on the Define Trading Partner Setup form (XML Gateway
Responsibility > Setup > Define Trading Partners).

10 Define Standard Code Conversion


Navigate to the Standard Code Conversion form from the XML Gateway Responsibility by selecting Setup > Define Code
Conversion.
The Standard Code Conversion form displays a list of code values that are used by all trading partners unless the codes
are overridden by trading partner specific code values.
demo.doc
Outbound Demonstration
1. Supplier Setup:
From the Purchasing responsibility navigate to Supply Base>Suppliers. Enter the Supplier and Site information.
Trading Partner Setup:
An important prerequisite for sending an XML Purchase Order to the Trading Partner is the Supplier (setup in
Purchasing) must have a corresponding Trading Partner setup for the Supplier and Site in XML Gateway. This is done
from the navigation path XML Gateway responsibility > Define Trading Partners.
Create Trading Partner

1. Choose the XML Gateway Responsibility


2. Go to Define Trading Partners

Transaction Type = PO
Sub type = PRO
Standard Code = CXML
External Transaciton Type = ORDER
External Transaction Subtype = REQUEST
Direction = OUT
Map = cXML_OrderRequest.xgm
Connection Hub : DIRECT
Protocol Type :HTTPS

Username: DUNS
Password: gra1nger
Protocol Address: https://ca.gcom.grainger.com/integration/inbound/processCXML

Source Trading Par159148746

ePossibilities_Sprint_Team@grainger.com
Test Punchout Connection Information:

 FROM Credential: 622222560


 Share Secret(Password): gra1nger
 TO Credential (User name): 159148746
 TEST URL for cXML PUNCHOUT: https://ca.gcom.grainger.com/punchout/cxml
Created PO and approved it.
Generation status : Success.
<?xml version="1.0" encoding="ISO-8859-1" standalone='no'?>
<!DOCTYPE cXML SYSTEM "cXML.dtd">
<!-- Oracle eXtensible Markup Language Gateway Server -->
<cXML version="1.2.007" payloadID="2019-02-05-06-41-06.1661680:0:2.199180995093695673542419369214160086148@" timestamp="2019-02-
05T06:41:06+00:00" xml:lang="en">
<Header>
<From>
<Credential domain="DUNS">
<Identity>622222560</Identity>
</Credential>
</From>
<To>
<Credential domain="DUNS">
<Identity>159148746</Identity>
</Credential>
</To>
<Sender>
<Credential domain="DUNS">
<Identity>622222560</Identity>
<SharedSecret>#WF_DECRYPT#_@$99@94$!4@^$89^9@4^#880#$^!99!0^8@@$^8`&8$9!&+8!+B!8#9|#WF_DECRYPT#</SharedSecret>
</Credential>
<UserAgent>Oracle E-Business Suite Oracle Purchasing 11.5.9</UserAgent>
</Sender>
</Header>
<Request deploymentMode="production">
<OrderRequest>
<OrderRequestHeader orderID="1661680:0:2" orderDate="2019-02-05T06:38:35+00:00" orderType="regular" type="new">
<Total>
<Money currency="USD">90</Money>
</Total>
<ShipTo>
<Address isoCountryCode="US" addressID="223573">
<Name xml:lang="en">Default enterprise name - Presentation Services OU</Name>
<PostalAddress>
<DeliverTo/>
<Street>PSAV</Street>
<Street>ELGIN EQUIPMENT PROCESSING CENTER</Street>
<Street>2880 GALVIN DR</Street>
<City>Elgin</City>
<State>IL</State>
<PostalCode>60124</PostalCode>
<Country isoCountryCode="US">US</Country>
</PostalAddress>
<Email/>
<Phone>
<TelephoneNumber>
<CountryCode isoCountryCode="US"/>
<AreaOrCityCode/>
<Number>847-836-5015</Number>
<Extension/>
</TelephoneNumber>
</Phone>
<URL/>
</Address>
</ShipTo>
<BillTo>
<Address isoCountryCode="US" addressID="42">
<Name xml:lang="en">Presentation Services OU</Name>
<PostalAddress>
<DeliverTo/>
<Street>Audio Visual Services Group, LLC dba PSAV</Street>
<Street>PSAV - Schiller Park</Street>
<Street>5100 N River Rd. Ste 300</Street>
<City>Schiller Park</City>
<State>IL</State>
<PostalCode>60176</PostalCode>
<Country isoCountryCode="US">US</Country>
</PostalAddress>
<Email/>
<Phone>
<TelephoneNumber>
<CountryCode isoCountryCode="US"/>
<AreaOrCityCode/>
<Number/>
<Extension/>
</TelephoneNumber>
</Phone>
<URL/>
</Address>
</BillTo>
<Shipping>
<Money currency="USD">0</Money>
<Description xml:lang="en">
<ShortName/>
</Description>
</Shipping>
<Contact role="buyer">
<Name xml:lang="en">SOSA, SUSAN J</Name>
<PostalAddress name="Presentation Services OU">
<DeliverTo/>
<Street>Audio Visual Services Group, LLC dba PSAV</Street>
<Street>PSAV - Schiller Park</Street>
<Street>5100 N River Rd. Ste 300</Street>
<City>Schiller Park</City>
<State>IL</State>
<PostalCode>60176</PostalCode>
<Country isoCountryCode="US">US</Country>
</PostalAddress>
<Email>SSOSA@psav.com</Email>
<Phone>
<TelephoneNumber>
<CountryCode isoCountryCode="US"/>
<AreaOrCityCode/>
<Number/>
<Extension/>
</TelephoneNumber>
</Phone>
<URL/>
</Contact>
<Comments xml:lang="en"/>
<Extrinsic name="ACKREQD">N</Extrinsic>
<Extrinsic name="ACKBYDATE"/>
<Extrinsic name="SUPPNOTE"/>
<Extrinsic name="TANDC"/>
</OrderRequestHeader>
<ItemOut quantity="1">
<ItemID>
<SupplierPartID/>
<SupplierPartAuxiliaryID/>
</ItemID>
<ItemDetail>
<UnitPrice>
<Money currency="USD">90</Money>
</UnitPrice>
<Description xml:lang="en">97683,, DALITE, 97683, CASE FOR FF DELUXE TRIM KIT</Description>
<UnitOfMeasure>EA</UnitOfMeasure>
<Classification domain="DUMMY">DUMMY</Classification>
<ManufacturerPartID/>
<ManufacturerName xml:lang="en"/>
<URL/>
<Extrinsic name="LINENUM">1</Extrinsic>
<Extrinsic name="SHIPMENTNUM">1</Extrinsic>
<Extrinsic name="BUYERPARTNUM">100227</Extrinsic>
</ItemDetail>
<SupplierList>
<Supplier>
<Name xml:lang="en">WW GRAINGER</Name>
<Comments>
<Attachment>
<URL/>
</Attachment>
</Comments>
<SupplierID domain="DUMMY">DUMMY</SupplierID>
<SupplierLocation>
<Address isoCountryCode="US">
<Name xml:lang="en">CAP BENSENVILLE</Name>
<PostalAddress>
<DeliverTo/>
<Street>880 E DEVON AVE</Street>
<Street/>
<Street/>
<City>BENSENVILLE</City>
<State>IL</State>
<PostalCode>60106-1150</PostalCode>
<Country isoCountryCode="US">US</Country>
</PostalAddress>
<Email>ePossibilities_Sprint_Team@grainger.com</Email>
<Phone>
<TelephoneNumber>
<CountryCode isoCountryCode="US"/>
<AreaOrCityCode/>
<Number>630 860-9933</Number>
<Extension/>
</TelephoneNumber>
</Phone>
<Fax>
<TelephoneNumber>
<CountryCode isoCountryCode="US"/>
<AreaOrCityCode/>
<Number>630860-9567</Number>
<Extension/>
</TelephoneNumber>
</Fax>
<URL/>
</Address>
<OrderMethods>
<OrderMethod>
<OrderTarget>
<OtherOrderTarget>Oracle XML Direct</OtherOrderTarget>
</OrderTarget>
<OrderProtocol/>
</OrderMethod>
<Contact>
<Name xml:lang="en"> </Name>
<Email/>
<Phone>
<TelephoneNumber>
<CountryCode isoCountryCode="US"/>
<AreaOrCityCode/>
<Number>-</Number>
<Extension/>
</TelephoneNumber>
</Phone>
</Contact>
</OrderMethods>
</SupplierLocation>
</Supplier>
</SupplierList>
<ShipTo>
<Address>
<Name xml:lang="en">1122</Name>
<PostalAddress>
<Street>PSAV</Street>
<Street>ELGIN EQUIPMENT PROCESSING CENTER</Street>
<Street>2880 GALVIN DR</Street>
<City>Elgin</City>
<State>IL</State>
<PostalCode>60124</PostalCode>
<Country isoCountryCode="US">US</Country>
</PostalAddress>
<Email/>
<Phone>
<TelephoneNumber>
<CountryCode isoCountryCode="US"/>
<AreaOrCityCode/>
<Number>847-836-5015</Number>
<Extension/>
</TelephoneNumber>
</Phone>
<URL/>
</Address>
</ShipTo>
<Tax>
<Money currency="USD"/>
<Description xml:lang="en"/>
</Tax>
<Comments xml:lang="en"/>
</ItemOut>
</OrderRequest>
</Request>
</cXML>
*******************************************************************************************************************************
Hi Devaraj,

The second test PO (#1661667) I attempted to send to Grainger was not received.

Here are some things I have learned while researching this.


We do not need to define a Hub.
o E-Business may be conducted directly with a business partner, commonly known as a trading partner, or via a hub, such as Oracle Exchange.
o With Oracle XML Gateway, you can define the hub or the individual business partner as a trading partner.
o To implement a message with a trading partner, use the XML Gateway setup features to define the Trading Partner or hub, code conversion values, and
internal-to-external transaction name cross-references. In addition, you can identify the XML Gateway system administrator to notify for system or process
errors. ACTION: We need to identify how to setup the XML Gateway system admin to receive notifications … me/you in UAT … TBD in PROD.
After the XML message is generated by XML Gateway … it is passed to the ‘Advanced Queuing’ module which is responsible for actually sending the XML
message. This is done via a concurrent request (PO Output for Communication).
o Oracle Advanced Queuing
The XML Gateway Execution Engine interfaces with Oracle Advanced Queuing to stage outbound XML messages or receive inbound XML messages for
processing.
o Oracle Workflow
The XML Gateway Execution Engine interfaces with Oracle Workflow to actively notify the XML Gateway system administrator regarding system or process
errors, or the Trading Partner contact for data errors.
The XML Gateway system administrator has the option to "retry" failed outbound processes, or "reprocess" failed inbound processes.
Within ‘Universal Work Queue Administration’ responsibility, you can find the requests and view the Log. I found the requests … and have attached to Log file
from the last attempt (verified based on the PO Number referenced within the Log). When I look at the log, it doesn’t appear that there was any attempt to
actually send the cXML file to Grainger. There is mention of a PDF file, but no mention of the Grainger https site or a cXML file or message.
o
o I have attached the log file for the request of PO 1661667.
select * from apps.wf_notifications
where BEGIN_DATE>SYSDATE-0.1
SELECT * FROM FND_LOG_ATTACHMENTS

select * from ECX_DOCLOGS


where document_number like '1661670%2'

select * from ECX_TP_HEADERS


select * from ECX_TP_DETAILS
select * from ECX_OUTBOUND
select * from ECX_OUTQUEUE
select * from ECX_OXTA_LOGMSG
select * from WF_DEFERRED
select * from ECX_EXTERNAL_LOGS
select * from ECX_OXTA_LOGMSG
select * from ECX_OUTBOUND_LOGS

select * from ECX_DOCLOGS ECXD


, ECX_OUTQUEUE ECXO
where document_number like '166168%2'
AND ECXD.MSGID=ECXO.MSGID
https://ca.gcom.grainger.com/punchout/cxml

XML Gateway Data Collection Script for Outbound ECX Transactions (Doc ID 742618.1)

This script has been created to collect the required information to troubleshoot issues with ECX Outbound Transactions. It collects all relevant
data needed to debug a specific document number and check its status at various stages of the Outbound flow.

CXML Order Request To Include Buyer ID (Doc ID 1631752.1)

The XML Gateway envelope(header) has an attribute called "SOURCE_TP_LOCATION_CODE". If a user enters a value "nnnn" as the source tp
location code in the XML Gateway Trading Partner setup screen, that value is transmitted in the header as "SOURCE_TP_LOCATION_CODE"
attribute. This is the only configuration option available.

Does Oracle Sends That PO Back To Supplier Via CXML ? (Doc ID 2316399.1)

PO Print itself does not generate XML or cXML file. If the supplier is setup as Trading Partner in XML Gateway then when the PO is
approved the XML radio button is automatically selected . Then from the PO Approval wf a child worklfow POXML is launched that
generates either XML or cXML payload that will be queued and send to the supplier

In the XML Gateway resp in the Define Trading Partners form is where you pick either OAG (which is for XML) or cXML
So when you run PO Print, it generates XML or cXML based on the setup you did for the supplier in XML Gateway Responsibility.

what is PSAV's DUNS number


if it is 622222560 ... then I think the "From Domain" should be DUNS
if it is something else ... then I think the "From Domain" should be psav.com
I think it is the DUNS number ... this is why I set it up this way in the latest test

I did figure out why there were two different web addresses
one is for the iProc punchout
other is for where to send the cxml PO
so I think the setups we have on WW GRAINGER partner are good
Hi Jennifer,

Attached are the screenshots from our latest test.

Here is the header section of the cXML file (complete file embedded in the test results document):
< Question: for ‘From Credential Domain’ … are you expecting “psav.com” or “DUNS”? >
<Header>
<From>
<Credential domain="DUNS">
<Identity>622222560</Identity>
</Credential>
</From>
<To>
<Credential domain="DUNS">
<Identity>159148746</Identity>
</Credential>
</To>
<Sender>
<Credential domain="DUNS">
<Identity>622222560</Identity>
<SharedSecret>#WF_DECRYPT#_@$99@94$!4@^$89^9@4^#880#$^!99!0^8@@$^8`&8$9!&+8!+B!8#9|#WF_DECRYPT#</Share
dSecret>
</Credential>
<UserAgent>Oracle E-Business Suite Oracle Purchasing 11.5.9</UserAgent>
</Sender>
</Header>

Notes:
 As mentioned earlier we are researching Advanced Queuing module / Universal Work Queue to confirm that the cXML was actually sent
somewhere. If it was sent, where was it sent. If it was not, why not. To that end we have opened another SR with Oracle.

Peter Everett
Manager, Oracle (Purchasing) - PSAV®
■ office: 312.873.5677 ■ mobile: 650.255.0614

From: Duncan, Jennifer <Jennifer.Duncan@grainger.com>


Sent: Monday, February 4, 2019 8:19 AM
To: Peter Everett <peverett@PSAV.COM>
Cc: Harvey, Travis <Travis.J.Harvey@grainger.com>; Costa, Theresa <Theresa.Costa@grainger.com>; ePossibilities_Sprint_Team
<ePossibilities_Sprint_Team@grainger.com>
Subject: RE: PSAV Punchout Support

Hi Peter,

We are expecting to receive the cXML Test PO to the below URL, using the below Credentials. Thanks

cXML Test Order URL: https://ca.gcom.grainger.com/integration/inbound/processCXML

 From Credential Domain: NetworkId


 From Identity: 622222560
 To Credential Domain: DUNS
 To Identity: 159148746
 Sender Credential Domain: NetworkId
 Sender Identity: 622222560
Jennifer Duncan| Project Planner | W.W. Grainger, Inc
100 Grainger Parkway | Lake Forest, IL 60045 | 847-972-4469

Troubleshooting XML Gateway Inbound And Outbound Transactions (Doc ID 418939.1)

Outbound flow is as follows:

1. ECX message is generated.


2. Execution engine enqueues it into ecx_outqueue.
3. Message is dequeued by OTA.
4. Sent to Trading Partner using corresponding protocol (SMTP,HTTP,HTTPS etc).

Inbound flow is as follows:

1. Message is enqueued to ecx_inqueue by OTA.


2. ECX Inbound agent listener moves it from ecx_inqueue to ecx_transaction queue.
3. The ECX transaction agent listener triggers the subscription which moves the data into the open interface tables.
4. Validation APIs are run on these tables and finally data is pushed into the base tables.
POXML Not Transmitted - XML Gateway Not Processing Documents, OTA not running (Doc ID 958212.1)

There are a couple of ways to determine if OTA is running:


a) run this script and check the output: sqlplus apps/apps @$ECX_TOP/patch/115/sql/ecxver.sql
b) run this: select * from gv$session where action like'OXTA%';

Please try this ping test.

https://ora-dapp-03.psav.com:4443/OA_HTML/US/ECXOTAPing.htm
Username : DUNS

Password : gra1nger

PartyId : 20962

PartySiteId : 74837
Error message

Please reach out to Oracle and get this issue resolved.


https://ora-test-uat.psav.com:4443/OA_HTML/US/ECXOTAPing.htm

https://ca.gcom.grainger.com/integration/inbound/processCXML

Potrebbero piacerti anche