how to use soap with php

Written by Sony on 23 February 2010 in , , | 11 Comments

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_enabled1PHP_INI_ALL
soap.wsdl_cache_dir/tmpPHP_INI_ALL
soap.wsdl_cache_ttl86400PHP_INI_ALL
soap.wsdl_cache1PHP_INI_ALL
soap.wsdl_cache_limit5PHP_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.

11 Responses to “how to use soap with php”

  1. Im glad I discovered this webpage, I couldnt discover any information on this topic prior to. I also run a site and in case you are ever interested in doing some guest writing for me please feel free to let me know, i’m always look for people to check out my web site. Please stop by and leave a comment sometime!

  2. This is a outstanding post, but I was wondering how do I suscribe to the RSS feed?

  3. Extenze says:

    I found your blog on google and read a few of your other posts. I just added you to my Google News Reader. Keep up the good work Look forward to reading more from you in the future.

  4. I have read a few of the articles on your website now, and I really like your style of blogging. I added it to my favorites website list and will be checking back soon. Please check out my site as well and let me know what you think.

  5. Im pleased I located this blog site, I couldnt get any info on this subject matter before. Also run a website and if you wish to ever serious in doing a bit of guest writing for me please feel free to let me know, im always look for people to check out my web site. Please stop by and leave a comment sometime!

  6. Naturally, what a good site and informative posts, I’ll add backlink – bookmark this web site? Regards,Reader.

  7. provestra says:

    I found your blog on google and read a few of your other posts. I just added you to my Google News Reader. Keep up the good work Look forward to reading more from you in the future.

  8. I’ve been visiting your blog for a while now and I always find a gem in your new posts. Thanks for sharing.

  9. Super-Duper web site! I’m loving it!! Will occur again – taking you feeds also, Regards.

  10. I added your blog to my RSS feed, thanks for the post! Looking forward to another post soon! Thanks!

  11. I just sent this post to a bunch of my friends as I agree with most of what you’re saying here and the way you’ve presented it is awesome.

Leave a Reply

Wordpressapi is developer code book.
wordpressapi on Facebook
© 2010 Wordpressapi. All Rights Reserved. Reproduction without explicit permission is prohibited.