SOAP is a best technology that can help you in developing web services and amazing applications.
Many times we heard about soap but we really dont know about what is soap.
What is soap?
SOAP, the Simple Object Access Protocol, is the powerhouse of web services. It’s a highly adaptable, object-oriented protocol that exists in over 80 implementations on every popular platform, including AppleScript, JavaScript, and Cocoa. It provides a flexible communication layer between applications, regardless of platform and location. As long as they both speak SOAP, a PHP-based web application can ask a C++ database application on another continent to look up the price of a book and have the answer right away. Another Internet Developer article shows how to use SOAP with AppleScript and Perl.
If you want to use the soap then you need to install libxml on your server. In your PHP.ini file
you need to check following setting are available or not if not then put it.
| soap.wsdl_cache_enabled | 1 | PHP_INI_ALL | |
| soap.wsdl_cache_dir | /tmp | PHP_INI_ALL | |
| soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL | |
| soap.wsdl_cache | 1 | PHP_INI_ALL | |
| soap.wsdl_cache_limit | 5 | PHP_INI_ALL |
SOAP is an XML-based web service protocol. The most common external specifications used by a SOAP-based service is WSDL to describe its available services, and that, in turn, usually relies on XML Schema Data (XSD) to describe its data types. In order to “know” SOAP, it would be extremely useful to have some knowledge of WSDL and XSD. This will allow one to figure out how to use the majority of SOAP services.
Here is the basic WSDL Structure
<definitions> <types> … </types> <message> … </message> <portType> … </portType> <binding> … </binding> </definitions>
Filled example:
<xsd:complexType name="ResultElement"> <xsd:all> <xsd:element name="summary" type="xsd:string"/> <xsd:element name="URL" type="xsd:string"/> <xsd:element name="snippet" type="xsd:string"/> <xsd:element name="title" type="xsd:string"/> <xsd:element name="cachedSize" type="xsd:string"/> <xsd:element name= "relatedInformationPresent" type="xsd:boolean"/> <xsd:element name="hostName" type="xsd:string"/> <xsd:element name= "directoryCategory" type="typens:DirectoryCategory"/> <xsd:element name="directoryTitle" type="xsd:string"/> </xsd:all> </xsd:complexType>
Soap is nothing but xml format web service to talk with cross domain servers. There are othere ways also to create web services. XML-RPC is good one and that is not to much hard to learn also. Use can use following code in your PHP file.
// create a soap object
$Soap_Object = new SoapClient("http://anywebsite.com/any.wsdl", array('trace' => true));
// setting params to authenticate to web service
$params_Authenticate = array('username' => 'username', 'password' => 'password');
// authenticate to web service
$do_login= $Soap_Object->login($params_Authenticate);
// take sesstion id from anywebsite.com
$your_session_id= $do_login->loginReturn->sessionId;
// Set the query parameters.
$soap_query = 'select book_id from Time where book = 52435455';
paramsQry = array('queryString' => $soap_query);
// Make a soap call.
$objResponse = $Soap_Object->query(paramsQry);
header('Content-Type: text/xml; ');
print($Soap_Object->__getLastRequest());
Soap is nothing but a web service with xml so use PHP functions to create the Soap service. Following graph will help you to understand more and in detail about SOAP.



