Question
Last activity: 20 Jan 2019 23:41 EST
prpcUtils import not working if password has '&' character in it
Hi,
Our DB password contains a & character (This cannot be updated because the passwords are automatically generated and we have no control over this password setting in production)
When this password is procided to the prpcUtils.sh import utility. We get a SAX parser exception saying that its a malformed xml because this value is substituted by the prpcUtils.sh import utility into the prconfig.xml as <env name="database/databases/PegaRULES/password" value="&%&s#m" />. (I believe this happens because & is a control character in xml)
I tried escaping the & character by replacing & with & but then we receive a database logon failure.
Please help me with a solution for this.


Pegasystems Inc.
IN
I get a SAX parser exception saying that & is not a valid character. We are using 7.1.8 and Postgresql db. Are you using a key ring for your password implementation?
[java] Located PegaRULES logging configuration: file:/local/pega/temp/PegaInstallTemp-29-December-2018-01.18.07/load/WEB-INF/classes/prlogging.xml
[java] Found spec for PegaRULES (V5.x) configuration using System property: /local/pega/temp/PegaInstallTemp-29-December-2018-01.18.07/prconfig.xml
[java] Located PegaRULES (V5.x) configuration: file:/local/pega/temp/PegaInstallTemp-29-December-2018-01.18.07/prconfig.xml
[java] 2018-12-29 01:18:14,167 [ main] [ ] [ ] ( basic.config.ConfigReader) ERROR - Error processing prconfig.xml file. File may be malformed.
[java] org.xml.sax.SAXParseException; lineNumber: 15; columnNumber: 66; The entity name must immediately follow the '&' in the entity reference.
[java] at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
[java] at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
[java] at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
[java] at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
[java] at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1472)
[java] at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:908)
[java] at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:447)
[java] at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:250)
[java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
[java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
[java] at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
[java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
[java] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
[java] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
[java] at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
[java] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
[java] at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
[java] at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
[java] at com.pega.pegarules.exec.internal.basic.config.ConfigReader.doParse(ConfigReader.java:246)
[java] at com.pega.pegarules.exec.internal.basic.config.ConfigReader.getConfig(ConfigReader.java:226)
[java] at com.pega.pegarules.exec.internal.basic.config.SettingsImpl._loadConfig_privact(SettingsImpl.java:587)
[java] at com.pega.pegarules.exec.internal.basic.config.SettingsImpl.initialize(SettingsImpl.java:268)
[java] at com.pega.pegarules.exec.internal.basic.config.SettingsImpl.<init>(SettingsImpl.java:226)
[java] at com.pega.pegarules.exec.internal.basic.config.SettingsImpl.<clinit>(SettingsImpl.java:229)
[java] at com.pega.pegarules.exec.internal.PRExecProviderImpl.getSettings(PRExecProviderImpl.java:583)
[java] at com.pega.pegarules.data.internal.dictionary.ClassMapImpl.<clinit>(ClassMapImpl.java:594)
[java] at com.pega.pegarules.data.internal.PRDataProviderImpl.initialize(PRDataProviderImpl.java:532)
[java] at com.pega.pegarules.common.PREngineProvider.<clinit>(PREngineProvider.java:167)
[java] at com.pega.pegarules.deploy.external.util.ImportUtility.<clinit>(ImportUtility.java:60)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] at java.lang.reflect.Method.invoke(Method.java:498)
[java] at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:367)
[java] at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:408)
[java] at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223)
[java] at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:272)
[java] at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85)
I still haven't gotten a valid answer. I'm following up with a SR currently for this.


Pegasystems Inc.
IN
Hi,
Do let us know the SR# so that we can connect the SR and post for support engineers benefit.
Thanks!
Hi Vishal,
I'm able to use '&%&s#m' as password and able to run prpcUtils successfully.
- What error you are getting in the logs ?
- What is the PRPC version that you are on?
- What is the DB that you are on ?
I'm on PRPC 7.3.1 and oracle DB.
Thanks,
Venkat