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 192.168.0.150:18383
      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?

      Or
      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",
      array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));

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


      Thanks

      Robert
        • 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="http://192.168.0.150:18383"/><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.
              Thanks.....
              • 4. Re: How to call InDesign SOAP?
                see here: http://www.attractivestyle.com/articles.html