我使用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'。 –