Acrobat JavaScript Scripting Guide
251
SOAP and Web Services
Using SOAP and Web Services
15
// Invoke the web service:
SOAP.request({
cURL: myURL,
oRequest: echoIntegerRequest,
oAsync: mySync,
cAction: mySOAPAction
});
// The response callback function could contain the following code:
// Handle the asynchronous response:
var result = mySync.result("echoInteger");
// Display the response in the console:
console.println("Result is " + result);
Using Document/Literal Encoding
You may use document/literal encoding in your SOAP messages by assigning values to the 
following parameters of the 
request
method: 
bEncoded
: Assign a value of 
false
to this parameter.
cNamespace
: Specify a namespace for the message schema.
cResponseStyle
: Assign 
SOAPMessageStyle.JS
SOAPMessageStyle.XML
or 
SOAPMessageStyle.Message
value to this parameter.
Once this is done, fill the 
oRequest
parameter with an object literal containing the data. 
An example is given below:
// Set up two integer values to be added in a web method call:
var aInt = {soapType: "xsd:int", soapValue: "10"};
var bInt = {soapType: "xsd:int", soapValue: "4"};
// Set up the document literal:
var req = {};
req["Add"] = {a: aInt, b: bInt};
// Invoke the web service:
var response = SOAP.request({
cURL: myURL,
oRequest: req,
cAction: mySOAPAction,
bEncoded: false,
cNamespace: myNamespace,
cResponseStyle: SOAPMessageStyle.Message
});
// Display the response to the console:
var value = response[0].soapValue[0].soapValue;
console.println("ADD(10 + 4) = " + value);
Add bookmarks to pdf preview - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
add bookmarks to pdf; convert word to pdf with bookmarks
Add bookmarks to pdf preview - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
creating bookmarks pdf files; create bookmarks in pdf from excel
SOAP and Web Services
Using SOAP and Web Services
15
252
Acrobat JavaScript Scripting Guide
Exchanging File Attachments and Binary Data
As you learned earlier, the 
oRequest
parameter provides alternative options for sending 
binary-encoded data. This may be useful for sending information such as serialized object 
data or embedded images. You may embed binary information in text-based format in the 
SOAP envelope by using base64 encoding, or take advantage of the Soap With 
Attachments
®
(SwA) standard or the Message Transmission Optimization Mechanism
®
(MTOM) to send the binary data in a more efficient format. Both SwA and MTOM can 
significantly reduce network transmission time, file size, and XML parsing time. 
SwA can be used by setting the 
oRequest
parameter’s 
soapAttachment
value to 
true
, as shown in the example below. Assume 
myStream
is a 
readStream
object 
containing binary data:
// Use the SwA standard:
var SwARequest = {
"http://mydomain/methods:echoAttachment": {
dh:
{
soapAttachment: true,
soapValue: myStream
}
}
};
var response = SOAP.request ({
cURL: myURL,
oRequest: SwARequest
});
var responseString = "http://mydomain/methods:echoAttachmentResponse";
var result = response[responseString]["return"];
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. Also a preview component enables compressing and
how to add bookmark in pdf; export pdf bookmarks
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Independent component for splitting PDF document in preview without using Add necessary references: a PDF file into multiple ones by PDF bookmarks or outlines.
bookmarks pdf files; bookmarks in pdf from word
Acrobat JavaScript Scripting Guide
253
SOAP and Web Services
Using SOAP and Web Services
15
MTOM is used by additionally setting the 
request
method’s 
bEncoded
parameter to 
false
and the 
cNamespace
parameter to an appropriate value. This is illustrated in the 
following code, which creates an 
oRequest
object:
// Use the MTOM standard:
var MTOMRequest = {
"echoAttachmentDL": {
dh:
{
inclusion:
{
soapAttachment: true,
soapValue: myStream
}
}
}
};
var response = SOAP.request({
cURL: myURL,
oRequest: MTOMRequest,
bEncoded: false,
cNamespace: myNamespace
});
Converting Between String and ReadStream Information
The 
SOAP
object’s 
streamFromString
and 
stringFromStream
methods are useful 
for converting between formats. The 
streamFromString
method is useful for 
submitting data in a web service call, and the 
stringFromStream
method is useful for 
examining the contents of a response returned by a web service call. An example is shown 
below:
// Create a ReadStream object from an XML string:
var myStream = streamFromString("<mom name = 'Mary'></mom>");
// Place the information in an attachment:
this.setDataObjectContents("org.xml", myStream);
// Convert the ReadStream object back to a string and display in console:
console.println(stringFromStream(myStream));
C# PDF File Split Library: Split, seperate PDF into multiple files
Advanced component for splitting PDF document in preview without any third Add necessary references: a PDF file into multiple ones by PDF bookmarks or outlines.
delete bookmarks pdf; pdf bookmarks
C# Create PDF Library SDK to convert PDF from other file formats
editable PDF with a blank page, bookmarks, links, signatures document in C#.NET using this PDF document creating toolkit, if you need to add some text
create bookmarks pdf file; how to add a bookmark in pdf
SOAP and Web Services
Using SOAP and Web Services
15
254
Acrobat JavaScript Scripting Guide
Accessing SOAP Version Information
Acrobat 7.0 provides improved support for SOAP Version 1.1 and support for Version 1.2. To 
encode the message using a specific version, assign one of the following values to the 
request
method’s 
cVersion
parameter: 
SOAPVersion.version_1_1
(SOAP 
Version 1.1) or 
SOAPVersion.version_1_2
(SOAP Version 1.2). Its usage is shown in 
the following example:
var response = SOAP.request ({
cURL: myURL,
oRequest: myRequest,
cVersion: SOAPVersion.version_1_2
});
Accessing SOAP Header Information
You may send SOAP header information to the web service using the 
request
method’s 
oReqHeader
parameter, and access the returned header information using the 
oRespHeader
parameter. The 
oReqHeader
is identical to the 
oRequest
object, with 
the addition of two attributes:
soapActor
: the SOAP actor that should interpret the header
soapMustUnderstand
: determines whether the SOAP actor must understand the 
header contents
Their usage is shown in the following example:
// Set up the namespace to be used:
var myNamespace = "http://mydomain/methods/:";
// Create the oReqHeader parameter:
var sendHeader = {};
sendHeader[myNamespace + "testSession"] = {
soapType: "xsd:string",
soapValue: "Header Test String"
};
// Create the intially empty oRespHeader parameter:
var responseHeader = {};
responseHeader[myNamespace + "echoHeader"] = {};
// Exchange header information with the web service:
var response = SOAP.request({
cURL: myURL,
oRequest: {},
cAction: "http://mydomain/methods",
oReqHeader: sendHeader,
oRespHeader: responseHeader
});
C# powerpoint - Convert PowerPoint to HTML in C#.NET
HTML document file, converted by C#.NET PowerPoint to HTML converter toolkit SDK, preserves all the original anchors, links, bookmarks and font Add references:
creating bookmarks in pdf files; how to add bookmarks on pdf
C# Word - Convert Word to HTML in C#.NET
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB HTML converter toolkit SDK, preserves all the original anchors, links, bookmarks and font Add references
pdf create bookmarks; export pdf bookmarks to excel
Acrobat JavaScript Scripting Guide
255
SOAP and Web Services
Using SOAP and Web Services
15
Authentication
You may use the 
request
method’s 
oAuthenticate
parameter to specify how to 
handle HTTP authentication or provide credentials used in Web Service Security (WS-
Security). Normally, if authentication is required, an interface will handle HTTP 
authentication challenges for BASIC and DIGEST authentication using the SOAP header, 
thus making it possible to engage in encrypted or authenticated communication with the 
web service. This parameter helps to automate the authentication process.
The 
oAuthenticate
parameter contains two properties:
Username
: A string containing the username
Password
: A string containing the authentication credential
Its usage is shown in the following example:
// Create the oAuthenticate object:
var myAuthentication = {
Username: "myUsername",
Password: "myPassword"
};
// Invoke the web service using the username and password:
var response = SOAP.request ({
cURL: myURL,
oRequest: echoStringRequest,
cAction: mySOAPAction
oAuthenticate: myAuthentication
});
Error Handling
The 
SOAP
object provides extensive error handling capabilities within its methods. In 
addition to the standard Acrobat JavaScript exceptions, the 
SOAP
object also provides 
SOAPError
and 
NetworkError
exceptions.
SOAPError
exception is thrown when the SOAP endpoint returns a SOAPFault. The 
SOAPError
exception object will include information about the SOAP Fault code, the 
SOAP Actor, and the details associated with the fault. The 
SOAP
object’s 
connect
and 
request
methods support this exception type.
NetworkError
exception is thrown when there is a problem with the underlying HTTP 
transport layer or in obtaining a network connection. The 
NetworkError
exception 
object will contain a status code indicating the nature of the problem. The 
SOAP
object’s 
connect
request
, and 
response
methods support this exception type.
How to C#: Basic SDK Concept of XDoc.PowerPoint
Conversely, conversion from PDF to PowerPoint (.PPTX) is also split PowerPoint file(s), and add, create, insert This class describes bookmarks in a PowerPoint
bookmark pdf in preview; excel hyperlink to pdf bookmark
How to C#: Basic SDK Concept of XDoc.Word
Conversely, conversion from PDF to Word (.docx) is also and split Word file(s), and add, create, insert This class describes bookmarks in a Word document.
how to add bookmarks to pdf document; display bookmarks in pdf
SOAP and Web Services
DNS Service Discovery
15
256
Acrobat JavaScript Scripting Guide
DNS Service Discovery
Suppose the exact URL for a given service is not known, but that it is available locally 
because it has been published using DNS Service Discovery (DNS-SD). You may use the 
SOAP
object’s 
queryServices
and 
resolveService
methods to locate the service 
on the network and bind to it for communications.
The 
queryServices
method can locate services that have been registered using 
Multicast DNS (mDNS) for location on a local network link, or through unicast DNS for 
location within an enterprise. The method performs an asynchronous search, and the 
resultant service names can be subsequently bound to a network location or URL through 
the 
SOAP
object’s 
resolveService
method.
The 
queryServices
method accepts the following parameters:
cType
: The DNS SRV service name (such as "http" or "ftp")
oAsync
: A notification object used when services are located or removed (implements 
addServices
and 
removeServices
methods). The notification methods accept a 
parameter containing the following properties:
name
: the unicode display name of the service
domain
: the DNS domain for the service
type
: the DNS SRV service name (identical to 
cType
)
aDomains
: An array of domains for the query. The valid domains are 
ServiceDiscovery.local
(searches the local networking link using mDNS) and 
ServiceDiscovery.default
(searches the default DNS domain using unicast 
DNS).
C# Excel - Convert Excel to HTML in C#.NET
document file, converted by C#.NET Excel to HTML converter toolkit SDK, preserves all the original anchors, links, bookmarks and font Add necessary references:
export excel to pdf with bookmarks; how to bookmark a pdf file
How to C#: Basic SDK Concept of XDoc.Excel
Conversely, conversion from PDF to Excel (.XLSX) is also and split Excel file(s), and add, create, insert This class describes bookmarks in a Excel document.
bookmark pdf documents; create bookmarks pdf
Acrobat JavaScript Scripting Guide
257
SOAP and Web Services
DNS Service Discovery
15
An example of its usage is shown below:
// Create the oAsync notification object:
var myNotifications = {
// This method is called whenever a service is added:
addServices: function(services)
{
for (var i=0; i<services.length; i++) {
var str = "ADD: ";
str += services[i].name;
str += " in domain ";
str += services[i].domain;
console.println(str); 
}
}
// This method is called whenever a service is removed:
removeServices: function(servces)
{
var str = "DEL: ";
str += services[i].name;
str += " in domain ";
str += services[i].domain;
console.println(str); 
}
};
// Perform the service discovery:
SOAP.requestServices({
cType: "http",
oAsync: myNotifications,
aDomains: [ServiceDiscovery.local, ServiceDiscover.default]
});
Once a service has been discovered, it can be bound through the 
SOAP
object’s 
resolveService
method to a network address and port so that a connection can be 
established. The 
resolveService
method accepts the following parameters:
cType
: the DNS SRV service name (such as "http" or "ftp").
cDomain
: the domain in which the service is located.
cService
: the service name to be resolved.
oAsync
: a notification object used when the service is resolved. It implements a 
resolve
method that accepts parameters 
nStatus
(
0
if successful) and 
oInfo
(used 
if successful, contains a 
serviceInfo
object). The 
serviceInfo
object contains the 
following properties:
target
: the IP address or DNS name of the machine providing the service.
port
: the port on the machine.
info
: an object with name/value pairs supplied by the service.
SOAP and Web Services
Managing XML-based Information
15
258
Acrobat JavaScript Scripting Guide
Its usage is illustrated in the following example:
// Create the oAsync notification object:
var myNotification = {
// This method is called when the service is bound:
resolve: function(nStatus, oInfo)
{
// Print the location if the service was bound:
if (nStatus == 0){
var str = "RESOLVE: http://";
str += oInfo.target;
str += ":";
str += oInfo.port;
str += "/";
str += oInfo.info.path;
console.println(str); 
}
// Display the error code if the service was not bound:
else
console.println("ERROR: " + nStatus);
}
};
// Attempt to bind to the service:
SOAP.resolveService({
cType: "http",
cDomain: "local.",
cService: "My Web Server",
oAsync: myNotification
});
Managing XML-based Information
Acrobat JavaScript provides support for XML-based information generated within your 
workflows by providing an 
XMLData
object, which represents an XML document tree that 
may be manipulated via the XFA Data DOM. (For example, it is possible to apply an XSL 
transformation (XSLT) to a node and its children using the 
XFA
object). The 
XMLData
object provides two methods for manipulating XML documents:
parse
: Creates an object representing an XML document tree.
applyXPath
: Permits the manipulation and query of an XML document via XPath 
expressions.
You may convert a string containing XML information into a document tree using the 
XML
object’s 
parse
method, and then manipulate and query the tree using its 
applyXPath
method.
Acrobat JavaScript Scripting Guide
259
SOAP and Web Services
Managing XML-based Information
15
The 
XML
object’s 
parse
method accepts two parameters:
param1: A string containing the text in the XML document.
param2: A boolean that determines whether the root node should be ignored.
Its usage is illustrated below:
// XML string to be converted into a document tree:
myXML = "<family name = 'Robat'>\
<mom id = 'm1' name = 'Mary' gender = 'F'>\
<child> m2 </child>\
<personal>\
<income>75000</income>\
</personal>\
</mom>\
<son id = 'm2' name = 'Bob' gender = 'M'>\
<parent> m1 </parent>\
<personal>\
<income>35000</income>\
</personal>\
</son>\
</family>";
// Generate the document tree:
var myTree = XML.parse(myXML, false);
// Print mom’s name:
console.println("Mom: " + myXML.family.mom.value);
// Change son’s income:
myXML,family.son.personal.income.value = 40000;
The 
XML
object’s 
applyXPath
method accepts two parameters:
oXML
: An object representing the XML document tree.
cXPath
: A string containing an XPath query to be performed on the document tree.
In the following example, assume that 
myXML
is the document tree obtained in the 
previous example:
// Obtain mom’s information:
var momInfo = XML.applyXPath(myXML, "//family/mom");
// Save the information to a string:
momInfo.saveXML('pretty');
// Give mom a raise:
momInfo.personal.income.value = "80000";
SOAP and Web Services
Workflow Applications
15
260
Acrobat JavaScript Scripting Guide
Workflow Applications
One major impact that Acrobat JavaScript support for SOAP has is on collaboration 
workflows. A SOAP-based collaboration server can be used to share comments remotely via 
a Web-based comment repository. Through the DNS Service Discovery support, it is 
possible to enable dynamic discovery of collaboration servers, initiation workflows, and RSS 
feeds that can provide customized user interfaces, via XML, directly inside of Acrobat 7.0.
In addition, it is possible to deploy Web-based JavaScripts that always maintain the most 
updated information and processes, and to connect to those scripts via form field actions 
that invoke web services.
In the following example, a form is submitted to a server using a SOAP-based invocation:
// Populate the content object with form and SOAP information:
var location = "http://adobe.com/Acrobat/Form/submit/"
var formtype = location + "encodedTypes:FormData";
var content = new Array();
for(var i = 0; i < document.numFields; i++) {
var name = document.getNthFieldName(i);
var field = document.getField(name);
content[i] = new Object();
content[i].soapType = formtype;
content[i].name = field.name;
content[i].val = field.value;
}
// Send the form to the server:
SOAP.request({
cURL: cURL, 
oRequest: {
location + ":submitForm":
{
content: content
}
},
cAction: location + "submitForm"
}
Documents you may be interested
Documents you may be interested