4 Replies Latest reply on Jun 30, 2008 9:27 PM by (Alik)

    How to call InDesign SOAP?

      I'm new to InDesign server. I started InDesign server using command indesignserver port 18383. Running HelloWorld.jsx via TestClient is working fine . But now I need write a PHP program to call InDesign SOAP API. I did some searching but I could not figure out what the parameters and path are. My InDesign server is on
      and I'm using PHP 5's SOAP extension. If there is sample code, that would be great. Any help would be appreciated.

      1, Where I can find following information:
      What is Method Name? such as SomeFunction
      what is Endpoint? such as URL http://x.x.x.x:8080/soap
      what is SOAPAction? such as urn:xmethods-delayed-quotes#SomeFunction
      what is Method Namespace URI? such as urn:xmethods-delayed-quotes
      What is Input Parameters?
      What is Output Parameters?

      2, use wsdl - but what is the path of some.wsdl? and what is SomeFunction? I know there is function called RunScript

      Following are some sample PHP code I need:

      $client = new SoapClient("some.wsdl");

      $client = new SoapClient("some.wsdl", array('soap_version' => SOAP_1_2));

      $client = new SoapClient("some.wsdl", array('login' => "some_name",
      'password' => "some_password"));

      $client = new SoapClient("some.wsdl", array('proxy_host' => "localhost",
      'proxy_port' => 8080));

      $client = new SoapClient("some.wsdl", array('proxy_host' => "localhost",
      'proxy_port' => 8080,
      'proxy_login' => "some_name",
      'proxy_password' => "some_password"));

      $client = new SoapClient("some.wsdl", array('local_cert' => "cert_key.pem"));

      $client = new SoapClient(null, array('location' => "http://localhost/soap.php",
      'uri' => "http://test-uri/"));

      $client = new SoapClient(null, array('location' => "http://localhost/soap.php",
      'uri' => "http://test-uri/",
      'style' => SOAP_DOCUMENT,
      'use' => SOAP_LITERAL));

      $client = new SoapClient("some.wsdl",

      $server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));


        • 1. Re: How to call InDesign SOAP?
          kirk mattson Adobe Employee
          The InDesign Server WSDL is included in the SDK. For example, for a standard install on Windows, the WSDL is at:<br /><br />C:\Program Files\Adobe\Adobe InDesign CS2 4.0.2 Products SDK\source\components\soapserver\gsoap\IDSP.wsdl<br /><br />That is a static WSDL, however, and is probably not accurate for your current setup. About three or four lines from the bottom, you'll see a "<SOAP:address ..." line. To have it work for your setup, you should change that line to:<br /><br /><SOAP:address location=""/><br /><br />InDesign Server only exposes one function, called simply RunScript.
          • 2. Re: How to call InDesign SOAP?
            Level 1
            Thanks krik,

            I have another question, how I can get response or results from InDesign server SOAP call?
            • 3. Re: How to call InDesign SOAP?
              Rajeev Kumar MIL Level 1
              Hi robertx,

              Through thread I came to know that you are able to run testclient. Please tell me how you have done it in fact I am also trying to do it but not able to do it.
              See below what I have done:
              I have run the Indesign server on port 19865, the I opened a new command window and given the path of testclient folder, now it also want pathname and scriptname, script name is ok but what is the pathname.

              I am using local system for the indesignserver.

              Please help me.
              • 4. Re: How to call InDesign SOAP?
                see here: http://www.attractivestyle.com/articles.html