This chapter describes the B2B command-line tools that are available for a number of tasks such as archiving date, purging data, importing and exporting data, batching operations, deploying agreements, and so on.
This chapter contains the following topics:
Section 20.1, "Prerequisites for Running the Command-line Tools"
Section 20.8, "Activating or Deactivating Listening Channels"
Section 20.13, "Creating Oracle B2B Metadata Based on selfservice.xsd"
Do the following before using the command-line tools:
Set the ORACLE_HOME
, ANT_HOME
, and JAVA_HOME
environment variables.
ORACLE_HOME
is set to your Oracle Fusion Middleware installation directory. For example:
set ORACLE_HOME=C:\oracle\wls_home set ANT_HOME=%ORACLE_HOME%\modules\org.apache.ant_1.7.1 set JAVA_HOME=%ORACLE_HOME%\jdk160_18
Create jndi.properties
.
cd $ORACLE_HOME\bin
ant -f ant-b2b-util.xml b2bcreate-prop
Edit the jndi.properties
file to include the weblogic
password.
Notes:
1. Command-line tools are for administrator use only. No security or permission checks are performed to prevent the logged-in user from purging, importing, or exporting data.
2. After running any command-line tool, you should re-log into the B2B Console. The B2B Console caches some metadata and any command-line action which may have updated the metadata could lead to invalid cached data. Therefore, it is advisable to always re-login into the B2B Console after using command-line operations.
3. All of the command-line tools can be run without any JNDI credentials. To restrict the command-line tools from anonymous use, provide the following information in the jndi.properties
file:
java.naming.security.principal=weblogic
java.naming.security.credentials=weblogic_password
Note:
For any B2BCommandline utility, by default, the ANT run shows BUILD SUCCESSFUL
and system code 0
(zero) is returned even in the case of client or server side error. In case you want the ANT run to FAIL for each client or server side error, then you need to set exitonerror
parameter to true
.
You can do this in either of the following two ways:
Specify -Dexitonerror=true
on ANT command line
ant -f ant-b2b-util.xml b2bpurge -Dagreement=<AGR_NAME> -Dmode=DT -Dexitonerror=true
Setting the exitonerror
parameter as global setting:
Create a properties file called ant_general.properties with the value exitonerror=true
in the directory where ant-b2b-util.xml is present ($ORACLE_HOME
/bin).
With this configuration, for all client or server errors, all ANT commands will fail with the message BUILD FAILED
and the system exit code will be set to -1
.
Oracle B2B uses Oracle Data Pump as the archiving mechanism for Oracle B2B runtime instance data in Oracle database. Oracle B2B enables archiving functionality only when the Oracle B2B repository is Oracle database. You can configure start date, end date, and message state to archive and/or purge the runtime data.
In order to improve the performance and synchronize archive and purge activity, a new column (JOB_ID
) is added in each runtime table - B2B_BUSINESS_MESSAGE
, B2B_EXT_BUSINESS_MESSAGE
, B2B_APP_MESSAGE
, B2B_WIRE_MESSAGE
and B2B_DATA_STORAGE
.
Oracle B2B will mark the target runtime data (by start date, end date, and message state) with a unique JOB_ID
. If you select to archive the runtime data, Oracle B2B will invoke Data Pump PL/SQL API with JOB_ID
to export the runtime data. Oracle B2B will purge the runtime messages by JOB_ID
if you also want to purge them.
After the runtime data is archived/exported, Oracle B2B can also use Oracle Data Pump to import the runtime data into an Oracle B2b repository.
Before archiving data, you must set up the permissions and the archival directory.
Note:
The b2b_archive
utility only supports Oracle database. No other databases are supported.
On the machine running the database, create a directory in which to dump the archive file. For example:
mkdir /tmp/archive
Grant permissions to this directory so that the database process can write to it.
chmod 777 /tmp/archive
Log in to the database as sysdba
.
sqlplus / as sysdba
Set up the B2B_EXPORT_DIR
.
SQL> create or replace DIRECTORY B2B_EXPORT_DIR as '/tmp/archive'
If your SOA schema user is b2b_soainfra
, the user needs to be granted permission for the export.
SQL> grant read, write on directory B2B_EXPORT_DIR to b2b_soainfra; SQL> grant exp_full_database to b2b_soainfra;
Note:
Make sure that the initial setup steps detailed above are performed before attempting to archive.
Log in as the soainfra schema user.
$ sqlplus b2b_soainfra/password
Execute the archive procedure. For example:
SQL> exec B2B_ARCHIVE_INSTANCE_MSGS('2010/06/23 12:23:23','2010/06/24 12:46:24','MSG_COMPLETE',null,null,null,null,null,null,'myDump.dmp')
The signature of the procedure is
exec B2B_ARCHIVE_INSTANCE_MSGS(p_startDate,p_endDate,p_msgState,p_tpName, p_direction,p_msgType,p_tpaName,p_idType,p_idVal,filename);
Table 20-1 Options for B2B_ARCHIVE_INSTANCE_MGS utility
Options | Type | Description |
---|---|---|
startDate |
varchar2 |
Starting date for archival |
endDate |
varchar2 |
Ending date for archival |
msgState |
varchar2 |
State of the business message |
tpName |
varchar2 |
Trading Partner name |
direction |
varchar2 |
Message direction |
msgType |
varchar2 |
Message type |
tpaName |
varchar2 |
Trading Partner Agreement name |
idType |
varchar2 |
ID type |
idVal |
varchar2 |
ID value |
filename |
varchar2 |
Name of the archive file to be created by the database. File names MUST be unique. Verify that a file with this name does not exist in that directory. |
Note:
Before purging runtime data, the configuration setup described in Section 20.2, "Archiving Data" is required. If those steps are not done, then the archive will fail with a misleading error.
No security or permission checks are performed to prevent the logged-in user from purging data.
The b2bpurge
utility only supports Oracle database. No other databases are supported.
The following utility purges both design-time and runtime data and resets the environment to the installation time.
ant -f ant-b2b-util.xml b2bpurge
Table 20-2 lists the options for this utility.
Table 20-2 Options for b2bpurge utility
Option | Description | Domain | Required |
---|---|---|---|
mode |
Specifies purging design-time or runtime data. (see Note below) |
DT RT |
Yes |
msgState |
Deletes messages with the specified message state. Used for runtime data. |
MSG_COMPLETE MSG_ERROR MSG_WAIT_TRANSMIT MSG_WAIT_FA MSG_WAIT_BATCH |
No. If |
purgecontrolnumber |
Deletes control numbers. Used for runtime data. |
|
No |
|
Deletes all messages, which created on or after this date. |
Date format dd/mm/yyyy hh:mm AM/PM |
No |
|
Deletes all messages, which created on or before this date. |
Date format dd/mm/yyyy hh:mm AM/PM |
No |
|
Based on trading partner. |
No |
|
|
Direction of the message |
No |
|
|
Type of the message |
No |
|
|
Name of the agreement |
No |
|
|
No |
||
|
No |
||
|
Should archive |
Default value is |
|
|
Specifies the number of records after which the database commit takes place |
Value of the frequency; default is |
No |
|
File name of archived file |
No |
|
partitioned |
Indicates if the database is partitioned. Based on the value of this parameter, Oracle B2B allows you to purge data normally or based on database partitions. |
|
No |
partitioncleanmode |
Specifies the mode of cleaning for a partition that is identified for cleanup. In case of absence of partitions, or non-date parameters are provided, this parameter is ineffective. Note: This parameter is effective only when the |
|
No |
logmode |
Indicates the log level. There are two variations, |
|
No |
refreshmw |
Controls whether to completely refresh the |
|
No |
rowlimit |
Limits the number of records to be deleted; this is a nonpartition specific feature |
No |
|
timelimit |
Limits the time the purge job runs. The accuracy depends on |
No |
|
cascadedelete |
Deletes all the artifacts related to a specific document ID or CPA ID. |
|
No |
Note:
When only -Dmode=RT -Dtp=
trading_partner_name
options are used, this option deletes all records matching Trading Partner name with SenderName or in Receiver Name.
Example 20-3 Purges runtime Data, Including Control Numbers
ant -f ant-b2b-util.xml b2bpurge -Dmode=RT -Dpurgecontrolnumber=true
Example 20-4 Purges Messages with the Specified State Between the Specified Dates
ant -f ant-b2b-util.xml b2bpurge -Dmode=RT -Dfromdate="05/10/2012 11:51 PM" -Dtodate="06/10/2012 12:01 AM" -Dmsgstate=MSG_COMPLETE -Darchive=false
Example 20-5 Cascade Deletes the Robot143 Trading Partner
ant -f ant-b2b-util.xml b2bpurge -Dtp=Robot143 -Dmode=DT -Dcascadedelete=true
This is useful when there is one document or CPA attached with the trading partner.
Example 20-6 Cascade Deletes the Robot131 to Robot139 Trading Partners
ant -f ant-b2b-util.xml b2bpurge -Dtp=Robot131,Robot132,Robot133,Robot134,Robot135,Robot136,Robot137,Robot138,Robot139 -Dmode=DT -Dcascadedelete=true
This is useful when there is one document or CPA attached with the trading partners.
Example 20-7 Cascade Deletes All the Artifacts of an AgreementID or CPA
ant -f ant-b2b-util.xml b2bpurge -Dtp=Robot142 -Dmode=DT -Dcascadedelete=true -Dagreementid=Openreach_Robot142_WholesaleProvider_ServiceProvider_R1800.0.5_cpa
This is useful when multiple documents or CPA are attached to a trading partner.
Note:
When using archivename
the value must be a unique file name. An existing file name used with archivename
throws an exception.
Note:
You can also perform document type based purge and archive of the instance data. To do this, first perform the prerequisite steps listed in Section 20.1, "Prerequisites for Running the Command-line Tools" and the initial steps listed in Section 20.2, "Archiving Data"
.
Example:
ant -f ant-b2b-util.xml b2bpurge -Dmode=RT -Ddoctype="ORDERS_FILE" -Darchive=true -Darchivename="docType.dmp"
You can also execute this by using SQL.
Note:
When performing purging of data based on the trading partner name:
If the direction is specified, then direction is also considered for the purge.
If the direction is not specified, then purge happens in both direction (inbound and outbound).
If the hostname is provided as the value for -Dtp
, an error message is displayed.
Note:
No security or permission checks are performed to prevent the logged-in user from importing data.
The b2bimport
utility imports the B2B metadata ZIP file to the repository. Basic validation is performed, but it is not a complete validation as with deployment validation. No data is overwritten unless you use the overwrite
option.
The following usage imports data from tmp/export.zip
to a location on the same server without overwriting.
ant -f ant-b2b-util.xml b2bimport -Dlocalfile=true -Dexportfile="/tmp/export.zip"
Table 20-3 lists the options for this utility.
Table 20-3 Options for b2bimport utility
Option | Description | Domain | Required |
---|---|---|---|
exportfile |
Location of the export (ZIP) file |
- |
Yes |
|
Overwrites the existing business elements. For example, an existing delivery channel with the same trading partner name as a delivery channel in the import file is replaced if this option is set to |
|
No |
|
If the export file location exists on the server, then set this option to true to improve performance. The export file must be on the server on which B2B is running. |
|
No |
The b2bexport
utility exports metadata from the Oracle B2B repository. If no options are specified then the entire repository is exported.
Note:
No security or permission checks are performed to prevent the logged-in user from exporting data.
The following usage exports the entire repository (without policy details) to /tmp/export.zip
if no other options are specified.
ant -f ant-b2b-util.xml b2bexport
Table 20-4 lists the options for this utility.
Table 20-4 Options for b2bexport utility
Option | Description | Domain | Required |
---|---|---|---|
tpanames |
One or more agreement names to be exported. If one agreement is exported, then the ZIP file contains the folder |
Agreement names must be separated by a comma |
No |
tpname |
The trading partner name to be exported |
Name of the trading partner |
No |
exportfile |
Location of the ZIP file where the exported data is stored |
|
No |
active |
Exports agreements that have been deployed and are in active state. |
|
No |
|
Set to true to export the entire repository with user and role details, which is needed for the policy store. A warning is displayed to remind you to export the policy store also. See Section 7.2, "What Is Copied When You Import or Export from the Import/Export Tab," |
|
No |
|
Set to true for improved performance if the export file is on the same computer as Oracle B2B. |
|
No |
Example 20-8 Export entire repository with policy details to /tmp/export.zip
ant -f ant-b2b-util.xml b2bexport -Dexportfile="/tmp/export.zip" -Dpolicies=true
Example 20-9 Export entire repository w/o details to /tmp/exportinserver.zip on same server
ant -f ant-b2b-util.xml b2bexport -Dexportfile="/tmp/exportinserver.zip" -Dlocalfile=true
Example 20-10 Exports the Trading Partner Acme to /tmp/Acme.zip
ant -f ant-b2b-util.xml b2bexport -Dtpname="Acme" -Dexportfile="/tmp/Acme.zip"
The command line b2bbatch
utility enables you to create batches, based on various criteria. This utility is a supplement to the available batch creation/deletion feature in the Oracle B2B Console for EDI documents. This is an ANT based command, and provides the flexibility to selectively set the criteria to create batches.
To create multiple trading partners and document versions in a single step, you must use the Oracle B2B Console; to achieve it on command-line you must run the batch creation utility multiple times. For advanced functionality, such as disabling or updating a batch you must use the Oracle B2B Console.
The usage is as follows:
ant -f ant-b2b-util.xml b2bbatch -Dtp=<tpName> -Dbatchtime=<batchTriggerTime> -Dbatchname=<batchName> -Ddocument=<documentProtocolName> -Ddocrevision=<docRevision> -Ddoctype=<docType> -Disrepetitive=<true|false>
Table 20-5 lists the options for this utility.
Table 20-5 Options for b2bbatch utility
Option | Description | Domain | Required |
---|---|---|---|
tp |
Trading Partner name. |
Specify the trading partner name. |
YesFoot 1 |
batchname |
Batch name. |
Specify a name for the batch. |
Yes |
batchtime |
Batch trigger time. |
The trigger time can be a cron String or the date in See also Example 20-16 |
Yes |
document |
Document Protocol name. |
Valid values: |
Yes |
docrevision |
Document revision. |
- |
Yes |
doctype |
Document type. |
- |
Yes |
isrepetitive |
To enable repetitive batching when batch created using cron string. |
Valid values: true or false |
No |
mode |
Mode |
Set to |
No |
Footnote 1 To create a batch the tp, batchtime, batchname, document, docrevision, doctype options are required, to delete a batch only the mode and batchname options are required.
Note:
While creating a cron job for the commandline operation, you need to follow the cron syntax.
Example 20-13 Create a batch operation
This command creates a batch operation with GlobalChips for the X12/4010/850 document which is executed in a repetitive mode for the given cron String.
ant -f ant-b2b-util.xml b2bbatch -Dtp=GlobalChips -Dbatchtime="0 4850 11 7 5 ? 2010" -Dbatchname=batch1234 -Ddocument=EDI_X12 -Ddocrevision=4010 -Ddoctype=850 -Disrepetitive=true
Example 20-14 Creating batches for multiple document types
ant -f ant-b2b-util.xml b2bbatch -Dtp=GlobalChips -Dbatchtime="0 58 11 7 5 ? 2010" -Dbatchname=batch1234 -Ddocument=EDI_X12 -Ddocrevision=4010 -Ddoctype=850,997 ant -f ant-b2b-util.xml b2bbatch -Dtp=GlobalChips -Dbatchtime="07/05/2010 11:45 AM" -Dbatchname=batch1234 -Ddocument=X12 -Ddocrevision=4010 -Ddoctype=850,997
Example 20-15 Delete a batch operation
ant -f ant-b2b-util.xml b2bbatch -Dmode=deletebatch -Dbatchname=batch1234
Example 20-16 Using special characters in batchtime option
If the value for the batchtime contains special characters such as * or # then the character must be escaped using double quotation marks.
ant -f ant-b2b-util.xml b2bbatch -Dtp=GlobalChips -Dbatchtime='0 5,10,15,20,25,30,35,40,45,50,55,59 "*" "*" "*" ? 2010' -Dbatchname=batch1234 -Ddocument=EDI_X12 -Ddocrevision=4010 -Ddoctype="850,855" -Disrepetitive=true
The following utility sets or resets a channel password:
ant -f ant-b2b-util.xml resetchannelpassword
Table 20-6 lists the options for this utility.
Table 20-6 Options for resetchannelpassword utility
Options | Description | Required |
---|---|---|
channelname |
Name of the existing channel |
Yes |
tp |
Name of the trading partner |
Yes |
password |
Password to be set for the specified channel. This is an optional parameter. If this parameter is not provided, the existing password (if any) of the channel is removed. |
No |
Note:
For listening channels, the modified password takes effect only after the listening channel is restarted. For delivery channels, the modified password takes effect only after deployment.
The following utility activates or deactivates a listening channel:
ant -f ant-b2b-util.xml updatechannel
Table 20-7 lists the options for this utility.
Table 20-7 Options for updatechannel utility
Options | Description | Value | Required |
---|---|---|---|
channelname |
Name of the existing listening channel |
- |
Yes |
state |
State of the listening channel. If you specify |
|
Yes |
The b2bdeploy
utility validates and deploys all agreements in the repository. If an agreement is already deployed, then it is deployed again. The older version of the agreement is then in an inactive state. Turning off validation is useful when deploying large numbers of agreements, where you are certain that the data is valid. It requires a SOA Server restart. Validation can be turned off by setting the property b2b.deploy.validation
to false.
To deploy all agreements in the repository, execute:
ant -f ant-b2b-util.xml b2bdeploy
Table 20-8 lists the options for this utility.
The b2bvalidate
utility validates Oracle B2B metadata, including agreements, trading partners, and documents. All agreements are validated if no options are specified.
ant -f ant-b2b-util.xml b2bvalidate [-Dmdsreference="comma_separated_argumants"]
Table 20-9 lists the options for this utility.
Table 20-9 Options for b2bvalidate utility
Options | Description | Domain | Required |
---|---|---|---|
mdsreference |
File names of the trading partner, agreement, or document protocol |
File names must be separated by a comma |
No |
agreementid |
Validates agreements based on the IDs provided. It also throws warning message if any agreementID does not exist and validate the others. |
Agreement IDs must be separated with commas. |
No |
Example 20-22 Validates Agreement tpa_ID1234.xml
ant -f ant-b2b-util.xml b2bvalidate -Dmdsreference="tpa_ID1234.xml"
The ebXML CPP/CPA utilities convert to and from a standard ebXML CPA file in the Oracle B2B metadata.
The b2bcreate-cpaprop
utility creates a property file template that can be customized and then used to supply parameters for the b2bcpaimport
and b2bcpaexport
utilities.
The following usage creates a cpp_cpa.properties
template file, which is used in the propfile
option.
ant -f ant-b2b-util.xml b2bcreate-cpaprop
Table 20-10 lists the options for this utility.
Table 20-10 Options for b2bcreate-cpaprop utility
Option | Description | Domain | Required |
---|---|---|---|
propfile |
Property file that stores configuration details for |
- |
Yes |
Example 20-25 Creates a Property File Template That Is Used in the propfile Option
ant -f ant-b2b-util.xml b2bcreate-cpaprop
The following properties can be configured as part of the cpp_cpa properties
file:
The CPA import properties are as follows:
oracle.tip.b2b.ebms.BPSSDocument (Optional Property)
This property holds the absolute path for the BPSS document, which is used to get the BPSS document details to be imported into the Oracle B2B repository. If the property does not exist, then the values are imported from the CPA document. Multiple BPSS documents are separated by ;
(semi-colon).
oracle.tip.b2b.ebms.CPADocument (Required Property)
This property is used to get the absolute path of the CPA document to be imported into the Oracle B2B repository.
oracle.tip.b2b.ebms.xsdLocation (Optional Property)
This property is used to specify the absolute path of the schema file location. This schema file is used for document validation. It is used only when a BPSS document is specified.
oracle.tip.b2b.ebms.internalDeliveryChannel.protocol (Optional Property)
The default internal delivery channel is an AQ queue. If you want to add a specific internal delivery channel (JMS/FTP/FILE/SFTP), then this property is used in Oracle B2B configuration. Specify all the required properties with respect to the specific transport protocol. Then use the specific channel to send messages to back-end applications.
oracle.tip.b2b.ebms.allDocumentParameter (Optional Property)
This property is used to improve the import performance. Set this property to false to stop generating the unwanted or unset parameters in soa.zip.
oracle.tip.b2b.ebms.TPCertificateAlias (Optional Property)
For secure message transfer, this property is used to get the trading partner certificate details to the CPP/CPA import from the remote trading partner profile.
After using the b2bcpaimport
utility to obtain the OracleB2B zip file, when you import the zip file into the Oracle B2B console:
Certificate alias will be available under Administration > Types
Certificate alias <value from b2bcpaimport profiles> will be available under Partners > Remote Trading Partner > Profile tab > Identifiers
The CPA export properties are as follows:
oracle.tip.b2b.ebms.OutputFolder (Required Property)
This property is used to place the generated CPP/CPA files in the specified location.
oracle.tip.b2b.ebms.Host (Required Property)
This property is used to set the host trading partner.
oracle.tip.b2b.ebms.HostEndPoint (Required Property)
This property is used to set the host endpoint while generating the CPP/CPA export.
oracle.tip.b2b.ebms.HostCertificateAlias (Optional Property)
For secure message transfer, this property is used to get the host certificate details to the CPP/CPA export.
oracle.tip.b2b.ebms.TPCertificateAlias (Optional Property)
For secure message transfer, this property is used to get the trading partner certificate details to the CPP/CPA export.
oracle.tip.b2b.ebms.BPSSExport (Optional Property)
This Boolean property is used to generate the BPSS document.
The common properties are as follows:
oracle.tip.b2b.ebms.LogDirectory (Required Property)
This property is used to store the log files.
oracle.tip.b2b.ebms.LogLevel (Required Property)
This property is used to specify the mode of the logs, such as DEBUG, INFO, or ERROR.
oracle.tip.b2b.ebms.LogType (Required Property)
This property is used to specify whether the log file is stored as text or XML.
The following utility converts an ebXML standard cpa.xml
file to an Oracle B2B metadata file, which must then be imported into Oracle B2B.
ant -f ant-b2b-util.xml b2bcpaimport
Table 20-11 lists the options for this utility.
The following utility converts an Oracle B2B metadata file (data exported from Oracle B2B) to an ebXML standard cpa.xml
file (a CPA-ready configuration).
ant -f ant-b2b-util.xml b2bcpaexport
Table 20-12 lists the options for this utility.
The b2bcheckcpaid
utility enables you to verify the availability of an agreement for a given CPAID and trading partner. Based on the result, you can import the agreement with the option overwrite it.
The following utility creates the selfservice.xsd file, which is used to understand or create selfservice XML based on the XSD structure.
ant -f ant-b2b-util.xml b2bselfservicexsd
The following utility creates Oracle B2B metadata from the XML file that is created based on selfservice.xsd.
ant -f ant-b2b-util.xml b2bselfservice
See Appendix J, "Self Service Utility Protocols, Identifications, Security Specifications, and Parameters" for information about selfservice protocols, identifications, and security specifications.
Table 20-14 lists the options for these utilities.
Table 20-14 Options for b2bselfservice utility
Option | Description | Domain | Required |
---|---|---|---|
input |
XML file absolute location |
- |
Yes |
output |
Location for Oracle B2B metadata stored as a ZIP file |
- |
No |
Example 20-29 Converts b2bselfservicexsd-Generated XML to an Oracle B2B Metadata ZIP file (stored in /tmp/soa.zip)
ant -f ant-b2b-util.xml b2bselfservice -Dinput="/tmp/selfservice1.xml"
Example 20-30 Converts b2bselfservicexsd-Generated XML to an Oracle B2B Metadata ZIP file (stored in /tmp/as11b2b.zip)
ant -f ant-b2b-util.xml b2bselfservice -Dinput="/tmp/selfservice1.xml" -Doutput="/tmp/as11b2b.zip"
When using a multiple file approach, you must make sure that the names of the selfservice XML files are in following order, otherwise, an error claiming that the referenced object does not exist might be thrown.
Document Protocols selfservice XML files.
Trading Partner selfservice XML files (HOST
must be first in this list).
Trading Partner Agreement selfservice XML files.
For example:
doc_selfservice.xml
to hold Document Protocols.
tp_selfservice.xml
to hold Trading Partner details.
tpa_selfservice.xml
to hold Agreements details.
Self service utility (b2bselfservice
) XML samples are bundled along with its schemas and ECS files, which are together with the B2B metadata of B2B Samples configuration.
Self service samples are found in $samples
/selfservice
folder.
Samples are not available for all of the document and exchange protocol combinations. However, by replacing the document protocol details and exchange protocol details in the existing samples, you can create new XML files.
Note:
Self service XML files can also be created using the XSD, which is useful for the advanced user who wants to start from scratch.
The X12 samples are located in:
$samples/selfservice/x12/b2b-201-X12_4010_850_File/x12_ss.xml
The schemas are located in:
$samples/selfservice/x12/b2b-201-X12_4010_850_File/schemas
Use the following command:
ant -f ant-b2b-util.xml b2bselfservice -Dinput="$samples/selfservice/x12/b2b-201-X12_4010_850_File/x12_ss.xml"
The Custom samples are located in:
$samples/selfservice/custom/b2b-101-Custom_1.0_orders_generic_file/custom_ss.xml
The schemas are located in;
$samples/selfservice/custom/b2b-101-Custom_1.0_orders_generic_file/schemas
Use the following command:
ant -f ant-b2b-util.xml b2bselfservice -Dinput="$samples/selfservice/ custom\b2b-101-Custom_1.0_orders_generic_file/custom_ss.xml"
The ebMS samples are located in:
$samples/selfservice/custom/ b2b-106-Custom_1.0_orders_ebMS/buyer_setup_selfservice/ ebms_buyer_ss.xml
The schemas are located in:
$samples/selfservice/custom/ b2b-106-Custom_1.0_orders_ebMS/buyer_setup_selfservice/schemas
Use the following command:
ant -f ant-b2b-util.xml b2bselfservice -Dinput="$samples/selfservice/custom/ b2b-106-Custom_1.0_orders_ebMS/buyer_setup_selfservice/ ebms_buyer_ss.xml"
The following utility resubmits an application message or a wire message for a selected business message.
ant -f ant-b2b-util.xml b2bresubmit
The resubmit count gets reflected in the Oracle B2B console reports for Application message and Wire message.
Note:
The resubmit functionality for payload rectification will only work for Outbound Message for AppMessage only. This is not valid for inbound cases.
ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dmsgid=12345 -Dpayloadpath=/scratch/viramamo/fmwhome/AS11gR1SOA/bin/3a4_req.xml
Note:
It is mandatory that you provide at least one message searching or matching criteria for resubmit (excluding maxcount, exclresubmit, mode.)
Table 20-15 lists the options for this utility.
Table 20-15 Options for b2bresubmit utility
Option | Description | Domain | Required |
---|---|---|---|
direction |
The direction of the message |
INBOUND OUTBOUND |
|
msgsource |
The message source |
APPMSG WIREMSG |
|
|
The message ID |
||
|
Document Type |
||
|
Message State |
||
|
The |
Date format to be provided within Double Quotes dd/MM/yyyy h:mm AM/PM Note: This cannot be a future date. |
Yes, when |
|
The |
Date format to be provided within Double Quotes dd/MM/yyyy hh:mm AM/PM Note: |
Yes, when |
|
Agreement Name |
||
|
This option is applicable for outbound application message resubmission, by providing the rectified file path. |
||
|
The trading partner name using which the resubmission takes place. The trading partner name cannot be the hostname. |
||
|
Resubmission based on the action of an eBMS document |
||
|
Resubmission based on the service of an eBMS document |
||
|
|
||
|
Simulates the command without actual execution by either retrieving the affected rows or their count. It lists and shows the count of messages for the selected criteria. It does not resubmit the messages, but just lists the information. |
|
|
|
Excludes the already resubmitted message |
Default value: |
|
|
Excludes a specific messageId |
One or more message ID(s) (Comma-separated messageIDs) |
|
|
Excludes a specific document type |
One or more document types, comma-separated |
|
|
Excludes a specific message state |
One or more message states (Comma-separated states) |
|
|
Limits the maximum number of messages to be resubmitted for the selected criteria and enables resubmission in batch. When this |
Positive integer |
|
|
Resubmission for a changed cpaID case. This is achieved by providing both the cpa IDs oldcpaID and newcpaID. |
||
|
Used in the case of file-based MessageID List, Conversation ID-based resubmit. |
||
|
Indicates the list of source IDs mentioned in a file to be resubmitted. Works in tandem with |
||
|
Resubmission based on a single protocol messageID |
Comma-separated list of protocol messageIDs |
|
|
Resubmission based on a single protocol collaboration ID |
Comma-separated list of protocol collaboration IDs |
Example 20-32 Resubmits an Outbound Message with Message ID 12345
ant -f ant-b2b-util.xml b2bresubmit -Ddirection=OUTBOUND -Dmsgsource=APPMSG -Dmsgid=12345\
ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Ddoctype=850 ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dfromdate="29/11/2009 5:40 AM" -Dtodate="30/11/2009 7:39 AM" ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dagreement="Acme_GlobalChips_X12_4010_850_File" ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=WIREMSG -Dmsgstate=MSG_ERROR ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dfromdate="29/11/2009 5:40 AM" -Dtodate="30/11/2009 7:39 AM" -Ddirection=OUTBOUND ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dfromdate="29/11/2009 5:40 AM" -Dtodate="30/11/2009 7:39 AM" -Ddirection=INBOUND ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dmsgid=12345 -Dpayloadpath="/tmp/850.xml" ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dmsgid=39950852 -Dexclresubmit=true ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=WIREMSG -Dmsgid=39950852 -Dexclstate=MSG_COMPLETE ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dagreement="Acme_GlobalChips_X12_4010_850_File" -Dexclmsgid=33774513 ant -f ant-b2b-util.xml b2bresubmit -Dmsgsource=APPMSG -Dfromdate="29/05/2010 5:40 AM" -Dtodate="30/05/2010 7:39 AM" -Dmode=list
Protocol message ID can be provided in three ways.
The following examples illustrates how to resubmit messages based on the protocol message IDs.
Example 20-33 Specifying a single protocol message ID
ant -f ant-b2b-util.xml b2bresubmit -Dprotocolmessageid="@0AE4A13C13049AF1C940000011B831E8"
Example 20-34 Specifying a comma-separated list of protocol message IDs
ant -f ant-b2b-util.xml b2bresubmit -Dprotocolmessageid="@0AE4A13C13049AF1C940000011B831E8,@0AE56A6F13049AF21500000016729990"
Example 20-35 Specifying a list of protocol message IDs (one protocol message ID in one row) in a file
ant -f ant-b2b-util.xml b2bresubmit -Dsourceid=protocolmessageid -DfilePath="inputProtMsgId.txt"
Note:
Use only one of the preceding options at a time. Using a combination of the preceding options in a single command may return unexpected results.
The following utility schedules downtime for a Trading Partner.
ant -f ant-b2b-util.xml b2bschedule
Table 20-16 lists the options for this utility.
Table 20-16 Options for b2bschedule utility
Option | Description | Domain | Required |
---|---|---|---|
mode |
Indicates if the script will schedule or unschedule a downtime. |
|
Yes |
|
A descriptive name for the scheduled downtime |
- |
Yes |
tp |
Trading Partner Name |
- |
Yes (except in |
fromdate |
The date and time at which to begin the downtime. |
Date format to be provided within Double Quotes dd/mm/yyyy hh:mm AM/PM |
No |
|
The date and time at which to end the downtime. |
Date format to be provided within Double Quotes dd/mm/yyyy hh:mm AM/PM |
No |
|
Channel name |
- |
No |
|
Extends a previously created schedule. See Example 20-41 |
|
No |
The following are examples of scheduling Trading Partner downtime using the b2bschedule
utility. The command does not need to be in a single line.
Example 20-36 Schedule Trading Partner downtime for a specific channel and duration
ant -f ant-b2b-util.xml b2bschedule -mode=schedule -Dtp="OracleServices" -Dfromdate="28/05/2010 06:10 AM" -Dtodate="28/05/2010 06:15 AM" -Dchannelname="MarketInc_AS2_DC" -Dschedulename= "Maintenance"
Example 20-37 Schedule a particular channel for downtime
ant -f ant-b2b-util.xml b2bschedule -mode=schedule -Dtp="MarketInc" -Dchannelname="MarketInc_ebMS_DC" -Dschedulename= "Maintenance"
Example 20-38 Schedule the Trading Partner for downtime
In this example, all channels of this Trading Partner will be down for an unknown duration. Executing the unschedule
command separately, as shown in Example 20-40, brings the Trading Partner back to an active state.
ant -f ant-b2b-util.xml b2bschedule -mode=schedule -Dtp="MarketInc" -Dschedulename= "Maintenance"
Example 20-39 Schedule downtime for a particular duration of time
ant -f ant-b2b-util.xml b2bschedule -mode=schedule -Dtp="MarketInc" -Dfromdate="28/05/2010 03:05 AM" -Dtodate="28/05/2010 03:08 AM" -Dschedulename= "Maintenance"
Example 20-40 Un-scheduling the scheduled event
ant -f ant-b2b-util.xml b2bschedule -Dmode=unschedule -Dschedulename="Maintenance"
Example 20-41 Extend an existing schedule
Create a schedule for a particular time frame for all the channels for a remote tp by entering the following:
ant -f ant-b2b-util.xml b2bschedule -Dtp=GlobalChips -Dfromdate="31/08/2010 10:47 AM" -Dtodate="31/08/2010 10:57 AM" -Dschedulename=Load -Dchannelname=GlobalChips_File_Endpoint
Extend the schedule by creating another schedule with the same name, with the start time as the end time of the previously created schedule (31/08/2010 10:57 AM), and the end time to which you want to extend the schedule to, and then pass the parameter -Dextend=true
:
ant -f ant-b2b-util.xml b2bschedule -Dtp=GlobalChips -Dfromdate="31/08/2010 10:57 AM" -Dtodate="31/08/2010 11:57 AM" -Dschedulename=Load -Dchannelname=GlobalChips_File_Endpoint -Dextend=true
Certificate expiry must be identified and notified to the Administrator as it affects the message flow with security. Oracle B2B exposes Public API/Ant commands to check the certificate for expiry. You can use b2bmanagekeystore
to define a schedule and encapsulate these APIs for proper alert mechanism.
Note:
As a pre-requisite, it is required to configure the Java key store in Oracle B2B.
ant -f ant-b2b-util.xml b2bmanagekeystore [-Dmode=list | -Dalias="cert_name" | -Ddays=num_of_days]
Table 20-17 Options for b2bmanagekeystore utility
Option | Description | Domain | Required |
---|---|---|---|
mode |
List all the certificate alias in the keystore and its expiry dates |
list |
No |
alias |
Certificate status and its expiry date of the provided alias |
No |
|
days |
List all the certificates which will expire within the days specified |
integer |
No |
Example 20-42 Get a list of certificate aliases
ant -f ant-b2b-util.xml b2bmanagekeystore -Dmode=list
The following utility updates the keystore location and password:
ant -f ant-b2b-util.xml b2bkeystoreupdate
Table 20-18 lists the mandatory parameters for this utility.
Table 20-18 Parameters for b2bkeystoreupdate utility
Option | Description |
---|---|
keystorelocation |
List all the certificate alias in the keystore and its expiry dates |
keystorepassword |
Certificate status and its expiry date of the provided alias |
The following is a sample usage of the utility:
ant -f ant-b2b-util.xml b2bkeystoreupdate -Dkeystorelocation="/tmp/acme.jks" -Dkeystorepassword="welcome"
If you get the following broken pipe error, use Oracle WebLogic Server Administration Console to increase Maximum Message Size to 200000000.
[java] Exception in thread "main" java.lang.Exception: java.rmi.UnmarshalException: Broken pipe; nested exception is: [java] java.net.SocketException: Broken pipe [java] at oracle.tip.b2b.utility.B2BCommandLineUtility.upgradeRepository(B2BCommandLineUtility.java:548) [java] at oracle.tip.b2b.utility.B2BCommandLineUtility.main(B2BCommandLineUtility.java:601) [java] Caused by: java.rmi.UnmarshalException: Broken pipe; nested exception is: [java] java.net.SocketException: Broken pipe