Manage Learn to apply best practices and optimize your operations.

Xml Over Http

In today's growing technology, it is very important that different systems can
talk with each other. XML is just one of the many ways that this can be done.

The following example creates an XML document and sends it over HTTP to some
URL. Then it processes the returned XML that the URL would return back.

The code uses Microsoft's XML functionality which limits the operating systems
that this can run on (Win32 platform). The code can also be written in java
using IBM xml4j library.

For simplicity sake I designed the code assuming that the returned XML page
only has one node. This can be changed to loop through the nodes.

Hope this helps.

'Code specifics
Code is run from a button click of a form
The form has 4 fields on it (txtSend,txtSent,XMLRet, and IsPalidrome)
The url is an ASP file that determines if the text (XML doc) sent to it is a
palidrome

If you need the ASP code just let me know and I can send it to you.
Dim wk As New NotesUIWorkSpace
Dim uidoc As NotesUIDocument
Dim txtURN As String

Set uidoc = wk.CurrentDocument

Dim objSendXMLDOM As Variant
Dim objReceiveXMLDOM As Variant
Dim objXMLHTTP As Variant
Dim objXMLNode As Variant
Dim sentXML As String


Set objSendXMLDOM = CreateObject("Microsoft.FreeThreadedXMLDOM")
Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
Set objReceiveXMLDOM = CreateObject("Microsoft.FreeThreadedXMLDOM")
txtURN = "http://testserver/palindrome.asp"

' Load the document using a string - rather than build it with the DOM
(sample shortcut)
sentXML = "<?xml version=""1.0""?>&LTpalindrome>" & uidoc.document.txtSend(0) &
"</palindrome>"
uidoc.document.txtSent = sentXML
With objSendXMLDOM
.async = False
.loadXML sentXML
End With


' Send the XML DOM using a POST - note async is OFF
With objXMLHTTP
.open "POST", txtURN, False
.send objSendXMLDOM
End With


' Receive the Document and Parse the Response
With objReceiveXMLDOM
.async = False
.loadXML objXMLHTTP.responseText
Set objXMLNode = .selectSingleNode("response")
End With

uidoc.document.XMLRet = objXMLHTTP.responseText

If objXMLNode.Text = "True" Then
uidoc.Document.IsPalidrome = "0"
Else
uidoc.Document.IsPalidrome = "1"
End If

uidoc.Refresh

Dig Deeper on Domino Resources - Part 4

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.

-ADS BY GOOGLE

SearchWindowsServer

Search400

  • iSeries tutorials

    Search400.com's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...

SearchDataCenter

SearchContentManagement

Close