【问题标题】:Unkown error when calling Java applet from JavaScript从 JavaScript 调用 Java 小程序时出现未知错误
【发布时间】:2009-07-09 16:47:05
【问题描述】:

这是 JavaScript(在 aspx 页面上):

function WriteDocument(clientRef, system, branch, category, pdfXML)
{        
    AppletReturnValue = document.DocApplet.WriteDocument(clientRef, apmBROOMS, branch, category, pdfXML);
    if (AppletReturnValue.length > 0) {
        document.getElementById('pdfData').value = "";
        CallServer(AppletReturnValue,'');
    }
    PostBackAndDisplayPDF()
}

pdfXML 是从 pdfData 获得的,它是页面上的一个隐藏字段,其中包含 XML,其中包含传递给 java 小程序的 base64 编码的 pdf 数据。传递的所有其他值都在合理范围内。

XML 是这样的

<Documents>
   <FileName>AFileName</FileName>   
   <PDF>JVBERiDAzOTY1NzMwIDAwMDAwIG4NCjAwMDM5NjU4NDcgMDAwMDAgbg0KMDAwMzk2NTk2</PDF>
</Documents>

元素PDF的内容比这里显示的要大很多

Java方法的签名是:

public String WriteDocument(String clientPolicyReference,
                                       int systemType,
                                       int branch,
                                       String category,
                                       String PDFData) throws Exception

似乎当PDF数据变大时,小程序调用失败,JS中抛出错误'Unknown Error'。

产生此错误的数据的 PDF 文档大小约为 4Mb。

非常感谢您的任何帮助。

【问题讨论】:

  • WriteDocument方法是否成功退出?如果无法判断,可能值得在里面添加一个 try/catch。
  • 自从 QA 看到这个错误后,我在 WriteDocument 函数的开头就进行了一些登录(它是一个签名的受信任的应用程序,所以我可以写入用户主目录中的日志文件)并且不会发生。我开始怀疑失败是在方法调用时发生的。我只是不知道为什么?我已经对这个问题进行了进一步的澄清。
  • 您的小程序标签是否包含 mayscript="mayscript" ?
  • 您也可以尝试从小程序中获取表单字段值而不将其作为参数传递?
  • 不,它没有。我不知道该属性及其用法。我不知道 Java 小程序可以直接访问表单元素。这可能是值得尝试的事情。我还是有点担心我不知道为什么会这样。

标签: java javascript applet


【解决方案1】:

感谢小伙伴们的回复,但我已经解决了问题。

怎么样?我关闭了 JRE 1.6 更新 12 并在我的机器上卡住了更新 7(这是我们向使用我们网站的人推荐的版本)。

我不知道为什么更新 12 停止工作。为什么更新 7 稳定我不知道。 [叹气]

正是这样的事情让我很高兴我主要使用 .net 等“发布间隔很长”的框架。

【讨论】:

    猜你喜欢
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    • 2016-06-14
    相关资源
    最近更新 更多