我使用oXygen编辑器XML编辑器19.0和Saxon-EE 9.7.0.15。saxon:发送邮件函数返回java.lang.NullPointerException错误
为了测试saxon:send-mail函数,我写了下面的简单样式表,但每次尝试运行它时,Saxon都会返回一个java.lang.NullPointerException错误。扩展功能(-ext)被激活。我也遇到了与Saxon-PE相同的错误。
有没有人有一个想法,错误可能来自哪里?
这里是样式表:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:saxon="http://saxon.sf.net/"
exclude-result-prefixes="xs" version="3.0">
<xsl:variable name="mailSetup" as="map(xs:string, xs:string)">
<xsl:map>
<xsl:map-entry key="'to'" select="'[email protected]'"/>
<xsl:map-entry key="'from'" select="'[email protected]'"/>
<xsl:map-entry key="'smtp-server'" select="'smtp.gmail.com'"/>
<xsl:map-entry key="'username'" select="'[email protected]'"/>
<xsl:map-entry key="'password'" select="'mepassword'"/>
</xsl:map>
</xsl:variable>
<xsl:variable name="html" as="xs:string">
<![CDATA[ <html>
<body>
<h1>Test saxon:send-mail</h1>
<p>Test Ok</p>
</body>
</html>]]>
</xsl:variable>
<xsl:template name="main">
<xsl:value-of select="saxon:send-mail($mailSetup, 'Test', $html,())"/>
</xsl:template>
</xsl:stylesheet>
Saxon似乎使用不属于Java SE的javax.mail API,因此您可能需要通过https://javaee.github.io/javamail/#Download_JavaMail_Release进行安装,并将其放在类路径中。我没有检查是否解决了这个问题。 –
似乎把那个jar放在类路径上,并且从命令行运行Saxon并没有解决问题,9.7我得到了NullPointerException,你说你在oXygen里面,而9.8我得到了一个由NullPointerException引起的RuntimeException。 –
oXygen似乎已经有了'mailapi.jar'。 –