Talking to External inDesign server with ColdFusion

In the previous post I wrote about how to connect to inDesign web services using ColdFusion. But if your inDesign server is running on a deferent IP from your ColdFusion server, you might get an error:

Cannot perform web service invocation runScript.

ColdFusion gives you this message not because your network administrator blocked the port 18383, you know the it's open because you can access http://my-indesign-server-ip-goes-here:18383/service?wsdl from the ColdFusion box. Also nothing wrong with your ColdFusion code, because you just copy and pasted it form my previous post and updated only the InDesign server URL, in CFOBJECT webservice argument.

You get this message because inDesign server’s web service engine is nothing to tweet home about. It could not accept requests from external IPs. Now you need a workaround and here it is:

  1. Install a web server (IIS would do), in your inDesign server box.
  2. Download inDesign server SDK relevant to your inDesign server and unzip it.
  3. Open the file IDSP.wsdl (in the folder : \docs\references) with the text editor and find the line <SOAP:address location="http://localhost:80"/> and replace the localhost with your inDesign server’s IP address or domain name and the port. Let’s say your inDesign server’s IP address is 192.168.1.100 and inDesign instance is running on port 18383, then this line should be <SOAP:address location="http://192.168.1.100:18383"/>.
  4. Copy the file into your web server folder. Now your ColdFusion box can access http://my-indesign-server-ip-goes-here/IDSP.wsdl. Use this URL as your webservice.

   1: <cfobject
   2:     name         = "ind"
   3:     webservice = "http://my-indesign-server-ip-goes-here/IDSP.wsdl"
   4:     type            = "webservice">
Show/Hide Line Numbers . Full Screen . Plain

That’s it. Now your ColdFusion box can connect to your InDesign server. Have Fun. Lot of it.

Name  
(required)
Email  
(required - never shown publicly)
Web Site  
Notify me of new comments via email.
Notify me of replies via email.