Question
IBM
GB
Last activity: 11 Oct 2017 7:31 EDT
No matching Product or Application found with inputs
Hello
I am trying to implement an automated export of PEGA using prpcserviceutils.
We are hitting an error when running the prpcserviceutils.sh which reads "No matching Product or Application found with inputs Product Name"
We are trying to export each product that exists inside pega by providing the prpcServiceUtils.properties file with the Product Name & Product Version. We are finding this information from the following tags inside the xml of the Rule:
<pyProductName> = Product Name
<pyProductVersion> = Product Version
Is there something we need to do in PEGA to be able to grab the products out of PEGA.
I am set as a deployment user and able to see the products inside the PEGA console.
To make sure it is not my prpcserviceutils I have attempted to export the application and that works fine.
This is only an issue when I try and export products.
Please can someone help me out with this?
Thank you.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
JPMorgan Chase & Company
US
Hi,
Could you please share the exact error stack trace, that would be helpful for giving suggestions, and also please attach prpcServiceUtils.properties file by masking sensitive information.
IBM
GB
Hello
Please find below the pasted error stack trace:
Buildfile: /opt/pega-export/scripts/utils/prpcServiceUtilsWrapper.xml
[echo] *** JVM Arguments -XX:MaxHeapSize=1280m -XX:MaxMetaspaceSize=512m ***
Hello
Please find below the pasted error stack trace:
Buildfile: /opt/pega-export/scripts/utils/prpcServiceUtilsWrapper.xml
[echo] *** JVM Arguments -XX:MaxHeapSize=1280m -XX:MaxMetaspaceSize=512m ***
-init:
[echo] ******************************************************************
[echo] Build date : ${pegaBuildDate.value}
[echo] Pega7 platform version : ${specificationVersion.value}
[echo] ******************************************************************
[delete] Deleting directory /opt/pega-export/scripts/utils/generated
[mkdir] Created dir: /opt/pega-export/scripts/utils/generated
[pega:propertyparser] Reading Properties from: /opt/pega-export/export/{{NAMEOFARCHIVE}}_prpcServiceUtils-use.properties
[pega:propertyparser] getstatus.jobID=
[pega:propertyparser] hotfix.async=true
[pega:propertyparser] expose.includeDescendents=true
[pega:propertyparser] export.async=true
[pega:propertyparser] expose.async=true
[pega:propertyparser] expose.excludedClasses=
[pega:propertyparser] import.commitRate=100
[pega:propertyparser] export.productName=FESRules
[pega:propertyparser] export.branchAppContext=
[pega:propertyparser] expose.commitRate=100
[pega:propertyparser] import.existingInstances=skip
[pega:propertyparser] user.temp.dir=C:/pega_temp
[pega:propertyparser] expose.reindex=true
[pega:propertyparser] hotfix.operation=
[pega:propertyparser] expose.excludeDescendents=true
[pega:propertyparser] updateAccessGroup.applicationName=
[pega:propertyparser] import.nofailonerror=false
[pega:propertyparser] pega.rest.proxy.password=*****
[pega:propertyparser] import.codesetVersion=06-01-01
[pega:propertyparser] export.applicationVersion=
[pega:propertyparser] pega.rest.proxy.username=
[pega:propertyparser] expose.includedClasses=
[pega:propertyparser] rollback.action=SystemRollback
[pega:propertyparser] pega.rest.server.url=http://{{Hostname}}:{{port}}/prweb/PRRestService/
[pega:propertyparser] updateAccessGroup.applicationVersion=
[pega:propertyparser] expose.startKey=
[pega:propertyparser] expose.reindexType=nonpega
[pega:propertyparser] import.codesetName=Customer
[pega:propertyparser] manageRestorePoints.restorePointLabel=
[pega:propertyparser] import.async=true
[pega:propertyparser] pega.rest.password={{Password}}
[pega:propertyparser] hotfix.force=false
[pega:propertyparser] import.compileLibraries=true
[pega:propertyparser] rollback.restorePointName=
[pega:propertyparser] import.allowImportWithMissingDependencies=false
[pega:propertyparser] export.productVersion=01.01
[pega:propertyparser] pega.rest.username={{username}}
[pega:propertyparser] rollback.async=true
[pega:propertyparser] export.branchName=
[pega:propertyparser] getstatus.operationName=
[pega:propertyparser] expose.endDate=
[pega:propertyparser] import.preserveOrder=true
[pega:propertyparser] rollback.downloadLogToFile=true
[pega:propertyparser] pega.rest.proxy.port=
[pega:propertyparser] pega.rest.proxy.workstation=
[pega:propertyparser] expose.endKey=
[pega:propertyparser] hotfix.dlFilePath=
[pega:propertyparser] import.archive.path=
[pega:propertyparser] updateAccessGroup.groupList=
[pega:propertyparser] manageRestorePoints.restorePointName=
[pega:propertyparser] export.archiveName=FESRulesArchive
[pega:propertyparser] import.mode=import
[pega:propertyparser] expose.startDate=
[pega:propertyparser] hotfix.bypassSchema=false
[pega:propertyparser] manageTrackedData.operation=
[pega:propertyparser] expose.numOfThreads=1
[pega:propertyparser] hotfix.catalogPath=
[pega:propertyparser] manageRestorePoints.action=
[pega:propertyparser] import.skipBackup=false
[pega:propertyparser] pega.rest.proxy.domain=
[pega:propertyparser] export.applicationName=
[pega:propertyparser] pega.rest.response.type=json
[pega:propertyparser] pega.rest.proxy.host=
[mkdir] Created dir: /tmp/PegaInstallTemp-24-August-2017-08.53.29
[pega:hasenoughspace] Found 934424KB of free space on '/tmp'
-processInstances:
[echo] Performing export on single instance(s)
[pega:echoargline] arg line : -action export -propFileDir /opt/pega-export/scripts/utils/generated -poolSize ${prpcserviceutils.pool.size} -requestTimeOut ${prpcserviceutils.request.timeout} -tempDir /tmp/PegaInstallTemp-24-August-2017-08.53.29 -artifactsDir logs
[propertyfile] Creating new property file: /opt/pega-export/scripts/utils/generated/generated-connection.properties
[pega:propertyfilegenerator] pega.rest.server.url=http://{{Hostname}}:{{Port}}/prweb/PRRestService/
[pega:propertyfilegenerator] pega.rest.username={{Username}}
[pega:propertyfilegenerator] pega.rest.password={{Password}}
[pega:propertyfilegenerator] pega.rest.proxy.host=
[pega:propertyfilegenerator] pega.rest.proxy.port=
[pega:propertyfilegenerator] pega.rest.proxy.username=
[pega:propertyfilegenerator] pega.rest.proxy.password=*****
[pega:propertyfilegenerator] pega.rest.proxy.domain=
[pega:propertyfilegenerator] pega.rest.proxy.workstation=
[pega:propertyfilegenerator] pega.rest.response.type=json
[pega:propertyfilegenerator] user.temp.dir=C:/pega_temp
[pega:propertyfilegenerator] export.archiveName={{ArchiveName}}
[pega:propertyfilegenerator] export.productName={{ProductName}}
[pega:propertyfilegenerator] export.productVersion={{VersionNumber}}
[pega:propertyfilegenerator] export.applicationVersion=
[pega:propertyfilegenerator] export.applicationName=
[pega:propertyfilegenerator] export.branchName=
[pega:propertyfilegenerator] export.branchAppContext=
[pega:propertyfilegenerator] export.async=true
[pega:propertyfilegenerator] expose.includedClasses=
[pega:propertyfilegenerator] expose.includeDescendents=true
[pega:propertyfilegenerator] expose.excludedClasses=
[pega:propertyfilegenerator] expose.excludeDescendents=true
[pega:propertyfilegenerator] expose.startKey=
[pega:propertyfilegenerator] expose.endKey=
[pega:propertyfilegenerator] expose.startDate=
[pega:propertyfilegenerator] expose.endDate=
[pega:propertyfilegenerator] expose.reindex=true
[pega:propertyfilegenerator] expose.reindexType=nonpega
[pega:propertyfilegenerator] expose.commitRate=100
[pega:propertyfilegenerator] expose.numOfThreads=1
[pega:propertyfilegenerator] expose.async=true
[pega:propertyfilegenerator] import.archive.path=
[pega:propertyfilegenerator] import.mode=import
[pega:propertyfilegenerator] import.existingInstances=skip
[pega:propertyfilegenerator] import.nofailonerror=false
[pega:propertyfilegenerator] import.commitRate=100
[pega:propertyfilegenerator] import.compileLibraries=true
[pega:propertyfilegenerator] import.allowImportWithMissingDependencies=false
[pega:propertyfilegenerator] import.preserveOrder=true
[pega:propertyfilegenerator] import.codesetName=Customer
[pega:propertyfilegenerator] import.codesetVersion=06-01-01
[pega:propertyfilegenerator] import.async=true
[pega:propertyfilegenerator] import.skipBackup=false
[pega:propertyfilegenerator] manageTrackedData.operation=
[pega:propertyfilegenerator] hotfix.operation=
[pega:propertyfilegenerator] hotfix.dlFilePath=
[pega:propertyfilegenerator] hotfix.catalogPath=
[pega:propertyfilegenerator] hotfix.bypassSchema=false
[pega:propertyfilegenerator] hotfix.force=false
[pega:propertyfilegenerator] hotfix.async=true
[pega:propertyfilegenerator] getstatus.jobID=
[pega:propertyfilegenerator] getstatus.operationName=
[pega:propertyfilegenerator] manageRestorePoints.action=
[pega:propertyfilegenerator] manageRestorePoints.restorePointName=
[pega:propertyfilegenerator] manageRestorePoints.restorePointLabel=
[pega:propertyfilegenerator] rollback.restorePointName=
[pega:propertyfilegenerator] rollback.action=SystemRollback
[pega:propertyfilegenerator] rollback.async=true
[pega:propertyfilegenerator] rollback.downloadLogToFile=true
[pega:propertyfilegenerator] updateAccessGroup.applicationName=
[pega:propertyfilegenerator] updateAccessGroup.applicationVersion=
[pega:propertyfilegenerator] updateAccessGroup.groupList=
[pega:propertyfilegenerator] DefaultSystem.pega.rest.server.url=http://{{Hostname}}:{{Port}}/prweb/PRRestService/
[pega:propertyfilegenerator] Systems Configured
[pega:propertyfilegenerator] DefaultSystem
[pega:propertyfilegenerator] Generated /opt/pega-export/scripts/utils/generated/DefaultSystem.prpcServiceUtils.properties
[echo] *** JVM Arguments -XX:MaxHeapSize=1280m -XX:MaxMetaspaceSize=512m ***
_callService:
[java] 08:53:30.712 [main] INFO [a.pegarules.serviceclient.ClientSettings] - -action export -propFileDir /opt/pega-export/scripts/utils/generated -poolSize ${prpcserviceutils.pool.size} -requestTimeOut ${prpcserviceutils.request.timeout} -tempDir /tmp/PegaInstallTemp-24-August-2017-08.53.29 -artifactsDir logs
[java] 08:53:30.715 [main] INFO [a.pegarules.serviceclient.ClientSettings] - Setting Thread Pool Size to default 5
[java] 08:53:30.715 [main] INFO [a.pegarules.serviceclient.ClientSettings] - Setting Request TimeOut to default 300
[java] 08:53:30.718 [main] INFO [.pega.pegarules.serviceclient.ClientMain] - Initializing client Current Operation = EXPORT; Thread Pool Size = 5; RequestTimeOut = 300; TemporaryDirectory = /tmp/PegaInstallTemp-24-August-2017-08.53.29
[java] 08:53:30.720 [main] INFO [viceclient.requestmanager.RequestManager] - Initializing Request Manager
[java] 08:53:30.720 [main] INFO [viceclient.requestmanager.RequestManager] - Initializing ExecutorService with pool size 5
[java] 08:53:30.735 [main] INFO [viceclient.requestmanager.RequestManager] - Performing EXPORT with params [System Name = DefaultSystem Parameters = {hotfix.async=true, expose.includeDescendents=true, getstatus.jobID=, export.async=true, expose.async=true, expose.excludedClasses=, export.productName={{ProductName}}, import.commitRate=100, export.branchAppContext=, expose.commitRate=100, import.existingInstances=skip, user.temp.dir=C:/pega_temp, expose.reindex=true, hotfix.operation=, expose.excludeDescendents=true, pega.rest.proxy.password=, updateAccessGroup.applicationName=, import.nofailonerror=false, export.applicationVersion=, import.codesetVersion=06-01-01, pega.rest.proxy.username=, expose.includedClasses=, rollback.action=SystemRollback, pega.rest.server.url=http://{{Hostname}}:{{Port}}/prweb/PRRestService/, updateAccessGroup.applicationVersion=, expose.startKey=, expose.reindexType=nonpega, import.codesetName=Customer, manageRestorePoints.restorePointLabel=, pega.rest.password={{Password}}, import.async=true, import.compileLibraries=true, hotfix.force=false, export.productVersion={{ProductVersion}}, rollback.restorePointName=, import.allowImportWithMissingDependencies=false, pega.rest.username={{Username}}, rollback.async=true, export.branchName=, getstatus.operationName=, expose.endDate=, import.preserveOrder=true, rollback.downloadLogToFile=true, pega.rest.proxy.port=, pega.rest.proxy.workstation=, expose.endKey=, import.archive.path=, hotfix.dlFilePath=, export.archiveName=FESRulesArchive, manageRestorePoints.restorePointName=, updateAccessGroup.groupList=, import.mode=import, expose.startDate=, expose.numOfThreads=1, manageTrackedData.operation=, hotfix.bypassSchema=false, hotfix.catalogPath=, pega.rest.proxy.domain=, import.skipBackup=false, manageRestorePoints.action=, export.applicationName=, pega.rest.response.type=json, pega.rest.proxy.host=}]
[java]
[java] 08:53:32.245 [pool-2-thread-1] INFO [egarules.serviceclient.rest.RestResponse] - DefaultSystem: Parsing response
[java] 08:53:32.245 [pool-2-thread-1] INFO [egarules.serviceclient.rest.RestResponse] - DefaultSystem: Parsing response of length 228
[java] 08:53:32.260 [pool-2-thread-1] INFO [egarules.serviceclient.rest.RestResponse] - DefaultSystem: Parsing content of type application/json; charset=UTF-8
[java] 08:53:32.267 [main] INFO [viceclient.requestmanager.RequestManager] - Request on system DefaultSystem Successful
[java]
[java] FAILED JOBS
[java] --------------------------------------------------------------------------------------------
[java]
[java] System Name : DefaultSystem
[java] Job ID :
[java] Status : FAILED
[java] Error Messages : No matching Product or Application found with inputs Product Name:{{ProductName}} Product Version:{{ProductVersion}} Application Name: Application Version:
[java] --------------------------------------------------------------------------------------------
[java] 08:53:32.320 [main] INFO [viceclient.requestmanager.RequestManager] - Shutting down executor service
[java] 08:53:32.320 [main] INFO [viceclient.requestmanager.RequestManager] - Executor Service shutdown completed
[java] Exception in thread "main" Operation EXPORT failed on DefaultSystem,
[java] at com.pega.pegarules.serviceclient.ClientMain.executeAndHandleResponse(ClientMain.java:116)
[java] at com.pega.pegarules.serviceclient.ClientMain.main(ClientMain.java:61)
BUILD FAILED
/opt/pega-export/scripts/utils/prpcServiceUtilsWrapper.xml:190: The following error occurred while executing this line:
/opt/pega-export/scripts/utils/prpcServiceUtilsWrapper.xml:198: Java returned: 1
Total time: 4 seconds
Ant Process returned a non 0 value
------------------------------
Please find below the properties file used:
# Properties file for use with PRPC Service Utilities. Update this file
# before running the prpcServiceUtils.bat/sh script.
# Set the REST URL and the specific tool's settings.
# For more information, see the Pega 7 Platform help.
# Connection Information
################### COMMON PROPERTIES - REST CONNECTION (REQUIRED) ##################
###################################################################################
# pega.rest.server.url=<REST service URL>
# pega.rest.username=<username to access REST service>
# pega.rest.password=<service password>
pega.rest.server.url=http://{{Hostname}}:{{Port}}/prweb/PRRestService/
pega.rest.username={{Username}}
pega.rest.password={{Password}}
pega.rest.proxy.host=
pega.rest.proxy.port=
pega.rest.proxy.username=
pega.rest.proxy.password=
pega.rest.proxy.domain=
pega.rest.proxy.workstation=
# Response type. Accepted values are xml and json.
pega.rest.response.type=json
#If you do not set the user temp directory to a valid directory, the Pega 7 Platform will use the default temp directory.
user.temp.dir=C:/pega_temp
############################### SETTINGS FOR EXPORT TOOL ##########################
###################################################################################
# ARCHIVE NAME (Required unless exporting a branch)
export.archiveName={{ArchiveName}}
# PRODUCT NAME AND VERSION TO EXPORT
export.productName={{ProductName}}
export.productVersion={{VersionName}}
#APPLICATION NAME AND VERSION TO EXPORT
export.applicationVersion=
export.applicationName=
#BRANCH NAME TO EXPORT
#Exports branch to file: BranchName_CurrentTimestamp.jar
export.branchName=
#APPLCATION CONTEXT OF THE BRANCH RULESET TO EXPORT. For example: PegaRULES:07.10
export.branchAppContext=
# Set export.async=true to execute the export asynchronously. The system queues the job and returns a JobID to use to get the job status.
export.async=true
############################### SETTINGS FOR EXPOSE TOOL ##########################
###################################################################################
# CLASSES TO INCLUDE (REQUIRED):
# includedClasses: classes to include, separate classes by commas
# includeDescendents: true (include descendents)
expose.includedClasses=
expose.includeDescendents=true
# CLASSES TO EXCLUDE
# excludedClasses: classes to exclude, separate classes by commas
# excludeDescendents: true (exclude descendants)
# For example, if including classes with descendants (Rule-) you can use this
# to filter specific classes
expose.excludedClasses=
expose.excludeDescendents=true
# KEYS AND DATE RANGES :
# Use the following arguments to specify a range of pzInsKey or
# pxCreateDateTime properties. If you provide both, only the
# pzInsKey range will be used.
# Format for date properties is yyyyMMddTHHmmss.SSS
# NOTE: if you provide the pzInsKey range then you may only provide ONE
# class with no descendants. Use the classes.included and provide one class).
# startKey Only instances with a pzInsKey equal to or greater than <start key>
# endKey Only instances with a pzInsKey equal to or less than <end key>
# startDate Only instances with a pxCreateDateTime equal to or greater than <start date>
# endDate Only instances with a pxCreateDateTime equal to or less than <end date>
# NOTE: When dealing with large tables, give the pzInsKey range diligently to return appropriate number of results so that the pre fetch query doesn't lead to allocation errors.
expose.startKey=
expose.endKey=
expose.startDate=
expose.endDate=
# REINDEXING:
# Use the following argument to regenerate indexes
expose.reindex=true
# Use the following argument to limit scope of rulesets processed.
# full -- process pega and customer rulesets
# pega -- process only pega rulesets
# nonpega -- process only customer rulesets
# For performance reasons, it's usually not necessary to reindex Pega 7 Platform rulesets unless instructed to do so.
expose.reindexType=nonpega
# specify how often to commit to the database
expose.commitRate=100
# This parameter is used to run the expose cols process in parallel.If the value was not given system considers 4 threads.
# If the number of threads was given more than (2* number of processors) the system defaults to max (2*number of processors).
# You must have more database connections available than threads specified. If not the system locks or fails depending on
# how the connection pool max wait for connection parameter is set.
expose.numOfThreads=1
# Set expose.async=true to execute the expose operation asynchronously. The system queues the job and returns a JobID to use to get the job status.
expose.async=true
############################### SETTINGS FOR IMPORT TOOL ##########################
###################################################################################
# RELATIVE PATH TO ARCHIVE FROM UTILS FOLDER OR FULL PATH TO ARCHIVE (REQUIRED):
# if the path is a folder then all the zip and jar files under the directory recursively will be considered for import.
import.archive.path=
# Import Pega Archive Options
# Modes
# install - Do not update existing instances, only import new instances.
# If an instance already exists, it will not be imported. An exception
# message will appear in the log for each instance that already exists.
# import - Update existing instances and remove duplicates. Handling of existing
# instances can be overridden using the import.existing.instances property.
# hotfix - Update existing instances and remove duplicates if newer timestamp,
# skip updating the instance (or inserting the duplicate) if the
# archive's instance timestamp is older.
import.mode=import
# Handling for existing instances
# override - Replace instances that already exist in different RuleSets and/or Versions.
# skip - Skip the instances that already exist in different RuleSets and/or Versions.
# if unset, the import will fail if existing instances are encountered
import.existingInstances=skip
# Do not fail on error
import.nofailonerror=false
# specify how often to commit to the database
import.commitRate=100
# Compile any libraries after import
import.compileLibraries=true
# Allow import even if there are any missing product dependencies. Recommended value is false
import.allowImportWithMissingDependencies=false
#Import archives in the user specified order
import.preserveOrder = true
# Import Code Archive options
# Specify which CodeSet Name and Version to load the Java .class files to.
import.codesetName=Customer
import.codesetVersion=06-01-01
# Set import.async=true to execute the import asynchronously. The system queues the job and returns a JobID to use to get the job status.
import.async=true
# Set true to bypass creating a restore point and tracking changes during import. Recommended value is false
import.skipBackup=false
############################### SETTINGS FOR TRACKED DATA ##########################
#valid values are rollback or commit
#setting this property rolls back or commits data that has been imported using 'import data only instances'
manageTrackedData.operation=
############################### SETTINGS FOR HOTFIX MANAGER ##########################
# Valid values are commit, rollback, generateDDL, install, and scan.
# Rollback removes all uncommitted hotfixes from the system.
hotfix.operation=
# If generateDDL or install is chosen, provide a path to a DL file.
hotfix.dlFilePath=
# If scan is chosen, provide a path to a Catalog.zip file.
# Catalog.zip files can be obtained from DL files or downloaded from ftp://catalog:[email protected]/hfix/CATALOG/61/CATALOG.ZIP
hotfix.catalogPath=
# Set to true to bypass schema when installing a DL
hotfix.bypassSchema=false
# Import a DL even if it requires additional configuration
hotfix.force=false
# Set hotix.async=true to execute the hotfix operation asynchronously. The system queues the job and returns a JobID to use to get the job status.
hotfix.async=true
############################### GET STATUS ##########################
# All import, export, expose, hotfix operations, updateAccessGroup and manageTrackedData and all asynchronous rollback operations return a JobID. Use that JobID to get the status of the operation.
#jobID of the operation
getstatus.jobID=
#Valid operation values are import, export, expose, hotfix, rollback, updateAccessGroup and manageTrackedData.
getstatus.operationName=
############################### MANAGE RESTORE POINTS ###############
# NOTE: Restore Point operations only support JSON results
#The action to perform: list, get, create, delete.
# list: List all available restore points.
# get: Display detailed information about a single restore point.
# create: Create a new restore point.
# delete: Delete an existing restore point.
manageRestorePoints.action=
#The restore point name to use for getting or deleting a restore point.
manageRestorePoints.restorePointName=
#The restore point label to use when creating a new restore point.
manageRestorePoints.restorePointLabel=
############################### ROLLBACK ###########################################
# NOTE: Rollback only supports JSON results
# Initiate Rollback options
# Rolling back to a restore point restores the state of a deployed application, including all rule and data instances. To roll back hotfixes, use the HOTFIX MANAGER settings.
# name of the restore point to roll back to
rollback.restorePointName=
# action to perform, currently "SystemRollback" is the only supported option
rollback.action=SystemRollback
# Set rollback.async=true to execute the rollback asynchronously. The system queues the job and returns a JobID to use to get the job status.
rollback.async=true
# Rollback results options
# Flag for whether or not to download the log to the filesystem when returning the result of the rollback
rollback.downloadLogToFile=true
############################### UPDATE ACCESS GROUP ##########################
# List the application name and new version number.
updateAccessGroup.applicationName=
updateAccessGroup.applicationVersion=
# Optional. List the access groups to update. If no access groups are listed, all access groups mapped to the application are updated with the new application version.
updateAccessGroup.groupList=
I will also attach these to this Post as a file. (FYI The properties file is a .properties file when on the box not a .txt file. )
Many thanks
Tyrone
Pegasystems Inc.
US
Hi Tyrone,
Did you download the prpcServiceUtils utility for Pega 7.2.2 from this location? Because i see some different properties in your properties file compared to the version which i downloaded from this location.
Can you download prpcServiceUtils from the above shared location and try with the configurations specified over here.
Hope this will help to achieve your desired task.
Regards
Mahesh
IBM
GB
Hi Mahesh
So the only thing I changed in that file was the /tmp directory requirement for 1gb free space. However I have re downloaded prpcserviceutils from the link you gave. Re configured it to use the new utility and I get exactly the same error.
Its something to do with it not finding the product.
Could you please have another look into this for me ?
Thank you.
Tyrone
Pegasystems Inc.
US
Hi Tyrone,
When i tried the below values to the properties related to Product i got the same error which you are getting,
export.productName=CSSAProduct
export.productVersion=01-01-01
Then i looked into the product rule and came to know that the version is not 01-01-01 as shown in the image,
export.productName=CSSAProduct
export.productVersion=20170831.123512
After changing to this value then the export process completed successfully for me. So have a look into your product rule and specific the value which is beside your Product Name as shown in my attachment to run it successfully.
Kindly let me know if you still face the issue.
Regards
Mahesh
IBM
GB
Hello Mahesh
Great news I am able to now export the products that come out of the box with PEGA for example PESamples!
However I am still unable to export the products that dont come out of the box.
Is there some sort of access setting or something I need to change within the Product on PEGA to enable export?
Thank you for all your help!
Tyrone
Pegasystems Inc.
US
Hello Tyrone,
I don't think there is such kind of access restriction for the custom products, by the way are you facing any errors during the export process for custom products?
Mahesh
IBM
GB
Hello Mahesh
Yes I believe it to only be a problem when exporting custom products.
Tyrone
Pegasystems Inc.
US
Yes Tyrone, looks like an issue for the custom products and i too see this issue. Please raise an SR with the GCS for further investigation.
Pegasystems Inc.
US
Tyrone - actually i am able to achieve the export for the custom product rules as explained in attached document.
Kindly go through it and try to figure out your error with the help of Log-PegaRemoteManagement-Export as explained in document.
IBM
GB
Has anyone managed to take a look at this as I am still struggling exporting a product out of PEGA.
Thank you
Tyrone
JPMorgan Chase & Company
US
Hi,
Thanks for sharing the information, I can see prpcServiceUtilsWrapper.xml at line 190, it's failing. I need to check the internal code jar file from where this message is throwing for that could you please let us know the pega version and xml file. Based on this I will check respective code why it's throwing this error.
IBM
GB
Hello Sudhakar
Thank you very much for getting back to me.
The version of PEGA that we are using is 7.2.2
I have attached the xml file to this response, I have had to save it as a text file to be able to upload it as an attachment.
I will also paste it here:
<project name="prpcServiceUtils" default="help" xmlns:pega="pega:/pega.com"
xmlns:ac="ac:/antcontrib.org">
<!--
Copyright 2017 Pegasystems Inc.
All rights reserved.
This software has been provided pursuant to a License Agreement containing restrictions
on its use. The software contains valuable trade secrets and proprietary information of
Pegasystems Inc and is protected by federal copyright law.It may not be copied, modified,
translated or distributed in any form or medium, disclosed to third parties or used in
any manner not provided for in said License Agreement except with written
authorization from Pegasystems Inc. -->
Hello Sudhakar
Thank you very much for getting back to me.
The version of PEGA that we are using is 7.2.2
I have attached the xml file to this response, I have had to save it as a text file to be able to upload it as an attachment.
I will also paste it here:
<project name="prpcServiceUtils" default="help" xmlns:pega="pega:/pega.com"
xmlns:ac="ac:/antcontrib.org">
<!--
Copyright 2017 Pegasystems Inc.
All rights reserved.
This software has been provided pursuant to a License Agreement containing restrictions
on its use. The software contains valuable trade secrets and proprietary information of
Pegasystems Inc and is protected by federal copyright law.It may not be copied, modified,
translated or distributed in any form or medium, disclosed to third parties or used in
any manner not provided for in said License Agreement except with written
authorization from Pegasystems Inc. -->
<!-- ANTCONTRIB LIBRARY -->
<taskdef resource="net/sf/antcontrib/antcontrib.properties" uri="ac:/antcontrib.org">
<classpath>
<pathelement location="${basedir}/../lib/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
<!-- PEGA Custom Tasks -->
<taskdef resource="com/pega/pegarules/util/anttasks/tasks.properties" uri="pega:/pega.com">
<classpath>
<fileset dir="${basedir}/../lib">
<include name="*.jar" />
<exclude name="ant-contrib-1.0b3.jar"/>
</fileset>
<fileset dir="${basedir}/..">
<include name="prdeploy.jar" />
</fileset>
</classpath>
</taskdef>
<property name="pega.install.root" value="${basedir}"/>
<property name="pega.archives" value="${pega.install.root}/../../archives/"/>
<property name="pega.config" value="${pega.install.root}/../config/"/>
<!-- folder for auto generated property files-->
<property name="generatedFolder" value="${basedir}/generated"/>
<property name="log4jConfigFile" location="../lib/log4j2.xml"/>
<property name="log4jErrorFile" value="${pega.install.root}/logs/prpcServiceUtils-Errors.log"/>
<!-- property to denote if the operation is on single or multiple systems -->
<condition property="prpcserviceutils.number.of.systems" value="multiple" else="single">
<isset property="prpcserviceutils.connection.filepath"/>
</condition>
<!-- property to denote operation specific file is provided -->
<condition property="local.operation.specific.file.path" value="${operation.specific.file.path}" else="">
<isset property="operation.specific.file.path"/>
</condition>
<!-- path for generated files. -->
<path id="propertyfiles.path">
<fileset dir="${generatedFolder}" casesensitive="no">
<include name="*.properties"/>
</fileset>
</path>
<import file="../commonUtilities.xml"/>
<property name="pega.install.root" value="${basedir}"/>
<condition property="prpc.service.utils.property.filepath" value="${prpc.service.utils.custom.property.filepath}" else="${basedir}/prpcServiceUtils.properties">
<isset property="prpc.service.utils.custom.property.filepath"/>
</condition>
<tstamp>
<format property="pega.patchdate" pattern="yyyy-MM-dd HH.mm zz" />
</tstamp>
<ac:if>
<or>
<equals arg1="${ant.java.version}" arg2="1.6"/>
<equals arg1="${ant.java.version}" arg2="1.7"/>
</or>
<ac:then>
<condition property="jvm.arg.mem.max.temp" value="${jvm.arg.mem.max}" else="-Xmx1280m">
<isset property="jvm.arg.mem.max"/>
</condition>
<condition property="jvm.arg.mem.maxpermsize.temp" value="${jvm.arg.mem.maxpermsize}" else="-XX:MaxPermSize=512m">
<isset property="jvm.arg.mem.maxpermsize"/>
</condition>
</ac:then>
<ac:else>
<condition property="jvm.arg.mem.max.temp" value="${jvm.arg.mem.max}" else="-XX:MaxHeapSize=1280m">
<isset property="jvm.arg.mem.max"/>
</condition>
<condition property="jvm.arg.mem.maxpermsize.temp" value="${jvm.arg.mem.maxpermsize}" else="-XX:MaxMetaspaceSize=512m">
<isset property="jvm.arg.mem.maxpermsize"/>
</condition>
</ac:else>
</ac:if>
<property name="jvm.args" value="${jvm.arg.mem.max.temp} ${jvm.arg.mem.maxpermsize.temp}"/>
<echo message="*** JVM Arguments ${jvm.args} ***"/>
<path id="prpc.base.path">
<pathelement path="${pega.install.root}/../prdeploy.jar"/>
<fileset dir="${pega.install.root}/../lib/">
<include name="*.jar"/>
<include name="*.xml"/>
</fileset>
</path>
<target name="help">
<echo message="Update invocation of this script to to run one of the utilities :"/>
<echo message="export | import "/>
</target>
<target name="performOperation" depends="-init, -processInstances, -cleanup">
<echo message="PegaRULES Process Commander ${prpc.service.util.action} complete."/>
</target>
<!-- Internal targets below. DO NOT CALL THESE EXTERNALLY - CONTENTS MAY CHANGE AT ANY TIME -->
<target name="-init">
<pega:readmanifestfile prdeploypath="${basedir}/../prdeploy.jar" pegaBuildDate="pegaBuildDate.value" specificationVersion="specificationVersion.value"/>
<echo message="******************************************************************"/>
<echo message="Build date : ${pegaBuildDate.value} "/>
<echo message="Pega7 platform version : ${specificationVersion.value} "/>
<echo message="******************************************************************"/>
<delete dir="${basedir}/generated" failonerror="false"/>
<mkdir dir="${basedir}/generated"/>
<tstamp>
<format property="install.datetime" pattern="dd-MMMM-yyyy-HH.mm.ss" locale="en,US"/>
</tstamp>
<fail message="Properties File Not Found: ${prpc.service.utils.property.filepath}">
<condition>
<not>
<available file="${prpc.service.utils.property.filepath}" />
</not>
</condition>
</fail>
<pega:propertyparser propfile="${prpc.service.utils.property.filepath}" echo="true"/>
<condition property="user.temp.dir.root" value="${user.temp.dir}">
<and>
<isset property="user.temp.dir"/>
<not>
<equals arg1="${user.temp.dir}" arg2="" />
</not>
<available file="${user.temp.dir}" type="dir" />
</and>
</condition>
<condition property="install.temp.dir.root" value="${user.temp.dir.root}"
else="${java.io.tmpdir}">
<isset property="user.temp.dir.root"/>
</condition>
<condition property="artifacts.dir" value="${service.responseartifacts.dir}" else="logs">
<and>
<isset property="service.responseartifacts.dir"/>
<not>
<equals arg1="${service.responseartifacts.dir}" arg2="" />
</not>
</and>
</condition>
<property name="install.temp.dir" value="${install.temp.dir.root}/PegaInstallTemp-${install.datetime}"/>
<mkdir dir="${install.temp.dir}"/>
<pega:hasenoughspace partition="${install.temp.dir.root}" needed="900000" property="enough" available="free"/>
<condition property="stop" value="true">
<and>
<equals arg1="${enough}" arg2="false" />
<equals arg1="${success}" arg2="true" />
</and>
</condition>
<fail message=" Only : ${free} KB of free space found in '${install.temp.dir.root}' - Not enough for Temp Directory install (~ 1000000 KB)" if="stop"/>
</target>
<target name="-processInstances">
<echo message="Performing ${prpc.service.util.action} on ${prpcserviceutils.number.of.systems} instance(s)"/>
<property name="arg.line" value=" -action ${prpc.service.util.action} -propFileDir ${generatedFolder} -poolSize ${prpcserviceutils.pool.size} -requestTimeOut ${prpcserviceutils.request.timeout} -tempDir ${install.temp.dir} -artifactsDir ${artifacts.dir}"/>
<pega:echoargline line="${arg.line}"/>
<ac:if>
<equals arg1="${prpcserviceutils.number.of.systems}" arg2="multiple" />
<ac:then>
<echo message="Reading connection information from ${prpcserviceutils.connection.filepath}"/>
<pega:propertyfilegenerator basePropertyFile="${prpc.service.utils.property.filepath}" connectionPropertiesFile="${prpcserviceutils.connection.filepath}" generatedFolderPath="${generatedFolder}" systemFilesSuffix="prpcServiceUtils.properties" pathToSystemProperties="${basedir}" generatedFilesSuffix="prpcServiceUtils.properties" echo="true" operationName="${prpc.service.util.action}" opSpecificFile="${local.operation.specific.file.path}"/>
<antcall target="_callService"/>
</ac:then>
<ac:else>
<!--generate connection.properties-->
<property name="connection.properties.file.path" value="${generatedFolder}/generated-connection.properties"/>
<propertyfile file="${connection.properties.file.path}" >
<entry key="DefaultSystem.pega.rest.server.url" value="${pega.rest.server.url}"/>
</propertyfile>
<pega:propertyfilegenerator basePropertyFile="${prpc.service.utils.property.filepath}" connectionPropertiesFile="${connection.properties.file.path}" generatedFolderPath="${generatedFolder}" generatedFilesSuffix="prpcServiceUtils.properties" echo="true" operationName="${prpc.service.util.action}" opSpecificFile="${local.operation.specific.file.path}"/>
<antcall target="_callService"/>
</ac:else>
</ac:if>
</target>
<target name="_callService" >
<ac:urlencode name="log4j2.file.location" location="${log4jConfigFile}" />
<java classname="com.pega.pegarules.serviceclient.ClientMain" failonerror="true" fork="true" dir="${pega.install.root}">
<classpath refid="prpc.base.path"/>
<jvmarg value="${jvm.arg.mem.max.temp}"/>
<jvmarg value="${jvm.arg.mem.maxpermsize.temp}"/>
<jvmarg value="-Dlog4j.configurationFile=file:///${log4j2.file.location}"/>
<jvmarg value="-Dlogfile.timestamp=${logfile.timestamp}"/>
<arg value="-action"/>
<arg value="${prpc.service.util.action}"/>
<arg value="-propFileDir"/>
<arg value="${generatedFolder}"/>
<arg value="-poolSize"/>
<arg value="${prpcserviceutils.pool.size}"/>
<arg value="-requestTimeOut"/>
<arg value="${prpcserviceutils.request.timeout}"/>
<arg value="-tempDir"/>
<arg value="${install.temp.dir}"/>
<arg value="-artifactsDir"/>
<arg value="${artifacts.dir}"/>
</java>
</target>
<target name="-cleanup">
<echo message="Cleaning up temp directory..."/>
<delete dir="${install.temp.dir}"/>
</target>
</project>
Please let me know what you find.
Thank you
Tyrone
JPMorgan Chase & Company
US
Thanks for sharing the required information, its seems to be some data is missing in database. Taking time to analyse the exact root cause. Please raise support request.
JPMorgan Chase & Company
US
Hi Tyrone,
Before raise support request, please check once changing the product version, as mentioned by Mahesh. still if it's not working please go head with the SR.
IBM
GB
Hello Sudhakar
As confirmed with Mahesh, I have just now been able to export a product out of PEGA.
This was an out of the box product PESamples.
I am still unable to export the products that are not out of the box.
Is there a setting I need to change to enable export?
Cheers
Pegasystems Inc.
US
Hi Tyrone,
Have you gone through prpcServiceUtils Custom Product export.pdf document which has been shared as above which will help you to find the root cause of your issue. With the process i followed in this document i am able to export for custom product also.
Regards
Mahesh
Pegasystems Inc.
IN
Hello!
Please let us know if you do log an SR for this and its ID. That way we can track it and follow-up this discussion with the resolution.
Thank you,
Pegasystems Inc.
US
Hi Tyrone,
Before proceeding to raise an SR with GCS, you can have a look into the PDF document which i attached above to resolve your issue and confirm me if you still face any issue.
Regards
Mahesh
CGI Information Systems
IN
Hi All,
Please help me to login to Pega.I am getting error.
Pegasystems Inc.
US
Hi Sagarika,
Could you please explain your usecase more detail, as you posted this query in Import/Export using jenkins bit confused with your usecase. If you are looking for help to implement the import/export functionality using prpcserviceutils in jenkins then kindly look into my blog over here.
Regards
Mahesh
Legato Health Technologies LLP
IN
Hi,
I am getting below error while running the prpcserviceutil from command line for export with PEga version 7.2.1
I have used below configuration in prpcserviceutil .properties file.
pega.rest.server.url=http://localhost:port/prweb/PRServlet
pega.rest.username=pegauserid
pega.rest.password=pegapassword
Hi,
I am getting below error while running the prpcserviceutil from command line for export with PEga version 7.2.1
I have used below configuration in prpcserviceutil .properties file.
pega.rest.server.url=http://localhost:port/prweb/PRServlet
pega.rest.username=pegauserid
pega.rest.password=pegapassword
# more CLI-prpcserviceutils-errorsOct-11-2017-06-41-26.log
2017-10-11 06:41:29.508 [main] ERROR [viceclient.requestmanager.RequestManager] - Request on system DefaultSystem failed
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.7.0_55]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.7.0_55]
at com.pega.pegarules.serviceclient.requestmanager.RequestManager.processResponse(RequestManager.java:156) [prdeploy.jar:?]
at com.pega.pegarules.serviceclient.requestmanager.RequestManager.doOperation(RequestManager.java:141) [prdeploy.jar:?]
at com.pega.pegarules.serviceclient.ClientMain.executeAndHandleResponse(ClientMain.java:100) [prdeploy.jar:?]
at com.pega.pegarules.serviceclient.ClientMain.main(ClientMain.java:61) [prdeploy.jar:?]
Caused by: java.lang.NullPointerException
at com.pega.pegarules.serviceclient.rest.RestResponse.parseEntities(RestResponse.java:119) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.rest.RestResponse.parseResponse(RestResponse.java:104) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.rest.RestResponse.<init>(RestResponse.java:85) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.rest.RestClient.parseReponse(RestClient.java:221) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.rest.RestClient.doGet(RestClient.java:184) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.rest.RestClient.sendRequest(RestClient.java:77) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.rest.RestClient.sendRequest(RestClient.java:1) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.rest.AbstractRestRequest.execute(AbstractRestRequest.java:57) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.rest.AbstractRestRequest.execute(AbstractRestRequest.java:1) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.request.AbstractRequest.call(AbstractRequest.java:62) ~[prdeploy.jar:?]
at com.pega.pegarules.serviceclient.request.AbstractRequest.call(AbstractRequest.java:1) ~[prdeploy.jar:?]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:1.7.0_55]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.7.0_55]
at java.lang.Thread.run(Unknown Source) ~[?:1.7.0_55]
Can you please help me with this error.
Thanks,
Bhushan