The WebCenter Content Document Transfer Utility for Oracle Fusion Applications 11g is a set of command line interface tools written in Java providing content import and export capabilities.
Two forms of the transfer utilities currently exist:
Tools belonging to the generic soap-based transfer utility begin with the package oracle.ucm.idcws.client for example oracle.ucm.idcws.client.UploadTool
Tools belonging to the RIDC-based transfer utility begin with the package oracle.ucm.client for example oracle.ucm.client.UploadTool
Customers whom have deviated from standard Oracle Access Manager (OAM) web single sign-on for access to their Fusion Applications should utilize the generic soap-based transfer utility (or the underlying GenericSoapPort web service directly) to access the Content Server.
The RIDC-based transfer utility has support for "Basic" authentication and restricted support for OAM 11g form-based authentication. Should the "/cs/idcplg" HTTPS entry point utilized by the RIDC-based transfer utility not be exposed on the customer's environment, or when accessed redirect to a federated single-sign-on solution, or require JavaScript to complete the authentication challenge, the generic soap-based transfer utility must be utilized instead.
The generic soap-based transfer utility accesses the Content Server through its GenericSoapPort web service (/idcws/GenericSoapPort) and requires the client to specify a suitable UsernameToken-based Oracle WSM Security Client Policy that matches the Server's configured service policy.
** SAML and X509 client policies are not currently supported through the generic soap-based transfer utility, but can in theory by leveraged should the client create their own web service proxies by consuming the GenericSoapPort WSDL. Consult the WebCenter Content Web Service Integration Documentation and the following article Moving to Oracle WebCenter Content 11g Web Services for more information on developing directly against the GenericSoapPort. For maximum compatibility WebCenter recommends Java consumers of this web service using 11g Middleware uptake the JRF JAX/WS stack (javax.xml.ws.spi.Provider = oracle.j2ee.ws.common.jaxws.ProviderImpl) as opposed to the WebLogic JAX/WS stack (javax.xml.ws.spi.Provider = weblogic.wsee.jaxws.spi.WLSProvider).
Oracle Java 6 SE release 1.6.0_20 is the earliest version of the Oracle (/ Sun Microsystems) Java Runtime Environment that tested successfully with the transfer tools. Oracle strongly recommends that the customer leverage the latest Java 6 or 7 Oracle Java SE release update available so as to ensure important bug and security fixes are applied. Obtain the JVM name** and Java version by providing the "-version" option to the java executable.
The generic soap-based transfer utility (oracle.ucm.fa_genericclient_11.1.1.jar) has dependencies on the JRF JAX/WS web service client stack and WSM. The stack in turn also looks for Fusion Middleware Platform Security and Audit Framework configuration files and libraries and will log warnings in the event these are unavailable.
By consuming the generic soap-based transfer utility from a fully-patched Fusion Apps PS6 (11g 11.1.1.7.0) Oracle Home, a classpath library reference to the JRF client manifest jar <MW_HOME>/oracle_common/modules/oracle.jrf_11.1.1/jrf-client.jar should be all that is required to take up the stack and its dependencies. (MW_HOME refers to the 11g 11.1.1.7.0 Oracle Fusion Middleware Home with relevant patches applied - i.e. latest cumulative PS6 Web Services patch).
If however you need to invoke the generic soap-based transfer utility standalone outside an Oracle Home, you will need to extract the relevant libraries from the patched PS6 home and incorporate these in to the client classpath manually.
Dependent libraries sourced from any other location (JDeveloper, non-FA Middleware homes etc) are NOT certified.
The RIDC-based transfer utility (oracle.ucm.fa_client_11.1.1.jar) should have no additional library dependencies. The feature-set Java library that bundles the RIDC-based transfer utility repackages the RIDC classes and leverages the HTTP client provided by the JVM.
For the Oracle Fusion Applications 11g use-case, the transfer utilities have been configured with a specific set of default settings and restrictions in place. This includes settings such as:
Standard program options applicable for the Fusion Applications use-case are described below:
DownloadTool Program Options (for FA) ------------------------------------- --url Content Server Protocol-Specific Connection URL --username Username to leverage --password Password supplied on command-line --passwordFile Password read from text file on first line --policy JAX/WS Client Policy - e.g. oracle/wss_username_token_over_ssl_client_policy --dID ID uniquely identifying a specific revision of a content item to download; ID is unique across repository Alternatively, provide dDocName and RevisionSelectionMethod to identify the dID to leverage --dDocName ID identifying a content item; multiple revisions of a doc can share the same dDocName value - but otherwise it is unique; --RevisionSelectionMethod Which revision to download; Valid values: Latest / LatestReleased. Defaults to Latest --outputFile Output/Destination local file to write; if not provided dOriginalName of file provided at checkin time is utilized. Notes: A content item is comprised of one or more revisions of a file. Revisions of a content item share the same dDocName value. Every revision in the system has a unique dID value allowing direct access. To download a specific revision of a content item, specify the unique dID identifier. To download the latest (or latest released) revision of a content item, specify a dDocName value and a revision selection method. UploadTool Program Options (for FA) ----------------------------------- --url Content Server Protocol-Specific Connection URL --username Username to leverage --password Password supplied on command-line --passwordFile Password read from text file on first line --policy JAX/WS Client Policy - e.g. oracle/wss_username_token_over_ssl_client_policy --primaryFile Fully-qualified path of local primary file to upload --dDocAccount Destination Security Account --dDocTitle Document Title --dDocName If wanting to version an existing document - provide existing document's dDocName value --checkout Perform checkout first if adding a new revision [true/false(default)] ----ignoreCheckoutErrorNeg22 ignore error -22 when performing a checkout. This indicates the user has already checked-out the document. [true(default)/false] Notes: A content item is comprised of one or more revisions of a file. Revisions of a content item share the same dDocName value. Every revision in the system has a unique dID value allowing direct access. When creating a new content item, system generated dDocName and dID values will be returned. To add a version/revision to an existing content item, specify --dDocName when performing the checkin. Note that the existing content item must be checked out in order to add a new revision. SearchTool Program Options (for FA) ----------------------------------- --url Content Server Protocol-Specific Connection URL --username Username to leverage --password Password supplied on command-line --passwordFile Password read from text file on first line --policy JAX/WS Client Policy - e.g. oracle/wss_username_token_over_ssl_client_policy --allDocs Search all documents including old revisions [true/false(default)]; By default we search only the latest released --dID field expression - Search on unique id (number) --dDocName field expression - Search on content item identifier (string) --dDocTitle field expression - Search on document title (string) --QueryText Explicit query text to invoke to locate documents --SearchQueryFormat Format the supplied search query text was provided in; defaults to UNIVERSAL --SortField Sort search query results based on the specified metadata field --SortOrder The sort order: ASC (ascending) / DESC (descending); defaults to ASC --SortSpec Sort search query results based on multiple criteria using the specified custom ORDER BY --StartRow The row to begin the search results display (after having applied any sort); defaults to 1 --EndRow The row to end the search results display --ResultCount Maximum number of search results to return to client; defaults to 20 See notes below regarding the upper limit for this setting. --defaultFields Output core metadata fields (dID, dDocName, dDocTitle, dDocLastModifiedDate, dDocLastModifier) [true(default)/false] --moreFields Output a more detailed set of metadata fields (fields above plus dOriginalName, VaultFileSize etc) [true/false(default)] --fields User-specified fields to render e.g. --fields=dID,dOriginalName,VaultFileSize --delimiter=, --defaultFields=false Notes: The tool accepts either a full --QueryText query string from the caller, or will dynamically synthesize one by ANDing together individual field search expressions (dID/dDocName/etc) supplied as program options. Standard search configuration employed by the server limits the maximum number of results that can be returned in a search. For DATABASE.METADATA and DATABASE.FULLTEXT engines, this is 10000 items, and for the ORACLETEXTSEARCH engine, 2000 items. See Advanced SearchTool Program Options for information on available query operators, additional search field expressions and formatting of output data. StorageTool Program Options (for FA) ------------------------------------ --url Content Server Protocol-Specific Connection URL --username Username to leverage --password Password supplied on command-line --passwordFile Password read from text file on first line --policy JAX/WS Client Policy - e.g. oracle/wss_username_token_over_ssl_client_policy --dryRun Candidates for storage rule switch are identified but no actual migration to securefile is performed. [true(default)/false] --abortOnFirstFailure Abort the migration process should an individual document migration fail [true/false(default)] --reindex Documents migrated should be completely reindexed [true/false(default)] --allDocs Old revisions of documents should be included in the search for candidate documents [true(default)/false] --ResultCount Maximum number of candidate documents to identify for storage rule switch for this invocation of the tool. e.g. --ResultCount=100 will throttle the tool and restrict candidate documents to a maximum of 100. See SearchTool notes above regarding the upper limit for this setting. Notes: This tool works by first invoking a search for candidate documents, followed by iterating through the results and individually triggering on each document the storage rule switch. The server-imposed limit on maximum number of results that can be returned in a search consequently applies. Documents will not actually be migrated to securefile storage unless --dryRun=false is specified. Should a specific document fail migration, documents migrated prior to the failure remain migrated regardless of the --abortOnFirstFailure setting. Unless otherwise recommended by Oracle, reindex should be set to false (or not provided) - meaning document should bypass refinery and indexer stages.
The following advanced networking options can be specified if required (common to all tools):
--socketTimeout Override socket timeout (value is specified in seconds) --proxyHost HTTP[S] proxy host --proxyPort HTTP[S] proxy port number --nonProxyHosts No-proxy pattern defining hosts to which the proxy should not be applied - e.g. login.acme.com|*.internal.acme.com --proxyUsername Username (if applicable) for authenticating with the proxy --proxyPassword Password supplied on command-line for authenticating with the proxy --proxyPasswordFile Password read from text file on first line for authenticating with the proxy
For debugging or silent invocation use-cases the options below are available (common to all tools):
--version Print out tool revision/version --ping Perform PING_SERVER test to validate connection URL and credentials --verbose Verbose Output - log full Request/Response DataBinders --quiet Minimal Log Output --silent Log Messages Silenced --log_file_name Send program output to specified log file (rather than System.out) --log_file_append When value is true, log file is appended versus overwritten. --simpleRIDCLogging RIDC debug messages are logged to the console
Sample upload invocation command - RIDC-based transfer utility:
java -classpath "oracle.ucm.fa_client_11.1.1.jar" oracle.ucm.client.UploadTool --url=http://ucmserver.com:16200/cs/idcplg --username=weblogic --password=welcome1 --primaryFile="/tmp/resume.doc" --dDocTitle="Resume of MSHANNON" --dDocAccount=/acme/sales Alternatively: java -jar oracle.ucm.fa_client_11.1.1.jar UploadTool --url=http://ucmserver.com:16200/cs/idcplg --username=weblogic --password=welcome1 --primaryFile="/tmp/resume.doc" --dDocTitle="Resume of MSHANNON" --dDocAccount=/acme/sales
Sample upload invocation command - generic soap-based utility:
If MW_HOME environment variable correctly set and jrf-client.jar found at standard location within 11g Middleware: java -classpath "oracle.ucm.fa_genericclient_11.1.1.jar:$MW_HOME/oracle_common/modules/oracle.jrf_11.1.1/jrf-client.jar" oracle.ucm.idcws.client.UploadTool --url=http://ucmserver.com:16200/idcws --policy=oracle/wss_username_token_client_policy --username=weblogic --password=welcome1 --primaryFile="/tmp/resume.doc" --dDocTitle="Resume of MSHANNON" --dDocAccount=/acme/sales Alternatively: java -jar oracle.ucm.fa_genericclient_11.1.1.jar UploadTool --url=http://ucmserver.com:16200/idcws --policy=oracle/wss_username_token_client_policy --username=weblogic --password=welcome1 --primaryFile="/tmp/resume.doc" --dDocTitle="Resume of MSHANNON" --dDocAccount=/acme/sales If running outside an 11g Middleware - and explicitly specifying libraries: export CUSTOM_CLASSPATH=/path/to/mwhome/extract//modules/com.bea.core.apache.commons.lang_2.1.0.jar:\ ... /path/to/mwhome/extract//oracle_common/modules/oracle.wsm.policies_11.1.1/wsm-seed-policies.jar:\ /path/to/mwhome/extract//oracle_common/modules/oracle.xdk_11.1.0/xml.jar:\ /path/to/mwhome/extract//oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2_sans_jaxp_services.jar:\ /path/to/mwhome/extract//oracle_common/modules/org.jaxen_1.1.1.jar (refer to JAX/WS Libraries) java -jar oracle.ucm.fa_genericclient_11.1.1.jar UploadTool --url=http://ucmserver.com:16200/idcws --policy=oracle/wss_username_token_client_policy --username=weblogic --password=welcome1 --primaryFile="/tmp/resume.doc" --dDocTitle="Resume of MSHANNON" --dDocAccount=/acme/sales Alternatively: java -classpath $CUSTOM_CLASSPATH:oracle.ucm.fa_genericclient_11.1.1.jar oracle.ucm.idcws.client.UploadTool --url=http://ucmserver.com:16200/idcws --policy=oracle/wss_username_token_client_policy --username=weblogic --password=welcome1 --primaryFile="/tmp/resume.doc" --dDocTitle="Resume of MSHANNON" --dDocAccount=/acme/sales
Sample output:
Oracle WebCenter Content Document Transfer Utility Oracle Fusion Applications Copyright (c) 2013-2014, Oracle. All rights reserved. Performing upload (CHECKIN_UNIVERSAL) ... Upload successful. [dID=21537 | dDocName=UCMFA021487]
Sample download invocation command:
java -classpath "oracle.ucm.fa_client_11.1.1.jar" oracle.ucm.client.DownloadTool --url=http://ucmserver.com:16200/cs/idcplg --username=weblogic --password=welcome1 --dID=21537 --outputFile="/tmp/output.doc" Alternatively: java -jar oracle.ucm.fa_client_11.1.1.jar DownloadTool --url=http://ucmserver.com:16200/cs/idcplg --username=weblogic --password=welcome1 --dID=21537 --outputFile="/tmp/output.doc"
Sample output:
Oracle WebCenter Content Document Transfer Utility Oracle Fusion Applications Copyright (c) 2013-2014, Oracle. All rights reserved. Performing download (GET_FILE) ... Download successful. Wrote file "/tmp/output.doc".
The tools can also be invoked to perform a simple connection test by providing just the url, username, and password along with --ping option:
java -jar oracle.ucm.fa_client_11.1.1.jar DownloadTool --ping --url=http://ucmserver.com:16200/cs/idcplg --username=weblogic --password=welcome1
Sample output:
Oracle WebCenter Content Document Transfer Utility Oracle Fusion Applications Copyright (c) 2013-2014, Oracle. All rights reserved. Performing connection test (PING_SERVER) ... Connection test successful.
The StorageTool is used to migrate applicable Oracle WebCenter Content documents created in Oracle Fusion Applications 11g Release 6 (11.1.6) and prior to securefile storage within the Oracle Database. By default it runs in dryRun (readonly) mode:
java -jar oracle.ucm.fa_client_11.1.1.jar StorageTool --url=http://ucmserver.com:16200/cs/idcplg --username=weblogic --password=welcome1
Sample output:
Oracle WebCenter Content Storage Migration Utility Oracle Fusion Applications Copyright (c) 2013-2014, Oracle. All rights reserved. Target storage rule "FusionStorageRule" identified on server. Searching for candidate documents ... Document with dID 205 is a candidate for storage migration. Processed 1 documents, 1 are migration candidates, 0 require no migration.
To perform migration with the StorageTool --dryRun must be explicitly set to false:
java -jar oracle.ucm.fa_client_11.1.1.jar StorageTool --url=http://ucmserver.com:16200/cs/idcplg --username=weblogic --password=welcome1 --dryRun=false
Sample output:
Oracle WebCenter Content Storage Migration Utility Oracle Fusion Applications Copyright (c) 2013-2014, Oracle. All rights reserved. Target storage rule "FusionStorageRule" identified on server. Searching for candidate documents ... Performing storage migration for document with dID 205 ... Processed 1 documents, 0 failed migration, 1 succeeded, and 0 skipped.
The program options below are described for conciseness, but generally will not be utilized for the Oracle Fusion Applications 11g use-case:
Common to all tools: --properties Obtain program options from a properties file in classpath at the specified package-qualifed resource location --propertiesFile Obtain program options from a properties file at the specified file-path Advanced DownloadTool Program Options ------------------------------------- --outputDir Can be leveraged in place of --outputFile to stream contents to a local file in specified output directory using dOriginalName provided at checkin time as the file name. --md5 Return an MD5 message-digest of the downloaded stream as a 32 digit hexadecimal; --md5lowercase/--md5uppercase options are supported. --md5Only Whether to only perform MD5 operation without saving download stream to file system [true/false] --rendition Specify rendition to download: Primary / Web / Alternative It is possible to include up to 10 custom key/value pairs in the service request binder provided to WebCenter Content using the following technique: --k0 Custom binder metadata key - supplied to GET_FILE / DOC_INFO / DOC_INFO_BY_NAME --v0 Custom binder metadata value associated with key (k0) above; e.g. --k0=XFND_EXPIRES --v0=1393231938509 ... k1,v1,k2,v2,k3,v3,... --k9 Custom binder metadata key; e.g. --k9=XFND_RANDOM --v9 Custom binder metadata value associated with key (k9) above; e.g. --v9=8675309 Advanced UploadTool Program Options ----------------------------------- --progressBar (RIDC-based tool only) Present a progress bar showing upload progress --primaryFileName dOriginalName of primary file; If not specified defaults to filename of local source file being uploaded --primaryContentType Content type of primary file; If not specified defaults to application/octet-stream --dSecurityGroup Destination Security Group; For FA import/export use-cases this is set by default to FAFusionImportExport --dDocType Destination Doc Type: Application / Binary / Document / System --generateAlternate A small text file is checked in as the "alternate" file alerting the user to consult the native/primary file. [true/false]; For FA import/export this defaults to true. Enabling this option will significantly reduce post-processing checkin time should no rendition of the primary file be required. --alternateFile Fully-qualified path of local alternate file to upload; The file extension of the alternate file cannot be the same as that of the primary file. --directory Upload all files from the specified local directory --threads Number of concurrent upload worker threads to leverage when uploading files from a local directory --throwOnThreadException whether in the event any task fails, the tool throws an exception at completion [true(default)/false] Setting --throwOnThreadException=false can be useful in programmatic situations for processing UploadResults maps. --Tool.AccountRequired Must a dDocAccount (Document Account) be specified at checkin [true/false]; For FA import/export this is intentionally set to true. --Tool.AccountTransformed Should supplied account value be transformed [true/false]; For FA import/export this defaults to true. When enabled, an input account value like "ACME/sales" is transformed to "ACME$/sales$" It is possible to include up to 10 custom key/value pairs in the service request binder provided to WebCenter Content using the following technique: --k0 Custom binder metadata key - supplied to CHECKIN_UNIVERSAL --v0 Custom binder metadata value associated with key (k0) above; e.g. --k0=xComments --v0="Some Comments" ... k1,v1,k2,v2,k3,v3,... --k9 Custom binder metadata key; e.g. --k9=dInDate --v9 Custom binder metadata value associated with key (k9) above; e.g. --v9="2014-05-30 10:30:05Z" Advanced SearchTool Program Options ----------------------------------- As an alternate to --QueryText, one or more field search expressions can be provided: --dID Search on document id (number) --dDocName Search on document content name (string) --dDocTitle Search on document title (string) --dOriginalName Search on document original name /filename (string) --dExtension Search on document extension (string) --xComments Search on document comments field (string) --dFileSize Search on file size (number) --dDocCreatedDate Search on document create date (date) --dDocLastModifiedDate Search on document last modified date (date) --dInDate Search on document release date (date) --dSecurityGroup Search on document security group (string) --dDocAccount Search on document account (string) --dDocType Search on document type (string) --dFormat Search on document format (string) --dDocCreator Search on document creator (string) --dDocLastModifier Search on document last modifier - revision specific (string) --dDocAuthor Search on document author - revision specific (string) --dRevisionID Search on document revision id (number); likely requires --allDocs option be set --xStorageRule Search on document storage rule (string) --xCollectionID Search on document stored in specified Folders_g collection Supported operators for number fields: =, <=, >=, != Supported operators for string fields: =, !=, %=, !%=, ^=, $= Supported operators for date fields: <=, >= Examples: --dID=5 : dID equals 5 --dID!=50 : dID not equal to 50 --dID<=100 : dID less than or equals 100 --dID>=100 : dID greater than or equals 100 --dDocName=FA123 : dDocName matches FA123 --dDocName^=FA : dDocName starts with FA --dDocName$=23 : dDocName ends with 23 --dDocName%=123 : dDocName contains substring 123 --dDocName!%=789 : dDocName does not contain substring 789 --dDocName!=FAFA : dDocName does not match FAFA --dInDate>=2013-12-22 11:17:44Z : dates passed are always in iso8601 format with client time zone set to UTC --collectionPath Search for documents present in the Folders_g collection with the specified xCollectionPath; e.g. /Contribution Folders/CRM The collection associated with the specified path is retrieved and its collection id is subsequently supplied to the ensuing search by way of an xCollectionID expression. Formatting options: --padData whether to pad/crop search result data [true(default)/false] - applies to both field headers and the field values. --writeFieldHeading write field headings out prior to the actual search results [true(default)/false] --writeFieldNames prefix each output search field with its field name [true/false(default)] --delimiter the delimiter string to output between each search result field (and field header) --writeRowPrefix whether to output row prefix string at the start of each row of results [true/false(default)] --rowprefix the string to output at the start of each row of results when writeRowPrefix flag is set --writeRowSuffix whether to output row suffix string at the end of each row of results [true/false(default)] --rowsuffix the string to output at the end of each row of results when writeRowSuffix flag is set --fields user supplied output fields to render; The --defaultFields is by default enabled which results in core fields always getting rendered; If the caller specifies --defaultFields=false (and --moreFields=false), then only the fields listed in the --fields property will get output; If on the other hand the default fields are set to render, fields listed in the --fields property augment/override the default included fields. Fields are typically specified in the format dID,dDocName etc; they can also optionally include left/right pad information which is used when --padData is enabled. e.g. dID#r10,dDocName#l30 means to right pad dID so that it is 10 characters in size, left pad 30 dDocName etc --writeCounts whether to output search result set size and total rows count matched by the query [true(default)/false] --triggerRowsCount whether the server should perform a count(*) query so as to accurately populate the total rows count [true(default)/false] Advanced StorageTool Program Options ------------------------------------ --QueryText An explicit query to invoke to locate candidate documents for storage migration If no query text is supplied, the tool defaults to finding documents that don't match the target storage rule --SearchQueryFormat Format the supplied search query text was provided in; defaults to UNIVERSAL --SortField Sort search query results based on the specified metadata field --SortOrder The sort order: ASC (ascending) / DESC (descending); defaults to ASC --SortSpec Sort search query results based on multiple criteria using the specified custom ORDER BY --StartRow The row to begin the search results display (after having applied any sort); defaults to 1 --EndRow The row to end the search results display --targetRule Target storage rule; For FA this is intentionally set to FusionStorageRule. As an alternate to --QueryText, one or more field search expressions can be provided: --dID Search on document id (number) --dDocName Search on document content name (string) --dSecurityGroup Search on document security group (string) --dDocCreatedDate Search on document create date (date) --dDocLastModifiedDate Search on document last modified date (date) --dInDate Search on document release date (date) --dFileSize Search on file size (number) --xStorageRule Search on document storage rule (string) Supported operators for number fields: =, <=, >=, != Supported operators for string fields: =, !=, %=, !%=, ^=, $= Supported operators for date fields: <=, >= Examples: --dID=5 : dID equals 5 --dID!=50 : dID not equal to 50 --dID<=100 : dID less than or equals 100 --dID>=100 : dID greater than or equals 100 --dDocName=FA123 : dDocName matches FA123 --dDocName^=FA : dDocName starts with FA --dDocName$=23 : dDocName ends with 23 --dDocName%=123 : dDocName contains substring 123 --dDocName!%=789 : dDocName does not contain substring 789 --dDocName!=FAFA : dDocName does not match FAFA --dInDate>=2013-12-22 11:17:44Z : dates passed are always in iso8601 format with client time zone set to UTC
Session invalid, reauthorizing user for session ID: null Error - Http status: Moved Temporarily
Solution
Invoke tool with --simpleRIDCLogging option. Check (outbound) request headers to determine if a valid "Cookie" header is submitted to the server matching earlier received applicable (inbound) "Set-Cookie" response headers. If cookies do not appear to be correctly returned to the server, ensure a supported version of Java is being utilized.
SEVERE: java.io.FileNotFoundException: ./config/jps-config.xml (No such file or directory) INFO: WSM-09004 Component auditing cannot be initialized. INFO: Recipient Alias property not configured in the policy. Defaulting to encrypting with signers certificate.
Solution
Specify through Java system properties locations to relevant configuration files:
java -Doracle.security.jps.config=/path/to/jps-config.xml -Djava.util.logging.config.file=/path/to/logging.properties ... UploadTool where jps-config.xml at minimum looks something like ... ------------------------------------------------------------ <?xml version="1.0" encoding="UTF-8" standalone='yes'?> <jpsConfig xmlns="http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd jps-config-11_1.xsd" schema-major-version="11" schema-minor-version="1"> <serviceProviders> <serviceProvider name="audit.provider" type="AUDIT" class="oracle.security.jps.internal.audit.AuditProvider"/> </serviceProviders> <serviceInstances> <serviceInstance name="audit" provider="audit.provider" location="./audit-store.xml"> <property name="audit.filterPreset" value="None"/> <!-- None (default), Low, Medium, All or Custom --> <!-- <property name="audit.customEvents" value="JPS:CheckAuthorization"/> --> <property name="audit.maxDirSize" value ="0"/> <property name="audit.maxFileSize" value ="1048576"/> <property name="auditstore.type" value="file"/> <property name="audit.loader.repositoryType" value="File" /> <property name="audit.timezone" value="utc"/> <property name="audit.logDirectory" value="/C:/temp"/> </serviceInstance> </serviceInstances> <jpsContexts default="default"> <jpsContext name="default"> <serviceInstanceRef ref="audit"/> </jpsContext> </jpsContexts> </jpsConfig> audit-store.xml at minimum looks something like ... ------------------------------------------------------------ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AuditConfig xmlns="http://xmlns.oracle.com/ias/audit/audit-2.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/ias/audit/audit-2.0.xsd audit-2.0.xsd"> </AuditConfig> logging.properties looks something like ... ------------------------------------------------------------ handlers=java.util.logging.ConsoleHandler .level=WARNING java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter java.util.logging.ConsoleHandler.level=FINEST # oracle.j2ee.level=FINEST
SearchTool and StorageTool now expose total search rows count Added custom metadata DataBinder injection support for SearchTool
Enhancements to generic soap transfer tool to move to a shared Service which should eliminate surplus WSDL requests in a multi-threaded runtime mode.
Enhancements to transfer utilities to support programmatic invocation and run() method return objects. Add -silent flag to silence most log messages Add --md5Only flag to DownloadTool
Introduced Generic soap-based transfer utilities Added additional debug logging of OS/JVM/PROXY settings. Added logging of IOException in the event of proxy failure. Increased Default Socket Timeout values Fixed bug preventing Alternate File from being uploaded Added support in SearchTool for search based on Folders_g xCollectionPath Added progress bar display support for RIDC-based transfer tool - requires RIDC build 11.1.1.7.1 7981 or newer Added --usage command-line help to transfer utilities Added some basic URL auto-correction capabilities to RIDC-based transfer utility AbstractTool class
Introduced StorageTool to support migration of content to secure files Added main/entry class for invoking client tools using java -jar option Switched the default http client to the embedded JDK http client (java.net.HttpURLConnection) Removed the Oracle http client classes from the oracle.ucm.fa_client_11.1.1.jar Added command-line options for supplying explicit proxy information Added dedicated ping flag to perform connection test Reduced connection timeout for ping method to 35 seconds Added simpleRIDCLogging boolean parameter to allow RIDC debug messages to be sent to the console Added ability to leverage stored dOriginalName as output file name when performing a download Added custom metadata DataBinder injection support for DownloadTool
Should use of the transfer utilities be required outside an Oracle Home, the following PS6 libraries extracted from a patched Fusion Apps 11g Middleware at minimum are required in classpath in order to make a successful JAX/WS connection to WebCenter Content:
$MW_HOME/modules/com.bea.core.apache.commons.lang_2.1.0.jar $MW_HOME/modules/com.bea.core.stax2_1.0.0.0_3-0-1.jar $MW_HOME/modules/com.bea.core.woodstox_1.0.0.0_4-0-5.jar $MW_HOME/modules/glassfish.jaxb_1.1.0.0_2-1-14.jar $MW_HOME/modules/javax.ejb_3.0.1.jar $MW_HOME/modules/javax.mail_1.1.0.0_1-4-1.jar $MW_HOME/modules/javax.management.j2ee_1.0.jar $MW_HOME/modules/javax.servlet_1.0.0.0_2-5.jar $MW_HOME/modules/javax.xml.rpc_1.2.1.jar $MW_HOME/modules/ws.api_1.1.0.0.jar $MW_HOME/oracle_common/modules/oracle.dms_11.1.1/dms.jar $MW_HOME/oracle_common/modules/oracle.fabriccommon_11.1.1/fabric-common.jar $MW_HOME/oracle_common/modules/oracle.http_client_11.1.1.jar $MW_HOME/oracle_common/modules/oracle.iau_11.1.1/fmw_audit.jar $MW_HOME/oracle_common/modules/oracle.idm_11.1.1/identitystore.jar $MW_HOME/oracle_common/modules/oracle.jmx_11.1.1/jmxframework.jar $MW_HOME/oracle_common/modules/oracle.jmx_11.1.1/jmxspi.jar $MW_HOME/oracle_common/modules/oracle.jps_11.1.1/jps-api.jar $MW_HOME/oracle_common/modules/oracle.jps_11.1.1/jps-audit.jar $MW_HOME/oracle_common/modules/oracle.jps_11.1.1/jps-common.jar $MW_HOME/oracle_common/modules/oracle.jps_11.1.1/jps-internal.jar $MW_HOME/oracle_common/modules/oracle.jps_11.1.1/jps-unsupported-api.jar $MW_HOME/oracle_common/modules/oracle.jrf_11.1.1/jrf-api.jar $MW_HOME/oracle_common/modules/oracle.logging-utils_11.1.1.jar $MW_HOME/oracle_common/modules/oracle.odl_11.1.1/ojdl.jar $MW_HOME/oracle_common/modules/oracle.osdt_11.1.1/osdt_core.jar $MW_HOME/oracle_common/modules/oracle.osdt_11.1.1/osdt_saml.jar $MW_HOME/oracle_common/modules/oracle.osdt_11.1.1/osdt_wss.jar $MW_HOME/oracle_common/modules/oracle.osdt_11.1.1/osdt_xmlsec.jar $MW_HOME/oracle_common/modules/oracle.pki_11.1.1/oraclepki.jar $MW_HOME/oracle_common/modules/oracle.webservices_11.1.1/orasaaj-rt.jar $MW_HOME/oracle_common/modules/oracle.webservices_11.1.1/orawsdl.jar $MW_HOME/oracle_common/modules/oracle.webservices_11.1.1/orawsrm.jar $MW_HOME/oracle_common/modules/oracle.webservices_11.1.1/wsclient-rt.jar $MW_HOME/oracle_common/modules/oracle.webservices_11.1.1/wssecurity.jar $MW_HOME/oracle_common/modules/oracle.webservices_11.1.1/wsserver.jar $MW_HOME/oracle_common/modules/oracle.wsm.agent.common_11.1.1/wsm-agent-core.jar $MW_HOME/oracle_common/modules/oracle.wsm.agent.common_11.1.1/wsm-agent-fmw.jar $MW_HOME/oracle_common/modules/oracle.wsm.agent.common_11.1.1/wsm-pap.jar $MW_HOME/oracle_common/modules/oracle.wsm.common_11.1.1/wsm-pmlib.jar $MW_HOME/oracle_common/modules/oracle.wsm.common_11.1.1/wsm-policy-core.jar $MW_HOME/oracle_common/modules/oracle.wsm.common_11.1.1/wsm-secpol.jar $MW_HOME/oracle_common/modules/oracle.wsm.policies_11.1.1/wsm-seed-policies.jar $MW_HOME/oracle_common/modules/oracle.xdk_11.1.0/xml.jar $MW_HOME/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2_sans_jaxp_services.jar $MW_HOME/oracle_common/modules/org.jaxen_1.1.1.jarNote use of the JRF Web Service client feature-set jar (wsclient_extended.jar) is not currently recommended, as it is unlikely to contain important fixes present only in the individual jars mentioned above.