我有Xubuntu 16.04作为主机,我在VirtualBox上运行Windows 7。在Windows机器上,我有开发人员版本 Adobe InDesign 2014 Server 。我用生成的文件(InDesign WSDL的java类)和Axis 1.4调用一个简单的测试脚本,但是我得到了以下错误。
Caused by: org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at localhost.Service_wsdl.ServiceStub.runScript(ServiceStub.java:305)
更深入地调试我也发现错误 AxisFault faultCode:Server.userException 。整个情况很奇怪,因为在我拥有Xubuntu 14.04并且我猜想早期版本的VBox之前,一切都进展顺利。我现在坚持了2个月。我看不出以前的系统和我当前的系统有什么区别。
我们有一个简单的测试,看看IDS是否正在运行和运行。我们使用以下JavaScript代码从Java调用Ping测试:
var scriptName = "BmpPing";
var scriptSource = app.scriptArgs.getValue('test');
app.consoleout('---------------------------');
app.consoleout(scriptName + " invoked: " + scriptSource);
var bmp = new File (app.activeScript.parent.fsName + '/bmp.jsx');
$.evalFile(bmp);
bmp_timediff.setStartTime();
bmp_log.debug(scriptName + " started on \"" + scriptSource + "\"...");
result = bmp_json.stringify({"PING": "PONG"});
bmp_log.info("BmpPing finished with result: '" + result + "' in: " +
(bmp_timediff.getDiff() / 1000) + " bmp seconds");
bmp_log.debug('============================');
result;
答案 0 :(得分:0)
你ping脚本并不是那么简单,有很多事情可能会出错。尝试验证您的InDesign Server是否正常工作。
试试这个js脚本:
.as-console-wrapper { max-height: 100% !important; top: 0; }
肥皂请求应该是这样的:
main();
function main() {
return ("success");
// or return 1;
}
并且回复应该是:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://ns.adobe.com/InDesign/soap/"><soapenv:Body>
<soap:RunScript>
<runScriptParameters>
<scriptLanguage>javascript</scriptLanguage>
<scriptFile>C:/InDesign/test.jsx</scriptFile>
</runScriptParameters>
</soap:RunScript>
</soapenv:Body>
</soapenv:Envelope>
如果您没有 - 您需要查看服务器的设置。如果你有它 - 开始一次添加一个脚本行,看看哪一个抛出异常。
另外,尝试从不同的ui进行soap调用,如SOAPUI或Postman