cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

Submitting HTTP requests to Arbortext Publishing Engine

respey
2-Explorer

Submitting HTTP requests to Arbortext Publishing Engine

I was looking at this issue a while back, but I was pulled on to other issues.  I'm now back trying to figure out how to submit requests to the Arbortext Publishing Engine remotely.

I read the documentation and it appears that SOAP requests might be the way to go.  I noticed that the SOAP requests are converted to HTTP requests under the covers, so I decided to test things out.  I installed PE on a server and it appears to be working normally.  It appears that the HTTP request should be fairly straight forward, but I must be missing something.

I installed a Chrome plug-in so that I could submit HTTP GET / POST requests.  Then, I tried the following:

POST http://PE_server/e3/e3?file-type=xml&type=pdf&f=convert

Body: .ditamap file pasted directly into the message body

PDF (e3.pdf) is returned. But only the .ditamap is processed; none of the topicrefs / graphics files are processed.  At least this tells me the "process" is working.  However, I need to be able to submit the .ditamap, .dita files, and graphics files.

 

POST http://PE_server/e3/e3?type=pdf&file=C:\local_directory\rest_api_guide.ditamap&f=convert

Get the error:

<p>
e3::convert:  input file name &#39;C:\local_directory\rest_api_guide.ditamap&#39; does not exist.<p><B>Other information</B><BR>&nbsp;&nbsp;&nbsp;<B>Version:&nbsp;</B>7.0 M060 <BR>&nbsp;&nbsp;&nbsp;<B>Platform:&nbsp;</B>Windows Server 2012 R2 Standard <BR></P>

Next I tried copying all files to the PE server in a local directory and specifying the file parameter using the local directory on the PE server.  I got the same error.

 

I really want to submit a .zip file anyway, so I tried to paste the zip file itself into the request body and used the following request:

POST http://PE_server/e3/e3?file-type=zip&type=pdf&input-entry=rest_api_guide.ditamap&f=convert

 

I get the following error:

<p> Failed to create directory 'C:\Windows\TEMP\e3temp_556\zip-in\ cover_header.eps

 

The directory e3temp_556 gets created but zip-in does not.  If I create the zip-in directory on the PE server, I still get the error, but instead of zip-in, I get zip-in1 (the directory is incremented each time).

 

I am obviously doing something wrong, but I have no idea what?  I wanted to ensure that I understood how this process worked before implementing a SOAP client.  Any suggestions would be greatly appreciated.

1 REPLY 1

You're on the right path. BTW, as well as a Chrome plugin you can use the "curl" command line tool to make HTTP requests.

 

Your first approach has the limitation that you discovered, although there is a way to send all required dependencies and assets to PE along with your .ditamap (don't ask me for details, but Windchill and Editor can be configured to work with PE this way, from memory).

 

I've never tried the .zip approach so not sure about that. Finally, the local directory approach should work, but I'm guessing path names are getting mangled or something on the way through?

 

 

Announcements

Top Tags