Oracle® Application Server Integration B2B User's Guide
10g Release 2 (10.1.2.0.2) B19370-01 |
|
Previous |
Next |
This appendix describes Oracle Application Server Integration B2B troubleshooting methods.
This appendix contains the following topics:
Log in to Oracle Internet Directory, where OracleAS Integration B2B accesses the database password. Go to the B2B component and change the password. (Entry Management > cn=OracleContext > Products > IAS > IAS Infrastructure Database > orclReferenceName > orclResourceName=B2B)
If OracleAS Integration B2B is very slow after processing a few thousand messages, purge the old run-time data.
If the UI pages time out too fast, do the following:
Go to Oracle_Home
\j2ee\OC4J_B2B\applications\b2b\ip\WEB-INF\web.xml
.
Modify web.xml
to include a <session-config>
node under <web-app>
, as follows:
<web-app> ..... <session-config> <session-timeout>60</session-timeout> </session-config> ..... </web-app>
Restart OPMN.
When you enqueue a message to IP_OUT_ENQUEUE
, ensure that MSG_TYPE
is set to 1
, where 1
indicates a request message. See Table 4-1, "IP_MESSAGE_TYPE Parameters" for more information.
OracleAS Integration B2B provides two queues that enable you to confirm the validity of messages. These queues can be used to integrate with any application that supports advanced queuing (AQ).
IP_IN_QUEUE
queue
For inbound messages, you can confirm if the message remains in this queue.
IP_OUT_QUEUE
queue
For outbound messages, you can confirm if the message remains in this queue.
OracleAS Integration B2B provides several report creation wizards that enable you to track the movement of messages and identify errors:
Error Status Report
This report identifies errors and all exceptions that occur. This includes enqueue/dequeue errors on a queue, transport errors occurring during wire message communication, plug-ins errors, core errors, XEngine errors (an EDI document processing run-time API), and file handling errors.
This report also enables you to access other report details.
Wire Message Report
This report enables you to check inbound and outbound wire messages to confirm that they are valid and have been received or sent.
Business Message Report
This report identifies the exchange trail of messages between trading partners.
See Chapter 19, "Creating Reports" for instructions on creating reports.
OracleAS Integration B2B creates log files describing all types of occurrences, including startup and shutdown details, errors, warning messages, access details on HTTP requests, and so on. The log file names and formats are determined by the oracle.tip.LogType
setting in the Oracle_Home
/ip/config/tip.propertie
s
file. For example, the run-time log file and design-time log file are named as follows:
If oracle.tip.LogType is Set to... | Then the File Name is... |
---|---|
ojdl (default)
|
log.xml (for both files)
|
text
|
b2b.log
|
You can view the log files in either of two ways:
Through a command line editor:
Go to the Oracle_Home
/ip/log/b2b
directory.
Open the log.xml
file or b2b.log
file.
Search for:
Error messages (begin with AIP-
)
Exceptions
iAudit report for validation errors in the XEngine (the EDI document processing run-time API)
Go to the Oracle_Home
/ip/log/ui
directory.
Open the log.xml
file or ui.log
file.
Search for design-time issues, such as deployment errors.
Through Oracle Enterprise Manager 10g Application Server Control Console
See "OracleAS Integration B2B Log Files" for instructions on accessing log files through Oracle Enterprise Manager 10g Application Server Control Console.
After installation, the OracleAS Integration B2B logging level is automatically set to ERROR
. To create more detailed logging level information, set the level to DEBUG
. Perform this task on the Server Properties page of Oracle Enterprise Manager 10g Application Server Control Console. Three server properties can be set:
Generic Log Level
B2B Server Log Level
User Interface Log Level
Generic Log Level provides general B2B server and user interface tool logging results. This property value is overridden if you set B2B Server Log Level or User Interface Log Level. Both these properties provide more detailed logging results than setting only Generic Log Level.
See "OracleAS Integration B2B Middle-Tier Instance Server Properties" for instructions on setting log levels through Oracle Enterprise Manager 10g Application Server Control Console.
If many large messages are enqueued, OracleAS Integration B2B can stop processing with no indication of errors in the OracleAS Integration B2B log files. If this occurs, you can be experiencing an out-of-memory error. Out-of-memory errors that occur in OracleAS Integration B2B are logged in the Oracle Process Manager and Notification Server (OPMN) log files. This type of error can be corrected by increasing the heap size.
Open the Oracle_Home
/opmn/log/B2B~B2BServer~
instance_name
file on your Oracle Application Server middle tier. For example, if your host is named myhostname
and your Oracle home is named midtier
, the log file is named C:\midtier\opmn\log\B2B~B2BServer~midtier.myhostname.us.oracle.com~1
.
Look for any out-of-memory errors:
java.lang.OutOfMemoryError
If you find this type of error, increase the heap size to correct the problem.
Open the Oracle_Home
/opmn/conf/opmn.xml
file on the same Oracle Application Server middle tier.
Find the process-type
section for B2BServer
, which looks similar to the following:
<process-type id="B2BServer" module-id="b2bengine" working-dir="$ORACLE_HOME/ip" status="enabled"> <environment> <variable id="EDIFECS_HOME" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE"/> <variable id="ECRegistryPath" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/Validator/Docs/Settings/Pr oduction/registryValid ator.xml"/> <variable id="LD_PRELOAD" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/bin/Release/libxenginereso urcelib.so"/> <variable id="LD_LIBRARY_PATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/bin/Release" append="true"/> <variable id="PATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/bin/Release" append="true"/> <variable id="CLASSPATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/java/javalibs/edifecsXData .jar" append="true"/> <variable id="CLASSPATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/java/javalibs/edifecsXTest .jar" append="true"/> <variable id="CLASSPATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/java/javalibs/edifecs.jar" append="true"/> <variable id="CLASSPATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/java/javalibs/log.jar" append="true"/> <variable id="CLASSPATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/java/javalibs/xalan.jar" append="true"/> <variable id="CLASSPATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/java/javalibs/js.jar" append="true"/> <variable id="CLASSPATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/java/javalibs/bsf.jar" append="true"/> <variable id="CLASSPATH" value="$ORACLE_HOME/ip/oem/edifecs/EDIFECSXE/eTools/java/javalibs/xerces.jar" append="true"/> </environment> <module-data> <category id="start-parameters"> <data id="java-parameters" value="-server -Xms8M -Xmx512M"/> </category> </module-data> <start timeout="3600"/> <stop timeout="3600"/> <port id="dms" range="8777"/> @ <process-set id="midtier.iwinrcf19.us.oracle.com" numprocs="1"/> </process-type>
Find the java-parameters
entry (identified in bold in the preceding text) and change the value of Xmx512M
to a more appropriate value.
Save your changes.
Stop and restart the B2B server instance.
See "OracleAS Integration B2B Monitoring and Administration Tasks" for instructions on stopping and starting the B2B server instance.
Table A-1 identifies connection errors you can receive and actions for correcting these errors. These errors can appear when you create reports to monitor the status of your business messages.
Table A-1 Connection Errors and Corrective Actions
See the following for more information:
"OracleAS Integration B2B Monitoring and Administration Tasks" for instructions on monitoring the status of the B2B server
"OracleAS Integration B2B Middle-Tier Instance Server Properties" for instructions on editing RMI Port and RMI Instance parameter values in Oracle Enterprise Manager 10g Application Server Control Console
"Oracle HTTP Server Transport Servlet and OracleAS Integration B2B" for details about the transport servlet and the web.xml
file
If you encounter connection errors while posting messages to the trading partner URL (for HTTPS protocol), open the Oracle Wallet (ewallet.p12
) using Oracle Wallet Manager. The default location of the Oracle Wallet is
ORACLE_HOME/Apache/Apache/conf/ssl.wlt/default
Inspect the wallet to ensure that the trading partner certificate was imported into the Oracle Wallet as a trusted certificate. Save the Oracle Wallet and export the entire wallet as wallet.txt
in the same directory as ewallet.p12
. Verify that the oracle.tip.adapter.b2b.WalletLocation
field has a valid URI pointing to wallet.txt
. An example of a valid URI is as follows:
file:/private/oracle/Oracle_Home/Apache/Apache/conf/ssl.wlt/default/wallet.txt
This section describes workarounds for using the generic exchange protocol.
Transport Protocol Parameter Settings for the FTP or File Transport Protocol
Generic Exchange Protocols and Oracle Application Server Web Cache
If you are using a business protocol with a generic exchange, and select the FTP or File transport parameter, you must specify the following values for the transport protocol parameters shown in Table A-2. Otherwise, your business transaction is deleted during transit. You specify these parameters on the Create Trading Partner: Transport page of the Create Trading Partner wizard for both host and remote trading partners.
Table A-2 Transport Protocol Parameters for File or FTP Transport Protocol
Parameter | Value |
---|---|
receiver read only |
|
receiver read ordered |
|
receiver read ordered timestamp source |
|
receiver read ordered timestamp format |
Specify one or more timestamp formats for parsing the output of FTP commands or timestamp substrings of filenames. See "Timestamp Formats" for an example of the syntax to specify. |
You can specify multiple format masks, each enclosed by square brackets.
<format-mask> ::= <start> "," <end> "," "'" <time-pattern> "'" [ "," <current-year> ] <start> ::= integer <end> ::= integer <time-pattern> ::= <java.text.SimpleDateFormat> | "N" <current-year> ::= "CY" TimestampFormats ::= { "[" <format-mask> "]" }+
Example: Timestamp Formats
[41,53,'MMM dd HH:mm',CY][41,53,'MMM dd yyyy']
The CY
token shown in the preceding text must be added for time patterns where a year is not present. The adapter then internally appends the format yyyy
to the user-provided format mask and appends the current year to the actual timestamp string before parsing it.
The <start>
and <end>
indexes demarcate the timestamp substring of the string, originating either from the FTP LIST
command or the actual file name. For a given FTP server (brand/vendor), you may need to manually experiment with the server to determine which format masks to use.
If <time-pattern>
is specified as N
, the substring is treated as a regular integral number. In terms of time (t)
, the number (N)
is interpreted as follows:
t = "12:00 am, January 1, 1970 UTC"
+ N
milliseconds
If multiple format masks are entered, they are applied in the order in which they appear, until one works.
If you are using a generic exchange with the FTP transport protocol on Windows operating systems, you must use the Serv-U version 5.2 FTP server and perform the following tasks. Not doing so means that FTP cannot successfully access trading partner endpoints to transfer files. Use of Microsoft FTP servers is not supported.
Download the Serv-U version 5.2 FTP server from:
http://www.serv-u.com
Assign admin
privileges to the FTP user on the Serv-U FTP server.
Create typical Windows directory paths:
C:\private\edi_data
Ensure that endpoint directories are within the home directory of the FTP user. For example, if the FTP user home directory is C:\private\edi_data
, then create a subdirectory for use as the endpoint:
C:\private\edi_data\Acme
Create a zero-byte file in the incoming trading partner endpoint directory and a zero-byte file in the outgoing trading partner endpoint directory. For example:
c:\private\edi_data\Acme\incoming0 (0 bytes) c:\private\edi_data\GlobalChips\outgoing0 (0 bytes)
If you are using EDI X12 over Generic Exchange or EDI EDIFACT over Generic Exchange with HTTP or HTTPS, do not select Yes in the Functional acknowledgment required? field of the Create Trading Partner: Operational Capability page.
If you use the Custom Document over Generic Exchange, EDI X12 over Generic Exchange, or EDI EDIFACT over Generic Exchange business protocol with HTTP or HTTPS as your transport protocol, ensure that Oracle Application Server Web Cache is disabled. Contact Oracle Support Services for instructions.