Copy link to clipboard
Copied
Hello everyone. I have experienced the following situation.
I have an interactive form designed with Adobe LiveCycle Designer ES4 which is then executed with Adobe Acrobat Standard DC (Version: 2015.006.30457). The form is utilizing the functionality of the Net.SOAP object for obtaining some data.
When the content-type of the response was "text/xml" or "application/json", for example when requesting SharePoint data, all worked as expected for both synchronous and asynchronous calls.
However, for the response below when the call was made synchronously Adobe Standard generated RaiseError pointing to the Net.SOAP.request() method. If, alternatively, the call was made asynchronously the callback function was not invoked and the rest of the code continued executing as if nothing had happened. In the latter case though upon exiting Adobe Acrobat, "Adobe Acrobat DC has stopped working" and “An unhandled exception occurred in Acrobat.exe [ some number ]” messages were generated.
Response raw data from the server:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: multipart/related; boundary="MIMEBoundary_67f476708814c228e21476171933b4c45e524344efdc9e24"; type="application/xop+xml"; start="<0.77f476708814c228e21476171933b4c45e524344efdc9e24@apache.org>"; start-info="text/xml"
Date: Tue, 20 Nov 2018 06:33:57 GMT
Content-Length: 1781
--MIMEBoundary_67f476708814c228e21476171933b4c45e524344efdc9e24
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
Content-ID: <0.77f476708814c228e21476171933b4c45e524344efdc9e24@apache.org>
<?xml version='1.0' encoding='UTF-8'?>?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
< ... some valid XML content ... ></soapenv:Envelope>
--MIMEBoundary_67f476708814c228e21476171933b4c45e524344efdc9e24--
I have searched on the Internet for any clues but failed to find anything related.
Has anyone experienced an issue like that? I'll much appreciate any suggestion how to resolve it.
Thank you!
Copy link to clipboard
Copied
Does this exact same SOAP call work from another source, such as a web page or server script?
Copy link to clipboard
Copied
Hello Thom, thank you for your question.
Actually I have created a SOAP project in SOAPUI by importing the relevant WSDL file. I then created two alternative Net.SOAP calls using the "connect" and "response" methods, and one more using the Net.HTTP "request" method. I monitored the calls with Fiddler Web Debugger. For each of the three calls the server responded exactly as it did to the SOAPUI call, and the data returned were identical. I executed the call within a try/catch statement and the thrown Error object parameters are as follows (the values of "lineNumber" and "columnNumber" may vary depending on the call method that was used).
name : RaiseError
message :
extMessage : RaiseError:
Net.SOAP.request:319:XFA:ProductDocuments[0]:AsyncStore[0]:change
===>
fileName : XFA:ProductDocuments[0]:AsyncStore[0]:change
lineNumber : 319
number : 12
raiseSystem : 255
raiseCode : 65535
columnNumber : 0
Copy link to clipboard
Copied
Well then, sounds like a problem with Acrobat, either a bug, or possibly an incompatibility with some detail of the transaction. Have you tried this from a regular PDF? There may be something about the LC JS engine that's an issue.
Copy link to clipboard
Copied
I haven't tried it from a regular PDF. Instead I tried both the LC built-in data connection functionality and the FormCalc POST function. The former did not generate any errors, but it did not display any received data either. Surprisingly the latter sort of worked. I received the data as a string rather than an object. That's still okay, however, the call is synchronous and once the it is made it may take about half a minute before the form becomes responsive again. Considering that I need to make the calls asynchronously this limitation sort of rules this option out.
Copy link to clipboard
Copied
norm1973, I am assuming that you're doing this in Acrobat and not in browser. I tried this with latest Acrobat 2015 version and I didn't encounter any crash but it might be because I'm not able to connect to the server you have mentioned in javascript. I get following error when I click Net.HTTP.request() button.
HTTP request
HTTP response received
HTTP exception parameters -> ({error:-6, text:"The server could not be located", type:"NetworkError"})
With Soap.connect() button I get below error:
SOAP.connect()
Endpoint -> http://172.21.44.33:7020/enovia/services/Version?wsdl
try/catch exception ->
fileName : Doc:Init
lineNumber : 33
columnNumber : 3
Copy link to clipboard
Copied
Hello, thank you for looking into this case.
Yes, it is done in Adobe and not in a browser. The server I am trying to obtain data from is on an internal network and cannot be accessed from outside. I believe however, that such a situation will occur with any server returning multipart/related application/xop+xml type content. Furthermore, a RaiseError occurrs only when the calls are made synchronously. Asynchronous calls, like those with Net.HTTP.request() lead to Adobe Acrobat DC crashing on exit with an unhandled exception error.
What I have meanwhile noticed is that when I send MTOM request ( with a Net.SOAP.request() ) the XML node with the attachment reference uses http://www.w3.org/2003/06/soap/features/binary-inclusion namespace, and the request is sent as multipart/related application/octet-stream type content, while the server responding in application/xop+xml uses http://www.w3.org/2004/08/xop/include namespace for its attachments. Perhaps the Net.SOAP object can only process MTOM responses that are in the same format as the MTOM requests it can generate.