Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
SOAP ExampleHow to send a SOAP request and get the XML response.
use chilkat(); $req = new chilkat::CkHttpRequest(); $http = new chilkat::CkHttp(); # Any string unlocks the component for the 1st 30-days. $success = $http->UnlockComponent("Anything for 30-day trial"); if ($success != 1) { print $http->lastErrorText() . "\n"; exit; } # Build this XML SOAP request: # <?xml version="1.0" encoding="utf-8"?> # <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" # xmlns:xsd="http://www.w3.org/2001/XMLSchema" # xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> # <soap:Body> # <GetQuote xmlns="http://www.webserviceX.NET/"> # <symbol>string</symbol> # </GetQuote> # </soap:Body> # </soap:Envelope> $soapReq = new chilkat::CkXml(); $soapReq->put_Encoding("utf-8"); $soapReq->put_Tag("soap:Envelope"); $soapReq->AddAttribute("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance"); $soapReq->AddAttribute("xmlns:xsd","http://www.w3.org/2001/XMLSchema"); $soapReq->AddAttribute("xmlns:soap","http://schemas.xmlsoap.org/soap/envelope/"); $soapReq->NewChild2("soap:Body",""); $soapReq->FirstChild2(); $soapReq->NewChild2("GetQuote",""); $soapReq->FirstChild2(); $soapReq->AddAttribute("xmlns","http://www.webserviceX.NET/"); $soapReq->NewChild2("symbol","MSFT"); $soapReq->GetRoot2(); print $soapReq->getXml() . "\r\n"; # Build an SOAP request. $req->UseXmlHttp($soapReq->getXml()); $req->put_Path("/stockquote.asmx"); $req->AddHeader("SOAPAction","http://www.webserviceX.NET/GetQuote"); # Send the HTTP POST and get the response. Note: This is a blocking call. # The method does not return until the full HTTP response is received. $domain = "www.webservicex.net"; $port = 80; $ssl = 0; # resp is a CkHttpResponse $resp = $http->SynchronousRequest($domain,$port,$ssl,$req); if ($resp eq null ) { print $http->lastErrorText() . "\r\n"; } else { # The XML response is in the BodyStr property of the response object: $soapResp = new chilkat::CkXml(); $soapResp->LoadXml($resp->bodyStr()); # The response will look like this: # <?xml version="1.0" encoding="utf-8"?> # <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" # xmlns:xsd="http://www.w3.org/2001/XMLSchema" # xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> # <soap:Body> # <GetQuoteResponse xmlns="http://www.webserviceX.NET/"> # <GetQuoteResult>string</GetQuoteResult> # </GetQuoteResponse> # </soap:Body> # </soap:Envelope> # Navigate to soap:Body $soapResp->FirstChild2(); # Navigate to GetQuoteResponse $soapResp->FirstChild2(); # Navigate to GetQuoteResult $soapResp->FirstChild2(); # The actual XML response is the data within GetQuoteResult: $xmlResp = new chilkat::CkXml(); $xmlResp->LoadXml($soapResp->content()); # Display the XML response: print $xmlResp->getXml() . "\r\n"; } |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.