Этот вопрос может показаться знакомым, но я обнаружил несколько более подходящую информацию и попробовал некоторые другие вещи (которые подробно описаны ниже), чтобы избежать путаницы, я создал другой вопрос.
Вот код JavaScript (на странице aspx):
function CallApplet(clientRef, system, branch, category, pdfXML)
{
AppletReturnValue = document.DocApplet.WriteDocument(clientRef, apmBROOMS, branch, category, pdfXML);
//do something with the return value here
}
pdfXML получен из pdfData, который является скрытым полем на странице, содержащей XML, содержащий данные в формате base64 в формате pdf , которые передаются в Java-апплет. Все остальные значения, передаваемые методу WriteDocument апплета, имеют допустимые значения в пределах диапазона.
XML похож на это
<Documents>
<FileName>AFileName</FileName>
<PDF>JVBERiDAzOTY1NzMwIDAwMDAwIG4NCjAwMDM5NjU4NDcgMDAwMDAgbg0KMDAwMzk2NTk2</PDF>
</Documents>
(содержание элемента PDF намного больше, чем показано выше, я обрезал данные из-за нехватки места; данные PDF имеют размер около 4 МБ)
Подпись метода Java:
public String WriteDocument(String clientPolicyReference,
int systemType,
int branch,
String category,
String PDFData) throws Exception
Что происходит, так это то, что каким-то образом данные строки xml теряются, и к тому времени, когда кто-то попадает в Java, значение параметра PDFData равно нулю. Я отладил в JS, и у параметра pdfXML метода js CallApplet определенно есть содержимое.
Я также пытался добавить тэг param в тэг апплета и установить его значение перед вызовом апплета и использовал GetParameter () из апплета. В результате получается пустая строка, а не ноль.
Эта проблема возникает не на каждой машине. Например, в нашем отделе контроля качества этого не происходит, но поскольку это проблема клиента, один из наших клиентов, вероятно, это увидит.
У меня совершенно нет идей, поэтому любая помощь будет оценена (с очевидным условием, что, к сожалению, мне нужно, чтобы это работало, а не перепроектировало и устаревшие системы, с которыми связывается апплет, чтобы избежать использования апплета. )