v
Table of Contents
Preface
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
1. Introduction to Web Services
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
History 2
The Web Services Dream 3
The Web Services Cold Shower 4
Who to Believe? 5
Web Services in the Real World 6
2. HTTP and XML Basics
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
HTTP 9
XML 13
XML Schema 22
3. Introduction to XML-RPC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
History of XML-RPC 32
Example Client: Meerkat 42
Limitations of XML-RPC 49
4. Programming XML-RPC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
Perl Toolkits for XML-RPC 52
RPC::XMLSimple 53
XMLRPC::Lite 59
RPC::XML 67
5. Introduction to SOAP
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
Background 83
XML Definitions 84
vi | Table of Contents
RPC over SOAP 108
SOAP Transport 111
Further Reading 113
6. Programming SOAP
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
114
A Toolkit Approach 114
DevelopMentor’s SOAP Module 115
The SOAP::Lite Module 119
Other SOAP-Related Modules 136
7. Serving SOAP over HTTP
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
138
Basic SOAP::Lite Servers 138
The Application 139
Designing the Server 140
Tying the Interface Code to SOAP 146
Improving the Code and the Service 152
Ideas for Further Exploration 158
8. SOAP Services Without HTTP
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
160
Choosing a Protocol 160
Authentication 161
Transports with Server and Client 165
Standalone Protocols 173
Creating New Transport Modules 177
9. Service Description with WSDL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
185
Basic WSDL 185
WSDL Programming 211
10. Service Advertising and Discovery with UDDI
. . . . . . . . . . . . . . . . . . . . . . . . .
214
Defining UDDI 214
Programming with UDDI::Lite 231
11. REST: Representational State Transfer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
237
Defining REST 237
REST Principles 240
Programming REST 246

Get Programming Web Services with Perl now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.