Expand my Community achievements bar.

additional string variable as input to process

Avatar

Former Community Member

I have a very simple web service print process that takes XML from the requester, combines with a statically defined XDP file, and produces PDF output. The server is called from a Classic ASP application. The web service works just fine, but I want to use it generically and have the requester provide the name of the template XDP file in addition to the XML. However many XDP templates will be placed on the server, and to use them the generic print process will be called providing the name of the template file and the XML to merge with it.

I edited the XML request to include the additional variable. The XML response I got said "The input BLOB object should have attachmentID, remoteURL, or binaryData field specified". I tried two things. I tried including a remoteURL tag and putting a file on the Classic ASP server containing the template name. I then tried a binaryDatatag followed by a CDATA tag. Neither of these worked. The XML response says "xmldata: Content is not allowed in prolog., cause: Content is not allowed in prolog."

I have no idea how to resolve this. If I remove the extra variable from the process and remove the extra variable from the supplied XML, I get back a URL to the created PDF on the LiveCycle server, which is what's supposed to happen. If I include an additional variable in the process and in the supplied XML, the XML is rejected.

Presently I'm using a VBScript file for testing which is pasted below. Help would be appreciated. Thanks

dim fs,writer,xml
xml = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" & _
        "<soapenv:Body>" & _
          "<intf:invoke xmlns:intf=""http://adobe.com/idp/services?wsdl"">" & _
            "<template_name>" & _
              "<remoteURL>http://j11070:82/travel/test/TemplateName.ref</remoteURL>" & _
            "</template_name>" & _
            "<template_xml>" & _
              "<remoteURL>http://j11070:82/travel/test/FY10_IN-STATE_LC_XSD.xml</remoteURL>" & _
            "</template_xml>" & _
          "</intf:invoke>" & _
        "</soapenv:Body>" & _
      "</soapenv:Envelope>"

set req = createobject("Microsoft.XMLHTTP")
req.open "POST", "http://d97510:8080/soap/services/DHSIP01Travel", false
req.setrequestheader "Content-Type", "application/soap+xml; charset=UTF-8"
req.setrequestheader "SOAPAction","invoke"
req.send xml
set fs = createobject("Scripting.FileSystemObject")
set writer = fs.createtextfile(".\009.xml",true)
writer.Write req.responseText
writer.close
msgbox "done"

2 Replies

Avatar

Former Community Member

The file on the Classic ASP server named TemplateName.ref contains a single line with no line feed:

TravelVoucher.xdp

Should this file also be in XML? If so, what should be the structure of it? Thanks

Avatar

Former Community Member

This is resolved by the following  syntax in the VBScript file. There were issues with the server  preventing the process from running correctly. A remote URL is not  needed. The string value should be placed directly between the XML tags  that name the string in the process.

dim fs,writer,xml
xml = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" & _
        "<soapenv:Body>" & _
          "<intf:invoke xmlns:intf=""http://adobe.com/idp/services?wsdl"">" & _
            "<template_name>/GenericProcesses/Templates/TravelVoucher.xdp</template_name>" & _
            "<template_xml>" & _
              "<remoteURL>http://j11070:82/travel/test/TravelVoucher.xml</remoteURL>" & _
            "</template_xml>" & _
          "</intf:invoke>" & _
        "</soapenv:Body>" & _
      "</soapenv:Envelope>"

set req = createobject("Microsoft.XMLHTTP")
req.open "POST", "http://d97510:8080/soap/services/GenericTemplatePrint", false
req.setrequestheader "Content-Type", "application/soap+xml; charset=UTF-8"
req.setrequestheader "SOAPAction","invoke"
req.send xml
set fs = createobject("Scripting.FileSystemObject")
set writer = fs.createtextfile(".\009.xml",true)
writer.Write req.responseText
writer.close
msgbox "done"