Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Coldfusion 2023 xmlTransform error

Community Beginner ,
Sep 18, 2024 Sep 18, 2024

Hi,

 

The XMLtransform function is throwing an error on our DEV server; our other 3 servers are fine. The JVM flag -Dcoldfusion.xml.allowPathCharacters=true has been applied.

 

I am just the programmer but our system admin ask me to post this issue to see if there is another solution we can try.  XMLtransform was working fine until changes were made to get the PDF generator working. It took a few attempts on DEV before it was successful and the changes applied to the other servers. Now the XMLtransform throws the "Unable to process the XML string as it could probably contain file paths" error only on DEV.

 

Server Details
Server ProductColdFusion 2023
Version2023,0,08,330668
EditionEnterprise  
Operating SystemWindows Server 2019  
OS Version10.0  
Update Level/E:/ColdFusion2023/cfusion/lib/updates/chf20230008.jar  
Adobe Driver Version5.1.4 (Build 0001)  
Tomcat Version9.0.85.0  
Device IDbaad85e0431b7ba6b236f5b26081f8dded7b034df8355d964dba34e7366d1554  

 

JVM Arguments

-server --add-exports=java.desktop/sun.awt.image=ALL-UNNAMED --add-exports=java.desktop/sun.java2d=ALL-UNNAMED --add-exports=java.base/sun.util.calendar=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/sun.security.rsa=ALL-UNNAMED --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED --add-opens=java.base/sun.security.x509=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/sun.util.cldr=ALL-UNNAMED --add-opens=java.base/sun.util.locale.provider=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED -XX:+UseParallelGC -Djdk.attach.allowAttachSelf=true -Dcoldfusion.home={application.home} -Duser.language=en -Dcoldfusion.rootDir={application.home} -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.JavaUtilLog -Djava.util.logging.config.file={application.home}/lib/logging.properties -Dtika.config=tika-config.xml -Djava.locale.providers=COMPAT,SPI -Dsun.font.layoutengine=icu -Dcom.sun.media.jai.disableMediaLib=true -Dcoldfusion.xml.allowPathCharacters=true

 

Any suggestions to fix this problem or does DEV need a clean builld?

Please let me know if you need more information.

 

Thank you for you help.

 

 

660
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 2 Correct answers

Community Expert , Sep 18, 2024 Sep 18, 2024

OK. But before we rule out cached class files, ask the sys admin to restart ColdFusion after clearing the class files. Also ensure that ColdFusion is restarted after the Java flag  -Dcoldfusion.xml.allowPathCharacters=true is applied. That would have been easy to overlook. 

 

A second suggestion is JVM flags. When I missed the following additional flags, some of which might be relevant:

 

-Dcoldfusion.classPath={application.home}/lib/updates,{application.home}/lib/,{application.home}/gateway/lib
...
Translate
Community Beginner , Sep 18, 2024 Sep 18, 2024

Hello BKBK,

We did not add the additional flags. I noticed that there was a space between - and Dcoldfusion.xml.allowPathCharacters=true in the JVM settings. The sys admin said he added the space to see if that would fix the problem. Per my request he removed the space and restarted the CF service. The xmlTransform is working now. It could very well be that a restart was overlooked when the flag was first added.

 

Thank you so much for your help.

Translate
Community Expert ,
Sep 18, 2024 Sep 18, 2024

Since the problem happens only on the one server, what are the "changes [that] were made to get the PDF generator working"?

 

Indeed, what was the pdf generation problem that prompted making such changes? There may be a different solution to that, which would not have this knock on effect on your use of xmltransform. 


/Charlie (troubleshooter, carehart. org)
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 18, 2024 Sep 18, 2024

Thank you, Charlie.

I asked the sys admin what changes were made to DEV to get the PDF generator to work; still waiting for his reply.

Before posting to the community, I asked him how does DEV differ from the other servers. He didn't answer but asked that I ask for help here.

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 18, 2024 Sep 18, 2024

The original problem with PDF service ( found in the exception.log ) was

  • "Connect to 127.0.0.1:8991 [/127.0.0.1] failed: Connection refused: no further information http://127.0.0.1:8991/PDFgServlet/"
  • "Error","Thread-30","06/12/24","08:17:00","","Cannot invoke "String.equalsIgnoreCase(String)" because the return value of "coldfusion.document.webkit.PDFgServiceManager.getEngine()" is null"

 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 18, 2024 Sep 18, 2024

Do you have an idea when your sys admin will give you that information? It's going to be hard to identify the problem without it.

 

Dave Watts, Eidolon LLC

Dave Watts, Eidolon LLC
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 18, 2024 Sep 18, 2024

It might be caused by ColdFusion using cached class files. Hence this suggestion: clear the class files. Then restart ColdFusion.

 

That helped someone in a simlar situation. See https://community.adobe.com/t5/coldfusion-discussions/coldfusion-2021-update-5-breaks-xml/m-p/132655... 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 18, 2024 Sep 18, 2024

Thank you, BKBK.

I had sent the sys admin that link when the problem was first discovered, eventhough it was for CF2021. The sys admin cleared the class files, restarted the service but it did not fix the problem.

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 18, 2024 Sep 18, 2024

OK. But before we rule out cached class files, ask the sys admin to restart ColdFusion after clearing the class files. Also ensure that ColdFusion is restarted after the Java flag  -Dcoldfusion.xml.allowPathCharacters=true is applied. That would have been easy to overlook. 

 

A second suggestion is JVM flags. When I missed the following additional flags, some of which might be relevant:

 

-Dcoldfusion.classPath={application.home}/lib/updates,{application.home}/lib/,{application.home}/gateway/lib/,{application.home}/wwwroot/WEB-INF/cfform/jars,{application.home}/bin/cf-osgicli.jar

-Dcoldfusion.searchimplicitscopes=true

-Dcoldfusion.number.allowdotsuffix=true

-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true

-Dfile.encoding=UTF-8

-Djava.awt.headless=true

-Djdk.util.zip.disableZip64ExtraFieldValidation=true

-Dlog4j2.formatMsgNoLookups=true

 

Remember to restart ColdFusion after changing the JVM properties.

 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 18, 2024 Sep 18, 2024

Hello BKBK,

We did not add the additional flags. I noticed that there was a space between - and Dcoldfusion.xml.allowPathCharacters=true in the JVM settings. The sys admin said he added the space to see if that would fix the problem. Per my request he removed the space and restarted the CF service. The xmlTransform is working now. It could very well be that a restart was overlooked when the flag was first added.

 

Thank you so much for your help.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 19, 2024 Sep 19, 2024
LATEST

As the man said, all is well that ends well. 🙂

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 18, 2024 Sep 18, 2024

What hppens when you restart ColdFusion, and test by running the following code as a CFM file?

The result should be: 7,9

<!--- XSLT transformation to convert XML --->
<cfsavecontent variable="xsl"><?xml version="1.0" encoding="UTF-8"?>
	<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	<xsl:template match="/">
	<xsl:text disable-output-escaping="yes">
	&lt;</xsl:text>SOAP-ENV:Envelope
	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
	<xsl:text disable-output-escaping="yes">&lt;</xsl:text>SOAP-ENV:Body<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
	
	<xsl:copy-of select="*" />
	
	<xsl:text disable-output-escaping="yes">&lt;</xsl:text>/SOAP-ENV:Body<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
	<xsl:text disable-output-escaping="yes">&lt;</xsl:text>/SOAP-ENV:Envelope<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
	</xsl:template>
	
	</xsl:stylesheet>
</cfsavecontent>
	
<!--- The XML to be transformed --->
<cfsavecontent variable="xml"><?xml version="1.0" encoding="UTF-8"?>
<book_ids quantity="2">7,9</book_ids>
</cfsavecontent>

<cfoutput>#XmlTransform(xml, xsl)#</cfoutput>

 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources