我有RMI桌面应用程序。我用xsl模板生成报告的问题。这里我包含了XSL和java方法供您参考
在本地计算机上测试时工作正常,只有在我将其连接到服务器远程计算机时才会发生。
我尝试了已在此网站上发布的答案,但无法解决我的问题。
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:nds="http://com.test"
xmlns:dconv="xalan://com.test.server.BaseConverter"
xmlns:java="http://xml.apache.org/xalan/java"
xmlns:model="xalan://com.test.server.AbstractModel"
extension-element-prefixes="dconv java model"
exclude-result-prefixes="nds dconv java model" >
<xsl:output method="html" indent="yes" encoding="UTF-8"/>
<xsl:strip-space elements="*"/>
<nds:Result ResultDir="ModDir" ResultName="Report_Import"/>
<nds:PreReq Name=".import0.xml"/>
<xsl:param name="converter" select="'instanceof com.test.server.BaseConverter'"/>
<xsl:param name="sourceModel" select="'instanceof com.test.server.AbstractModel'"/>
<xsl:param name="resultModel" select="'instanceof com.test.server.AbstractModel'"/>
<xsl:variable name="title" select="'DMS-100 Data Import Report'" />
<xsl:variable name="log" select="'.import0.xml'" />
<xsl:template match="/OfficeData">
<HTML>
<xsl:call-template name="header">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<BODY>
<xsl:call-template name="office-meta">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates select="document(model:getURL($sourceModel, $log))"/>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
我的java代码
AbstractModel.java
public String getURL(String filename) {
// some code
return urlstr;
}
异常
javax.xml.transform.TransformerConfigurationException: The first argument to the non-static Java function 'getURL' is not a valid object reference.
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:1017)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:789)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformerHandler(TransformerFactoryImpl.java:1093)
任何帮助将不胜感激。在此先感谢您,如果您需要任何信息,请告诉我。