如何从 LotusScript 代理调用 SOAP 1.2 Web 服务?
How can I call a SOAP 1.2 Web service from a LotusScript agent?
我在 windows 服务器上使用 Lotus Domino 9
我必须调用不再维护的 Soap 1.2 网络服务
Lotus Web 服务消费者 只接受 Soap 1.1 Web 服务,所以我不能使用这个很好的功能来绑定我的 Web 服务。
是否可以从我的 LotusScript 代理调用 Soap 1.2 网络服务?如果可以,需要哪些步骤?
最后我找到了使用 XMLHTTP
对象的解决方案
Sub Initialize
Dim xmlhttp As Variant
dim DOMDocument As Variant
Dim soapEnvelope As String
Dim webService As String
dim username As String
Dim password As String
Dim strxml As String
Set xmlhttp = CreateObject("Msxml2.XMLHTTP")
Set DOMDocument = CreateObject("MSXML2.DOMDocument")
webService = "http://server/path/service"
username = "user1"
password = "123456"
soapEnvelope ={<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:doc="http://checkYourOwnEnvelopeDetails.com">}
soapEnvelope =soapEnvelope & {<soap:Header/>}
soapEnvelope =soapEnvelope & {<soap:Body>}
' ...use SoapUI to know the exact envelop structure
soapEnvelope =soapEnvelope & {</soap:Body>}
soapEnvelope =soapEnvelope & {</soap:Envelope>}
DOMDocument.loadXML (soapEnvelope)
Call xmlhttp.open("POST", webService, False,username,password)
Call xmlhttp.setRequestHeader("Content-Type", "application/soap+xml;charset=UTF-8")
Call xmlhttp.setRequestHeader("Username", username)
Call xmlhttp.setRequestHeader("Password", password)
' again, use SoapUI to discover the exact name of the action
Call xmlhttp.setRequestHeader("SOAPAction", "urn:getListAll")
Call xmlhttp.send(DOMDocument.xml)
strxml = xmlhttp.responseText
...
End Sub
我在 windows 服务器上使用 Lotus Domino 9
我必须调用不再维护的 Soap 1.2 网络服务
Lotus Web 服务消费者 只接受 Soap 1.1 Web 服务,所以我不能使用这个很好的功能来绑定我的 Web 服务。
是否可以从我的 LotusScript 代理调用 Soap 1.2 网络服务?如果可以,需要哪些步骤?
最后我找到了使用 XMLHTTP
对象的解决方案
Sub Initialize
Dim xmlhttp As Variant
dim DOMDocument As Variant
Dim soapEnvelope As String
Dim webService As String
dim username As String
Dim password As String
Dim strxml As String
Set xmlhttp = CreateObject("Msxml2.XMLHTTP")
Set DOMDocument = CreateObject("MSXML2.DOMDocument")
webService = "http://server/path/service"
username = "user1"
password = "123456"
soapEnvelope ={<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:doc="http://checkYourOwnEnvelopeDetails.com">}
soapEnvelope =soapEnvelope & {<soap:Header/>}
soapEnvelope =soapEnvelope & {<soap:Body>}
' ...use SoapUI to know the exact envelop structure
soapEnvelope =soapEnvelope & {</soap:Body>}
soapEnvelope =soapEnvelope & {</soap:Envelope>}
DOMDocument.loadXML (soapEnvelope)
Call xmlhttp.open("POST", webService, False,username,password)
Call xmlhttp.setRequestHeader("Content-Type", "application/soap+xml;charset=UTF-8")
Call xmlhttp.setRequestHeader("Username", username)
Call xmlhttp.setRequestHeader("Password", password)
' again, use SoapUI to discover the exact name of the action
Call xmlhttp.setRequestHeader("SOAPAction", "urn:getListAll")
Call xmlhttp.send(DOMDocument.xml)
strxml = xmlhttp.responseText
...
End Sub