2

node/express で SOAP リクエストを indesign サーバーに送信しようとしています。

Soap.ui または Postman からのリクエストの投稿は正常に機能します。ブラウザ エラーで「soap」ページを読み込んでいます。

また、新しいサンプル スクリプトをいくつか使用してノード クライアントを試してみたところ、動作するので、インストールは問題ないはずです。

これは私がこれまでに持っているものです:

    router.get('/soap', function(req, res, next) {

      var url = 'http://<server_ip>:8088/service?wsdl';

      var args = { "IDSP:RunScriptParameters" :
                         { 'scriptLanguage': 'javascript',
                           'scriptFile': 'C:/indesign_scripts/test.jsx'
                         }
                   };


      soap.createClient(url, function(err, client){
          client.Service.Service.RunScript(args, function(err, result) {
            if (err)   console.log(err);
            console.log(result);
          });
  });

client.describe() は以下を返します:

{ Service: 
   { Service: 
      { RunScript: [Object],
        BeginSession: [Object],
        EndSession: [Object] } } }

RunScript オブジェクトを使用しようとしています。

client.describe().Service.Service.RunScript:

{ input: 
   { runScriptParameters: 
      { scriptText: 'xsd:string',
        scriptLanguage: 'xsd:string',
        scriptFile: 'xsd:string',
        'scriptArgs[]': [Object],
        targetNSAlias: 'IDSP',
        targetNamespace: 'http://ns.adobe.com/InDesign/soap/' } },
  output: 
   { errorNumber: 'xsd:int',
     errorString: 'xsd:string',
     scriptResult: 
      { data: 'xsd:anyType',
        targetNSAlias: 'IDSP',
        targetNamespace: 'http://ns.adobe.com/InDesign/soap/' } } }

コンソールに次のエラーが表示されます。

[Error: connect ECONNREFUSED 127.0.0.1:8088]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  address: '127.0.0.1',
  port: 8088 }

Indesign Server wsdl は次の場所で表示できます。

https://gist.github.com/tomtaylor/1034317

これはargs変数形式のものだと思います。

4

2 に答える 2

1

以下の行を追加することで、この問題を修正できます

client.setEndpoint('http://<server_ip>:8088');
于 2016-07-17T11:27:11.953 に答える