DataFlex
DataFlex
HTTP SOAP 1.1 Request and Response using POST
See more HTTP Examples
Demonstrates a working SOAP 1.1 request and response using POST with a live server. You may try running this example with the URLs and data provided. See http://secure.smartbearsoftware.com/samples/testcomplete10/webservices/Service.asmx?WSDL for detailsChilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
Handle hoSoapXml
Variant vReq
Handle hoReq
Variant vResp
Handle hoResp
Handle hoXmlResponse
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// --------------------------------------------------------------------------------
// Also see Chilkat's Online WSDL Code Generator
// to generate code and SOAP Request and Response XML for each operation in a WSDL.
// --------------------------------------------------------------------------------
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// Generate the following XML:
// <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:smar="http://smartbear.com">
// <soapenv:Header/>
// <soapenv:Body>
// <smar:HelloWorld/>
// </soapenv:Body>
// </soapenv:Envelope>
Get Create (RefClass(cComChilkatXml)) To hoSoapXml
If (Not(IsComObjectCreated(hoSoapXml))) Begin
Send CreateComObject of hoSoapXml
End
Set ComTag Of hoSoapXml To "soapenv:Envelope"
Get ComAddAttribute Of hoSoapXml "xmlns:soapenv" "http://schemas.xmlsoap.org/soap/envelope/" To iSuccess
Get ComAddAttribute Of hoSoapXml "xmlns:smar" "http://smartbear.com" To iSuccess
Send ComUpdateChildContent To hoSoapXml "soapenv:Header" ""
Send ComUpdateChildContent To hoSoapXml "soapenv:Body|smar:HelloWorld" ""
Get ComGetXml Of hoSoapXml To sTemp1
Showln sTemp1
Get Create (RefClass(cComChilkatHttpRequest)) To hoReq
If (Not(IsComObjectCreated(hoReq))) Begin
Send CreateComObject of hoReq
End
Set ComHttpVerb Of hoReq To "POST"
Set ComSendCharset Of hoReq To False
Send ComAddHeader To hoReq "Content-Type" "text/xml; charset=utf-8"
Send ComAddHeader To hoReq "SOAPAction" "http://smartbear.com/HelloWorld"
Set ComPath Of hoReq To "/samples/testcomplete10/webservices/Service.asmx"
Get ComGetXml Of hoSoapXml To sTemp1
Get ComLoadBodyFromString Of hoReq sTemp1 "utf-8" To iSuccess
Set ComFollowRedirects Of hoHttp To True
Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
If (Not(IsComObjectCreated(hoResp))) Begin
Send CreateComObject of hoResp
End
Get pvComObject of hoReq to vReq
Get pvComObject of hoResp to vResp
Get ComHttpSReq Of hoHttp "secure.smartbearsoftware.com" 443 True vReq vResp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatXml)) To hoXmlResponse
If (Not(IsComObjectCreated(hoXmlResponse))) Begin
Send CreateComObject of hoXmlResponse
End
Get ComBodyStr Of hoResp To sTemp1
Get ComLoadXml Of hoXmlResponse sTemp1 To iSuccess
Get ComGetXml Of hoXmlResponse To sTemp1
Showln sTemp1
// A successful XML response:
// <?xml version="1.0" encoding="utf-8" ?>
// <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
// <soap:Body>
// <HelloWorldResponse xmlns="http://smartbear.com">
// <HelloWorldResult>Hello World</HelloWorldResult>
// </HelloWorldResponse>
// </soap:Body>
// </soap:Envelope>
End_Procedure