2017-05-16 16 views
0

私はホストマシンとしてXubuntu 16.04を持っています。私はVirtualBoxでWindows 7を実行しています。 Windowsマシンでは、私は開発者のバージョンAdob​​e InDesign 2014サーバを持っています。生成されたファイル(InDesign WSDLのJavaクラス)とAxis 1.4で簡単なテストスクリプトを呼び出していますが、次のエラーが表示されます。 Server.userException:それでDOM例外WRONG_DOCUMENT_ERR:Adobe IndesignにSOAPリクエストを送信するとき

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を見つけます。以前は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

などのさまざまなUIから石鹸コールを、作ってみますか? –

+0

非常に単純なInDesignスクリプトを呼び出そうとしましたが、DOMやドキュメントを全く参照していません。ちょうど1をSOAPコールに返します –

+0

私は投稿を更新し、テストjsを挿入しました。あなたが今言ったことの要件を満たしているかどうかはわかりません。 @NicolaiKaint – YoloZsolo

答えて

0

あなたのpingのスクリプトはそれほど単純ではない、間違って行くことができるものがいくつかあります。 InDesign Serverが最初に動作していることを確認してください。

このスクリプトをJS試してみてください:SOAP要求はこのようなものでなければなりません

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> 

と回答は以下のようになります。

<?xml version="1.0" encoding="UTF-8"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:IDSP="http://ns.adobe.com/InDesign/soap/"> 
    <SOAP-ENV:Body> 
     <IDSP:RunScriptResponse> 
      <errorNumber>0</errorNumber> 
      <scriptResult> 
       <data xsi:type="xsd:string">success</data> 
      </scriptResult> 
     </IDSP:RunScriptResponse> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

あなたはそれを持っていない場合 - サーバーの設定を調べる必要があります。もしあなたがそれを持っていれば、一度に一つずつスクリプト行を追加して、どれが例外をスローするかを見てください。これが正しい、あなたがいないのInDesignクライアントのInDesign Serverを実行している -

また、ちょうど始めるためにSOAPUIやポストマン

関連する問題