Coldfusion 10中cfpdfform的奇怪问题

时间:2014-05-20 20:44:43

标签: coldfusion coldfusion-10

我的一些(但不是全部)我的CF服务器有一个奇怪的问题。

我将我的CF服务器上的操作系统从CentOS 5升级到CentOS 6.我还从CF 8升级到10.所有主机配置相同(使用puppet部署)并且在CF 10的相同补丁级别。当我们调用cfpdfform标记时,3个服务器中的2个正常工作。但是,有一台服务器无法生成pdfs。我在堆栈跟踪中收到以下错误:

Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 52; Attribute name "xml:xml" associated with an element type "xfdf" must be followed by the ' = ' character.

我知道我们需要解决一些issue with cfpdform on CF10问题,但是我试图弄清楚为什么/如何完全相同的代码在其他2台主机上没有问题/错误的情况下工作。

编辑:添加代码生成错误和堆栈跟踪(出于明显隐私原因删除了路径

STACK TRACE:

coldfusion.pdf.PDFFormException: An exception has occured in the processing of PDF forms.
    at coldfusion.pdf.XFDFDataXMLGenerator.createFormXMLData(XFDFDataXMLGenerator.java:119)
    at coldfusion.tagext.lang.PDFFormTag.doEndTag(PDFFormTag.java:328)
    at cf_cardholderAgreementPDFForm2ecfm1614851083._factor10(/path/to/code/PDFForm.cfm:30)
    at cf_cardholderAgreementPDFForm2ecfm1614851083.runPage(/path/to/code/PDFForm.cfm:1)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444)
    at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2799)
    at cfcardholderAgreement_BIN2ecfm1678891588.runPage(/path/to/code/Agreement_BIN.cfm:76)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444)
    at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2799)
    at cf_cardholderAgreement2ecfm1711879224.runPage(/path/to/code/Agreement.cfm:88)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444)
    at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2799)
    at cfcardholder_agreement2ecfm1781672563.runPage(/path/to/code/agreement.cfm:2)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444)
    at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2799)
    at cfcontroller2ecfm174429127._factor1(/path/to/code/controller.cfm:240)
    at cfcontroller2ecfm174429127._factor2(/path/to/code/controller.cfm:212)
    at cfcontroller2ecfm174429127._factor3(/path/to/code/controller.cfm:1)
    at cfcontroller2ecfm174429127.runPage(/path/to/code/controller.cfm:1)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444)
    at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2799)
    at cfindex2ecfm2051298971.runPage(/path/to/code/index.cfm:2)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444)
    at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2799)
    at cfApplication2ecfc808894159$funcONREQUEST.runFunction(/path/to/code/Application.cfc:148)
    at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
    at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
    at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
    at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
    at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
    at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
    at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:655)
    at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:444)
    at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:414)
    at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:108)
    at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:300)
    at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:424)
    at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
    at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
    at coldfusion.CfmServlet.service(CfmServlet.java:219)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:204)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.jdom.input.JDOMParseException: Error on line 1: Attribute name "xml:xml" associated with an element type "xfdf" must be followed by the ' = ' character.
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:533)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:946)
    at coldfusion.pdf.XFDFDataXMLGenerator.createFormXMLData(XFDFDataXMLGenerator.java:84)
    ... 74 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 52; Attribute name "xml:xml" associated with an element type "xfdf" must be followed by the ' = ' character.
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanAttribute(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518)
Attribute name "xml:xml" associated with an element type "xfdf" must be followed by the ' = ' character.

来源:

<cfpdfform source="#pdfFormSource#" action="populate" destination="#pdfFormDestination#" overwrite="yes">
    ...
    <cfpdfformparam name="websiteLogIn"             value="#websiteLogIn#">
    ...
</cfpdfform>

2 个答案:

答案 0 :(得分:0)

您的问题似乎与以下内容类似:

Odd error from ColdFusion when building a PDF with CFPDFFORM

没有给出解决方案,但在此期间看看他们的解决方案是否适合你。

正如@Leigh已经提到过的,adobe.com#3430402有一个错误报告:

答案 1 :(得分:0)

我很确定这个答案对其他人来说都没用,但它对我有用。

主机位于VMWare群集上。重新安装操作系统没有帮助。在与我的开发人员进行了很多挫折和辩论后,我决定删除并重新创建VM以将其作为变量删除。果然,这很有效。我不知道为什么。 VM的设置方式相同。但它奏效了。

如果其他人遇到同样的问题,请尝试。