技术文章 - CS404858
用于将 xml 转换为 pdf 的 javax.xml.transform.Transformer API 在 Windchill PDMLink 12.1 中引发错误
已修改: 15-Nov-2023
适用于
- Windchill PDMLink 12.1.2.2
说明
- 用于将 xml 转换为 pdf 的 javax.xml.transform.Transformer API在 linker.xsl 第 7 行第 38 列的模板generateURLHref 处抛出错误:
- include/linker.xsl:- 提供 XSLT 模板generateURLHref,所提供的 HTML 和 XSL FO 格式使用该模板从 XML 结果节点生成到 Windchill 对象的超链接,这些节点包含在整个 Windchill 对象被查询时由查询层提供的附加属性信息。已选择。目前支持对象、版本、电子邮件和内容下载链接。
- 下面传入xsl文件以使用includes/linker.xsl生成链接
<xsl:call-template name="generateURLHref"> <xsl:with-param name="sourceGateway" select="$sourceGateway" /> <xsl:with-param name="resultNode" select="current()/contextInfo" /> <xsl:with-param name="standardLink" select="false()" /> </xsl:call-template>
日志中出现以下错误
Error at char 49 in expression in xsl:variable/@select on line 12 column 89 of linker.xsl:
2023-10-30 11:09:07,555 INFO [RMI TCP Connection(28)-127.0.0.1] wt.system.err - XTDE1425 Cannot find a 2-argument function named
2023-10-30 11:09:07,555 INFO [RMI TCP Connection(28)-127.0.0.1] wt.system.err - Q{http://windchill-saxon-extension.com/url}genURL()
2023-10-30 11:09:07,555 INFO [RMI TCP Connection(28)-127.0.0.1] wt.system.err - at template generateURLHref on line 7 column 38 of linker.xsl:
2023-10-30 11:09:07,555 INFO [RMI TCP Connection(28)-127.0.0.1] wt.system.err - invoked by xsl:call-template at file:/D:/Windchill/codebase/templates/reports/xxxx.xsl#75
2023-10-30 11:09:07,555 INFO [RMI TCP Connection(28)-127.0.0.1] wt.system.err - at template generateContextTable on line 59 column 45 of xxxx.xsl:
2023-10-30 11:09:07,555 INFO [RMI TCP Connection(28)-127.0.0.1] wt.system.err - invoked by xsl:for-each at file:/D:/Windchill/codebase/templates/reports/xxxx.xsl#60
2023-10-30 11:09:07,555 INFO [RMI TCP Connection(28)-127.0.0.1] wt.system.err - at template generateContextTable on line 59 column 45 of xxxx.xsl:
2023-10-30 11:09:07,555 INFO [RMI TCP Connection(28)-127.0.0.1] wt.system.err - invoked by xsl:call-template at file:/D:/Windchill/codebase/templates/reports/xxxx.xsl#51
2023-10-30 11:09:07,555 INFO [RMI TCP Connection(28)-127.0.0.1] wt.system.err - In template rule with match="/" on line 19 of xxxx.xsl
2023-10-30 11:09:07,555 ERROR [RMI TCP Connection(28)-127.0.0.1] wt.method.MethodResultException - java.io.NotSerializableException: net.sf.saxon.expr.parser.XPathParser$NestedLocation
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1185)
at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1553)
at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1510)
at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1433)
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179)
at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
at wt.method.MethodResultException.writeExternal(MethodResultException.java:105)
at java.base/java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1457)
at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179)
at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
at wt.method.MethodResultWriter.writeExternal(MethodResultWriter.java:267)
at wt.method.MethodResult.writeExternal(MethodResult.java:226)
at java.base/java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1457)
at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179)
at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
at java.rmi/sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:293)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:369)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
这是文章 404858 的 PDF 版本,可能已过期。最新版本 CS404858