This is the beginner’s, beginner intro for getting SOAP working with PHP. Quite a bit more basic than most, simply because it’s all new to me and I wanted to write it all down and, possibly, save you the same headache’s I’ve had the last couple days.
Web services are software systems designed to support interoperable machine-to-machine interaction over a network. Nowadays if you want to connect external systems, you probably want or have to use web services. What I will discuss here is how to get your own SOAP web service up in minutes.
Today’s special guest is Davey Shafik. Davey is a regular on PHP Abstract and I’ve receited his bio enough so that those of you who listen regularly can probably recite along with me. Davey is a full time developer with 10 years experience in PHP and related technologies. He is an author of both magazine articles as well as books and regularly speaks at PHP conferences. His latest book was just released, “The PHP Anthology: 101 Essential Tips, Tricks & Hacks, 2nd Edition” which he co wrote with another PHP Abstract host, Matthew Weier O’Phinney. They had a lot of help from other PHP Lumminaries including Ligaya Turmelle of phpwomen.org. A link to this brand new book can be found in the show notes.
As is the case with most development teams tasked with maintaining legacy applications, most System i shops continue to maintain valuable data that is trapped within their legacy applications. In most cases, these applications are not easily integrated with outsides applications or services. However, System i developers now have a new tool in their toolbox, PHP. PHP provides the tools System i developers need to easily expose their data and services to external applications via Web Services. Utilizing PHP and Zend’s developer tools, Web Services can easily be written to wrap existing programs.
p. TopWebNews.com gets it’s debut mention on DevZone for a quick little tutorial that they put together on using PEAR::SOAP. Click more to get more.
p. SOAP (Simple Object Access Protocol) is a lightweight XML-based protocol for exchanging structured information between distributed applications over native web protocols, such as HTTP. SOAP specifies the formats that XML messages should use, the way in which they should be processed, a set of encoding rules for standard and application-defined data types, and a convention for representing remote procedure calls and responses.
p. Web Services is a modern and very popular technology. The list of protocols and technologies related to Web Services grows every day, but SOAP is probably the most important. It is rapidly becoming the standard protocol for accessing Web Services. It uses XML messages to exchange information across endpoints, and provides several advantages over other binary protocols. RPC (Remote Procedure Calls) support was originally a minor element in the design of SOAP, but this feature is one of the most useful it has today.
p. PHP 5’s SOAP extension is the first attempt to implement the SOAP protocol for PHP in C. It has some advantages over the existing implementations written in PHP itself, the main one being speed. The extension is currently marked as experimental, but should gradually become more stable and reliable as time progresses.
p. The SOAP extension implements a large subset of SOAP 1.1, SOAP 1.2 and WSDL 1.1 specifications. The key goal is to use the RPC feature of the SOAP protocol. WSDL is used where possible in order to make the implementation of Web Services more straightforward.