Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
SOAP ExampleHow to send a SOAP request and get the XML response. <?php $req = new COM("Chilkat.HttpRequest"); $http = new COM("Chilkat.Http"); // Any string unlocks the component for the 1st 30-days. $success = $http->UnlockComponent('Anything for 30-day trial'); if ($success != true) { 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 COM("Chilkat.Xml"); $soapReq->Encoding = 'utf-8'; $soapReq->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() . "\n"; // Build an SOAP request. $req->UseXmlHttp($soapReq->getXml()); $req->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 = false; // resp is a Chilkat.HttpResponse $resp = $http->SynchronousRequest($domain,$port,$ssl,$req); if (is_null($resp)) { print $http->lastErrorText() . "\n"; } else { // The XML response is in the BodyStr property of the response object: $soapResp = new COM("Chilkat.Xml"); $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 COM("Chilkat.Xml"); $xmlResp->LoadXml($soapResp->content()); // Display the XML response: print $xmlResp->getXml() . "\n"; } ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.