{"document":{"price":32.0,"page_letters":["0","00","I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII","XIII","XIV","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","259","260","261","262","263","264","265","266","267","268","269","270","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","299","300","301","302","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","325","326","327","328","329","330","331","332","333","334","335","336","337","338","339","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472"],"to_param":"5243-programming-web-services-with-perl-9780596516413","page_numbers_by_letter":{"31":47,"449":465,"259":275,"32":48,"XIV":16,"310":326,"120":136,"80":96,"33":49,"311":327,"121":137,"81":97,"34":50,"312":328,"122":138,"82":98,"35":51,"313":329,"123":139,"83":99,"360":376,"170":186,"36":52,"314":330,"124":140,"84":100,"361":377,"171":187,"37":53,"315":331,"125":141,"85":101,"362":378,"172":188,"38":54,"316":332,"126":142,"86":102,"363":379,"173":189,"39":55,"317":333,"127":143,"87":103,"364":380,"174":190,"318":334,"128":144,"365":381,"175":191,"319":335,"129":145,"88":104,"366":382,"176":192,"VIII":10,"89":105,"II":4,"367":383,"177":193,"368":384,"178":194,"369":385,"179":195,"420":436,"230":246,"421":437,"231":247,"422":438,"232":248,"423":439,"233":249,"470":486,"280":296,"424":440,"234":250,"XI":13,"471":487,"281":297,"425":441,"235":251,"472":488,"282":298,"426":442,"236":252,"283":299,"427":443,"237":253,"284":300,"428":444,"238":254,"10":26,"285":301,"429":445,"239":255,"IV":6,"286":302,"11":27,"287":303,"60":76,"IX":11,"12":28,"100":116,"288":304,"61":77,"13":29,"101":117,"289":305,"62":78,"14":30,"102":118,"63":79,"340":356,"150":166,"15":31,"103":119,"64":80,"341":357,"151":167,"16":32,"104":120,"65":81,"342":358,"152":168,"17":33,"105":121,"343":359,"153":169,"18":34,"106":122,"390":406,"66":82,"344":360,"154":170,"19":35,"107":123,"391":407,"67":83,"345":361,"155":171,"108":124,"392":408,"68":84,"346":362,"156":172,"109":125,"393":409,"69":85,"347":363,"157":173,"394":410,"348":364,"158":174,"395":411,"349":365,"159":175,"396":412,"397":413,"400":416,"210":226,"398":414,"401":417,"211":227,"399":415,"402":418,"212":228,"450":466,"260":276,"403":419,"213":229,"451":467,"261":277,"404":420,"214":230,"VI":8,"452":468,"262":278,"405":421,"215":231,"453":469,"263":279,"406":422,"216":232,"454":470,"264":280,"407":423,"217":233,"455":471,"265":281,"0":1,"408":424,"218":234,"III":5,"456":472,"266":282,"1":17,"409":425,"219":235,"457":473,"267":283,"2":18,"458":474,"268":284,"3":19,"40":56,"459":475,"269":285,"4":20,"41":57,"5":21,"42":58,"90":106,"6":22,"43":59,"320":336,"130":146,"91":107,"7":23,"321":337,"131":147,"92":108,"8":24,"44":60,"322":338,"132":148,"93":109,"9":25,"370":386,"180":196,"45":61,"323":339,"133":149,"94":110,"371":387,"181":197,"46":62,"324":340,"134":150,"95":111,"372":388,"182":198,"47":63,"325":341,"135":151,"96":112,"373":389,"183":199,"48":64,"326":342,"136":152,"97":113,"374":390,"184":200,"49":65,"327":343,"137":153,"98":114,"375":391,"185":201,"328":344,"138":154,"376":392,"186":202,"329":345,"139":155,"99":115,"377":393,"187":203,"378":394,"188":204,"VII":9,"379":395,"189":205,"430":446,"240":256,"431":447,"241":257,"432":448,"242":258,"290":306,"433":449,"243":259,"291":307,"434":450,"244":260,"292":308,"435":451,"245":261,"XIII":15,"293":309,"436":452,"246":262,"I":3,"294":310,"437":453,"247":263,"295":311,"438":454,"248":264,"20":36,"296":312,"439":455,"249":265,"21":37,"297":313,"300":316,"110":126,"298":314,"70":86,"22":38,"301":317,"111":127,"299":315,"71":87,"23":39,"302":318,"112":128,"72":88,"24":40,"113":129,"73":89,"350":366,"160":176,"25":41,"303":319,"114":130,"74":90,"351":367,"161":177,"26":42,"304":320,"75":91,"352":368,"162":178,"27":43,"305":321,"115":131,"76":92,"353":369,"163":179,"28":44,"306":322,"116":132,"354":370,"164":180,"29":45,"307":323,"117":133,"77":93,"355":371,"165":181,"V":7,"308":324,"118":134,"78":94,"356":372,"166":182,"309":325,"119":135,"79":95,"357":373,"167":183,"X":12,"358":374,"168":184,"359":375,"169":185,"220":236,"410":426,"221":237,"411":427,"412":428,"222":238,"460":476,"270":286,"413":429,"223":239,"461":477,"271":287,"414":430,"224":240,"462":478,"272":288,"415":431,"225":241,"463":479,"273":289,"416":432,"226":242,"464":480,"274":290,"417":433,"227":243,"465":481,"275":291,"418":434,"228":244,"00":2,"466":482,"276":292,"419":435,"229":245,"467":483,"277":293,"468":484,"278":294,"50":66,"469":485,"279":295,"51":67,"52":68,"140":156,"53":69,"330":346,"54":70,"331":347,"141":157,"332":348,"142":158,"380":396,"190":206,"55":71,"333":349,"143":159,"381":397,"191":207,"56":72,"334":350,"144":160,"382":398,"192":208,"57":73,"335":351,"145":161,"383":399,"193":209,"58":74,"336":352,"146":162,"384":400,"194":210,"59":75,"337":353,"147":163,"385":401,"195":211,"338":354,"148":164,"386":402,"196":212,"339":355,"149":165,"387":403,"197":213,"388":404,"XII":14,"200":216,"198":214,"389":405,"201":217,"199":215,"202":218,"440":456,"203":219,"250":266,"441":457,"204":220,"251":267,"442":458,"205":221,"252":268,"443":459,"206":222,"253":269,"444":460,"207":223,"254":270,"445":461,"208":224,"255":271,"446":462,"209":225,"256":272,"447":463,"257":273,"448":464,"30":46,"258":274},"roman_numbers_end_at_page":16,"toc_ends_at_page":9,"author":"Randy Ray; Pavel Kulchenko","arabic_numbers_start_at_page":17,"isbn":"9780596516413","title":"Programming Web Services with Perl","allows_printing":true,"license":"","publisher_display_name":"O'Reilly Media","subtitle":"","toc_starts_at_page":7,"editor":"","free":null,"id":5243,"page_price":0.1,"arabic_numbers_end_at_page":488,"purchased_at":null,"volume_title":null,"year_of_publication":2007,"toc":[{"name":"Table of Contents","end_page":10,"start_page":7,"letter":"V","children":[]},{"name":"Preface","end_page":16,"start_page":11,"letter":"IX","children":[{"name":"Audience for This Book","end_page":11,"start_page":11,"letter":"IX","children":[]},{"name":"Structure of This Book","end_page":12,"start_page":12,"letter":"X","children":[]},{"name":"Conventions Used in This Book","end_page":13,"start_page":13,"letter":"XI","children":[]},{"name":"Comments and Questions","end_page":13,"start_page":14,"letter":"XII","children":[]},{"name":"Acknowledgments","end_page":16,"start_page":14,"letter":"XII","children":[{"name":"Randy","end_page":14,"start_page":14,"letter":"XII","children":[]},{"name":"Pavel","end_page":16,"start_page":15,"letter":"XIII","children":[]}]}]},{"name":"Introduction to Web Services","end_page":24,"start_page":17,"letter":"1","children":[{"name":"History","end_page":18,"start_page":18,"letter":"2","children":[]},{"name":"The Web Services Dream","end_page":19,"start_page":19,"letter":"3","children":[]},{"name":"The Web Services Cold Shower","end_page":20,"start_page":20,"letter":"4","children":[]},{"name":"Who to Believe?","end_page":21,"start_page":21,"letter":"5","children":[]},{"name":"Web Services in the Real World","end_page":24,"start_page":22,"letter":"6","children":[]}]},{"name":"HTTP and XML Basics","end_page":47,"start_page":25,"letter":"9","children":[{"name":"HTTP","end_page":28,"start_page":25,"letter":"9","children":[{"name":"The Request/Response Cycle","end_page":25,"start_page":26,"letter":"10","children":[]},{"name":"HTTP Message Structure","end_page":28,"start_page":26,"letter":"10","children":[{"name":"Examining the request","end_page":27,"start_page":27,"letter":"11","children":[]},{"name":"Examining the response","end_page":28,"start_page":28,"letter":"12","children":[]}]},{"name":"Reading More About HTTP and LWP","end_page":28,"start_page":29,"letter":"13","children":[]}]},{"name":"XML","end_page":37,"start_page":29,"letter":"13","children":[{"name":"Self-Describing Data","end_page":34,"start_page":29,"letter":"13","children":[{"name":"Elements and namespaces","end_page":31,"start_page":30,"letter":"14","children":[]},{"name":"Attributes","end_page":32,"start_page":32,"letter":"16","children":[]},{"name":"Data","end_page":33,"start_page":33,"letter":"17","children":[]},{"name":"Comments, processing instructions, and specialized content","end_page":34,"start_page":34,"letter":"18","children":[]}]},{"name":"Describing XML with DTD and XML Schema","end_page":36,"start_page":35,"letter":"19","children":[{"name":"The DTD","end_page":35,"start_page":35,"letter":"19","children":[]},{"name":"XML Schema","end_page":36,"start_page":36,"letter":"20","children":[]}]},{"name":"XML Modules and Tools for Perl","end_page":37,"start_page":37,"letter":"21","children":[{"name":"XML::Parser","end_page":36,"start_page":37,"letter":"21","children":[]},{"name":"XML::LibXML and XML::LibXSLT","end_page":36,"start_page":37,"letter":"21","children":[]},{"name":"XML::SAX","end_page":37,"start_page":37,"letter":"21","children":[]},{"name":"XML::XPath, XML::Simple, and others","end_page":37,"start_page":38,"letter":"22","children":[]}]}]},{"name":"XML Schema","end_page":47,"start_page":38,"letter":"22","children":[{"name":"Why Replace the DTD?","end_page":39,"start_page":39,"letter":"23","children":[{"name":"Document structure versus data structure","end_page":39,"start_page":39,"letter":"23","children":[]},{"name":"Understanding more about XML Schema","end_page":39,"start_page":40,"letter":"24","children":[]}]},{"name":"Schema Components","end_page":46,"start_page":40,"letter":"24","children":[{"name":"The predefined simple types","end_page":41,"start_page":41,"letter":"25","children":[]},{"name":"Primary components","end_page":41,"start_page":42,"letter":"26","children":[]},{"name":"Attributes","end_page":42,"start_page":42,"letter":"26","children":[]},{"name":"Elements","end_page":42,"start_page":43,"letter":"27","children":[]},{"name":"Simple and complex types","end_page":44,"start_page":43,"letter":"27","children":[]},{"name":"A unified example schema","end_page":46,"start_page":45,"letter":"29","children":[]}]},{"name":"XML Schema in SOAP and Related Areas","end_page":47,"start_page":47,"letter":"31","children":[]}]}]},{"name":"Introduction to XML-RPC","end_page":67,"start_page":48,"letter":"32","children":[{"name":"History of XML-RPC","end_page":57,"start_page":48,"letter":"32","children":[{"name":"The XML in XML-RPC","end_page":55,"start_page":49,"letter":"33","children":[{"name":"Data encoding","end_page":49,"start_page":49,"letter":"33","children":[]},{"name":"Arrays and structures","end_page":51,"start_page":50,"letter":"34","children":[]},{"name":"Making a request","end_page":53,"start_page":52,"letter":"36","children":[]},{"name":"Creating a response","end_page":54,"start_page":54,"letter":"38","children":[]},{"name":"Sending an error response","end_page":55,"start_page":55,"letter":"39","children":[]}]},{"name":"Client and Server Communication","end_page":56,"start_page":56,"letter":"40","children":[]},{"name":"Method Signatures and Overloading","end_page":57,"start_page":57,"letter":"41","children":[]}]},{"name":"Example Client: Meerkat","end_page":64,"start_page":58,"letter":"42","children":[{"name":"The Meerkat Service","end_page":58,"start_page":59,"letter":"43","children":[]},{"name":"From Meerkat Query to HTML Sidebar","end_page":64,"start_page":59,"letter":"43","children":[]}]},{"name":"Limitations of XML-RPC","end_page":67,"start_page":65,"letter":"49","children":[{"name":"Status of the Specification","end_page":65,"start_page":65,"letter":"49","children":[]},{"name":"XML-RPC and Interoperability","end_page":66,"start_page":66,"letter":"50","children":[]},{"name":"Choosing XML-RPC over SOAP","end_page":67,"start_page":67,"letter":"51","children":[]}]}]},{"name":"Programming XML-RPC","end_page":98,"start_page":68,"letter":"52","children":[{"name":"Perl Toolkits for XML-RPC","end_page":68,"start_page":68,"letter":"52","children":[]},{"name":"RPC::XMLSimple","end_page":74,"start_page":69,"letter":"53","children":[{"name":"Client Example: meer2html.pl","end_page":70,"start_page":69,"letter":"53","children":[]},{"name":"The RPC::XMLSimple::Client Class in Detail","end_page":71,"start_page":71,"letter":"55","children":[]},{"name":"A Server Example: Providing &#8220;Fortunes&#8221;","end_page":73,"start_page":72,"letter":"56","children":[]},{"name":"The RPC::XMLSimple::Daemon Class in Detail","end_page":74,"start_page":74,"letter":"58","children":[]}]},{"name":"XMLRPC::Lite","end_page":82,"start_page":75,"letter":"59","children":[{"name":"Client Example: meer2html.pl","end_page":76,"start_page":75,"letter":"59","children":[]},{"name":"The XMLRPC::Lite Class in Detail","end_page":77,"start_page":77,"letter":"61","children":[]},{"name":"Debugging","end_page":78,"start_page":78,"letter":"62","children":[]},{"name":"Auto-Dispatch","end_page":79,"start_page":79,"letter":"63","children":[]},{"name":"The Fortune Server Using XMLRPC::Lite","end_page":80,"start_page":80,"letter":"64","children":[]},{"name":"The XMLRPC::Lite Server Classes","end_page":82,"start_page":81,"letter":"65","children":[]}]},{"name":"RPC::XML","end_page":98,"start_page":83,"letter":"67","children":[{"name":"Client Example: meer2html.pl","end_page":84,"start_page":84,"letter":"68","children":[]},{"name":"The RPC::XML::Client Class in Detail","end_page":87,"start_page":85,"letter":"69","children":[]},{"name":"The Fortune Server Using RPC::XML::Server","end_page":88,"start_page":88,"letter":"72","children":[]},{"name":"The RPC::XML::Server Class in Detail","end_page":92,"start_page":89,"letter":"73","children":[{"name":"Managing server-side code with XPL files","end_page":92,"start_page":92,"letter":"76","children":[]}]},{"name":"The Introspection Interface for Servers","end_page":93,"start_page":93,"letter":"77","children":[]},{"name":"Writing for Apache with Apache::RPC::Server","end_page":93,"start_page":94,"letter":"78","children":[]},{"name":"Configuring Server Objects","end_page":96,"start_page":94,"letter":"78","children":[]},{"name":"The Apache::RPC::Status Monitor","end_page":98,"start_page":97,"letter":"81","children":[]}]}]},{"name":"Introduction to SOAP","end_page":129,"start_page":99,"letter":"83","children":[{"name":"Background","end_page":99,"start_page":99,"letter":"83","children":[]},{"name":"XML Definitions","end_page":123,"start_page":100,"letter":"84","children":[{"name":"The Basic Message Structure","end_page":101,"start_page":101,"letter":"85","children":[]},{"name":"The Envelope Tag: Declaring Namespaces","end_page":103,"start_page":102,"letter":"86","children":[]},{"name":"The Header Tag: Routing and More","end_page":110,"start_page":104,"letter":"88","children":[{"name":"The encodingStyle attribute","end_page":104,"start_page":105,"letter":"89","children":[]},{"name":"Actors, roles, nodes, and responsibility","end_page":105,"start_page":105,"letter":"89","children":[]},{"name":"The actor/role attributes","end_page":106,"start_page":106,"letter":"90","children":[]},{"name":"The mustUnderstand attribute","end_page":107,"start_page":107,"letter":"91","children":[]},{"name":"Attribute placement and example","end_page":110,"start_page":108,"letter":"92","children":[]}]},{"name":"The Body Tag: Anatomy of a Message","end_page":112,"start_page":111,"letter":"95","children":[]},{"name":"Expressing and Encoding Data","end_page":120,"start_page":113,"letter":"97","children":[{"name":"XML Schema and encoding","end_page":113,"start_page":113,"letter":"97","children":[]},{"name":"Simple types, values and enumerations","end_page":114,"start_page":114,"letter":"98","children":[]},{"name":"Compound types and values","end_page":115,"start_page":115,"letter":"99","children":[]},{"name":"Accessors, scoping, and reference","end_page":116,"start_page":116,"letter":"100","children":[]},{"name":"Arrays and partial arrays","end_page":119,"start_page":117,"letter":"101","children":[]},{"name":"Structures and generic compound types","end_page":120,"start_page":120,"letter":"104","children":[]},{"name":"The SOAP root attribute","end_page":120,"start_page":121,"letter":"105","children":[]}]},{"name":"Signaling a Problem: Faults","end_page":123,"start_page":121,"letter":"105","children":[{"name":"Fault elements","end_page":122,"start_page":122,"letter":"106","children":[]},{"name":"Predefined faults","end_page":123,"start_page":123,"letter":"107","children":[]}]}]},{"name":"RPC over SOAP","end_page":126,"start_page":124,"letter":"108","children":[{"name":"Supplying the RPC Information","end_page":124,"start_page":125,"letter":"109","children":[]},{"name":"Putting the Call and Response in the Body","end_page":125,"start_page":125,"letter":"109","children":[]},{"name":"Use of the SOAP Header","end_page":125,"start_page":126,"letter":"110","children":[]},{"name":"RPC Faults","end_page":126,"start_page":126,"letter":"110","children":[]}]},{"name":"SOAP Transport","end_page":128,"start_page":127,"letter":"111","children":[]},{"name":"Further Reading","end_page":129,"start_page":129,"letter":"113","children":[]}]},{"name":"Programming SOAP","end_page":153,"start_page":130,"letter":"114","children":[{"name":"A Toolkit Approach","end_page":130,"start_page":130,"letter":"114","children":[]},{"name":"DevelopMentor&#8217;s SOAP Module","end_page":134,"start_page":131,"letter":"115","children":[{"name":"Example: Client to Convert a Number to Words","end_page":134,"start_page":131,"letter":"115","children":[{"name":"Autogenerated XML","end_page":134,"start_page":133,"letter":"117","children":[]}]}]},{"name":"The SOAP::Lite Module","end_page":151,"start_page":135,"letter":"119","children":[{"name":"Installing SOAP::Lite","end_page":135,"start_page":135,"letter":"119","children":[]},{"name":"Using SOAP::Lite for Clients","end_page":151,"start_page":136,"letter":"120","children":[{"name":"Number-to-text conversion with SOAP::Lite","end_page":137,"start_page":136,"letter":"120","children":[]},{"name":"Translating a use.perl.org journal stream to RSS","end_page":139,"start_page":138,"letter":"122","children":[]},{"name":"Basic classes and components","end_page":142,"start_page":140,"letter":"124","children":[]},{"name":"Dispatching methods and the object style","end_page":145,"start_page":143,"letter":"127","children":[]},{"name":"Managing data with SOAP::Data and SOAP::SOM","end_page":147,"start_page":146,"letter":"130","children":[]},{"name":"Example: Automatically announcing CPAN uploads","end_page":151,"start_page":148,"letter":"132","children":[]}]}]},{"name":"Other SOAP-Related Modules","end_page":153,"start_page":152,"letter":"136","children":[{"name":"SOAP::payload","end_page":151,"start_page":152,"letter":"136","children":[]},{"name":"SOAP::Lite::SmartProxy","end_page":152,"start_page":152,"letter":"136","children":[]},{"name":"Meta::Comm::Soap","end_page":153,"start_page":153,"letter":"137","children":[]}]}]},{"name":"Serving SOAP over HTTP","end_page":175,"start_page":154,"letter":"138","children":[{"name":"Basic SOAP::Lite Servers","end_page":154,"start_page":154,"letter":"138","children":[]},{"name":"The Application","end_page":155,"start_page":155,"letter":"139","children":[]},{"name":"Designing the Server","end_page":161,"start_page":156,"letter":"140","children":[{"name":"Supporting Code","end_page":155,"start_page":156,"letter":"140","children":[]},{"name":"Managing the Interface","end_page":160,"start_page":156,"letter":"140","children":[]},{"name":"Choosing the HTTP Vehicle","end_page":161,"start_page":161,"letter":"145","children":[]}]},{"name":"Tying the Interface Code to SOAP","end_page":167,"start_page":162,"letter":"146","children":[{"name":"Starting Out","end_page":162,"start_page":162,"letter":"146","children":[]},{"name":"Subclassing the Components","end_page":165,"start_page":163,"letter":"147","children":[{"name":"WishListCustomer::Daemon","end_page":163,"start_page":163,"letter":"147","children":[]},{"name":"WishListCustomer::SOAP","end_page":165,"start_page":164,"letter":"148","children":[]}]},{"name":"Revising the Daemon-Based Server","end_page":166,"start_page":166,"letter":"150","children":[]},{"name":"Simple Access with a SOAP::Lite Client","end_page":167,"start_page":167,"letter":"151","children":[]}]},{"name":"Improving the Code and the Service","end_page":173,"start_page":168,"letter":"152","children":[{"name":"Moving the Server to Apache","end_page":170,"start_page":169,"letter":"153","children":[]},{"name":"Revisiting the Interface","end_page":173,"start_page":171,"letter":"155","children":[{"name":"Designing WishListCustomer::SOAP2","end_page":171,"start_page":171,"letter":"155","children":[]},{"name":"Accessing the SOAP envelope","end_page":172,"start_page":172,"letter":"156","children":[]},{"name":"Testing the new method","end_page":173,"start_page":173,"letter":"157","children":[]}]}]},{"name":"Ideas for Further Exploration","end_page":175,"start_page":174,"letter":"158","children":[]}]},{"name":"SOAP Services Without HTTP","end_page":200,"start_page":176,"letter":"160","children":[{"name":"Choosing a Protocol","end_page":176,"start_page":176,"letter":"160","children":[]},{"name":"Authentication","end_page":180,"start_page":177,"letter":"161","children":[{"name":"Server Authentication","end_page":178,"start_page":177,"letter":"161","children":[{"name":"Designing the new scheme","end_page":177,"start_page":177,"letter":"161","children":[]},{"name":"Creating a generic server class","end_page":178,"start_page":178,"letter":"162","children":[]}]},{"name":"Client Authentication","end_page":180,"start_page":179,"letter":"163","children":[{"name":"Custom headers with SOAP::Header","end_page":179,"start_page":180,"letter":"164","children":[]},{"name":"WishListCustomer::Client as a shortcut","end_page":180,"start_page":180,"letter":"164","children":[]}]}]},{"name":"Transports with Server and Client","end_page":188,"start_page":181,"letter":"165","children":[{"name":"Using SOAP::Transport::TCP","end_page":182,"start_page":181,"letter":"165","children":[{"name":"SOAP::Transport::TCP::Server","end_page":181,"start_page":181,"letter":"165","children":[]},{"name":"SOAP::Transport::TCP::Client","end_page":182,"start_page":182,"letter":"166","children":[]}]},{"name":"Using SOAP::Transport::JABBER","end_page":184,"start_page":183,"letter":"167","children":[{"name":"Creating a Jabber-based server","end_page":184,"start_page":184,"letter":"168","children":[]},{"name":"The Jabber-based client","end_page":184,"start_page":185,"letter":"169","children":[]}]},{"name":"Using SOAP::Transport::MQ","end_page":185,"start_page":185,"letter":"169","children":[]},{"name":"Using POP3 and MAILTO","end_page":188,"start_page":186,"letter":"170","children":[{"name":"SOAP::Transport::POP3::Server","end_page":187,"start_page":187,"letter":"171","children":[]},{"name":"SOAP::Transport::MAILTO::Client","end_page":188,"start_page":188,"letter":"172","children":[]}]}]},{"name":"Standalone Protocols","end_page":192,"start_page":189,"letter":"173","children":[{"name":"SOAP::Transport::IO","end_page":189,"start_page":189,"letter":"173","children":[]},{"name":"SOAP::Transport::FTP::Client","end_page":191,"start_page":190,"letter":"174","children":[]},{"name":"SOAP::Transport::LOCAL::Client","end_page":192,"start_page":192,"letter":"176","children":[]}]},{"name":"Creating New Transport Modules","end_page":200,"start_page":193,"letter":"177","children":[{"name":"Writing a Server Transport","end_page":194,"start_page":193,"letter":"177","children":[{"name":"Specialized constructors","end_page":193,"start_page":194,"letter":"178","children":[]},{"name":"Writing a localized handle method","end_page":194,"start_page":194,"letter":"178","children":[]},{"name":"Other server methods","end_page":194,"start_page":195,"letter":"179","children":[]}]},{"name":"Writing a Client Transport","end_page":196,"start_page":195,"letter":"179","children":[{"name":"Naming the client class","end_page":195,"start_page":195,"letter":"179","children":[]},{"name":"Constructors","end_page":195,"start_page":196,"letter":"180","children":[]},{"name":"The send_receive method","end_page":196,"start_page":196,"letter":"180","children":[]},{"name":"Other client methods","end_page":196,"start_page":197,"letter":"181","children":[]}]},{"name":"Example Transport Module","end_page":200,"start_page":197,"letter":"181","children":[]}]}]},{"name":"Service Description with WSDL","end_page":229,"start_page":201,"letter":"185","children":[{"name":"Basic WSDL","end_page":226,"start_page":201,"letter":"185","children":[{"name":"Starting Simple","end_page":202,"start_page":201,"letter":"185","children":[]},{"name":"The Parts of a WSDL Document","end_page":216,"start_page":203,"letter":"187","children":[{"name":"Starting a WSDL document","end_page":204,"start_page":204,"letter":"188","children":[]},{"name":"Documentation, types, and messages","end_page":208,"start_page":205,"letter":"189","children":[]},{"name":"Operations and portType","end_page":211,"start_page":209,"letter":"193","children":[]},{"name":"Bindings","end_page":214,"start_page":212,"letter":"196","children":[]},{"name":"Service definitions","end_page":216,"start_page":215,"letter":"199","children":[]}]},{"name":"HTTP and MIME Binding in WSDL","end_page":220,"start_page":217,"letter":"201","children":[{"name":"Extending WSDL with HTTP","end_page":218,"start_page":217,"letter":"201","children":[]},{"name":"Using the MIME extension elements","end_page":220,"start_page":219,"letter":"203","children":[]}]},{"name":"Overloading Operations in WSDL","end_page":224,"start_page":221,"letter":"205","children":[{"name":"Overloading when declaring operations","end_page":222,"start_page":222,"letter":"206","children":[]},{"name":"Implementing overloaded operations within bindings","end_page":224,"start_page":223,"letter":"207","children":[]},{"name":"Why bother with overloading in Perl?","end_page":224,"start_page":225,"letter":"209","children":[]}]},{"name":"Other WSDL Elements","end_page":226,"start_page":225,"letter":"209","children":[{"name":"Controlling arguments with parameterOrder","end_page":225,"start_page":225,"letter":"209","children":[]},{"name":"Document-style message encoding","end_page":225,"start_page":226,"letter":"210","children":[]},{"name":"Modular WSDL with the import element","end_page":226,"start_page":226,"letter":"210","children":[]}]}]},{"name":"WSDL Programming","end_page":229,"start_page":227,"letter":"211","children":[{"name":"WSDL Schema Support in SOAP::Lite","end_page":229,"start_page":227,"letter":"211","children":[{"name":"SOAP::Lite client support for WSDL","end_page":228,"start_page":227,"letter":"211","children":[]},{"name":"Code-generation based on WSDL","end_page":228,"start_page":229,"letter":"213","children":[]},{"name":"SOAP::Schema shortcomings","end_page":229,"start_page":229,"letter":"213","children":[]}]}]}]},{"name":"Service Advertising and Discovery with UDDI","end_page":252,"start_page":230,"letter":"214","children":[{"name":"Defining UDDI","end_page":246,"start_page":230,"letter":"214","children":[{"name":"Basic UDDI Data Structures","end_page":240,"start_page":231,"letter":"215","children":[{"name":"Special data and source considerations","end_page":232,"start_page":232,"letter":"216","children":[]},{"name":"Details of businessEntity and publisherAssertion","end_page":235,"start_page":233,"letter":"217","children":[]},{"name":"Details of businessService","end_page":236,"start_page":236,"letter":"220","children":[]},{"name":"Details of bindingTemplate","end_page":237,"start_page":237,"letter":"221","children":[]},{"name":"tModel, tModelInstanceInfo, and referencing","end_page":240,"start_page":238,"letter":"222","children":[]}]},{"name":"Publish and Query Interfaces","end_page":246,"start_page":241,"letter":"225","children":[{"name":"The querying routines","end_page":241,"start_page":242,"letter":"226","children":[]},{"name":"Using findQualifiers in calls","end_page":243,"start_page":242,"letter":"226","children":[]},{"name":"Publishing and editing business information","end_page":245,"start_page":244,"letter":"228","children":[]},{"name":"Further reading","end_page":246,"start_page":246,"letter":"230","children":[]}]}]},{"name":"Programming with UDDI::Lite","end_page":252,"start_page":247,"letter":"231","children":[{"name":"The UDDI::Lite Family","end_page":249,"start_page":247,"letter":"231","children":[{"name":"Connecting through UDDI::Lite","end_page":247,"start_page":247,"letter":"231","children":[]},{"name":"Getting and reading data from UDDI::Data","end_page":249,"start_page":248,"letter":"232","children":[]}]},{"name":"Showing More Detail for a Business","end_page":252,"start_page":250,"letter":"234","children":[{"name":"The idea","end_page":249,"start_page":250,"letter":"234","children":[]},{"name":"Using UDDI::Lite with auto-dispatch","end_page":252,"start_page":250,"letter":"234","children":[]}]}]}]},{"name":"REST: Representational State Transfer","end_page":277,"start_page":253,"letter":"237","children":[{"name":"Defining REST","end_page":255,"start_page":253,"letter":"237","children":[{"name":"The Scientific Definition","end_page":254,"start_page":254,"letter":"238","children":[]},{"name":"The Practical Definition","end_page":255,"start_page":255,"letter":"239","children":[]}]},{"name":"REST Principles","end_page":261,"start_page":256,"letter":"240","children":[{"name":"Aesthetics of URI Design","end_page":259,"start_page":257,"letter":"241","children":[{"name":"URI syntax","end_page":256,"start_page":257,"letter":"241","children":[]},{"name":"Resource modeling","end_page":259,"start_page":257,"letter":"241","children":[]}]},{"name":"Methods","end_page":261,"start_page":260,"letter":"244","children":[{"name":"GET method","end_page":259,"start_page":260,"letter":"244","children":[]},{"name":"POST method","end_page":260,"start_page":260,"letter":"244","children":[]},{"name":"DELETE method","end_page":260,"start_page":261,"letter":"245","children":[]},{"name":"PUT method","end_page":261,"start_page":261,"letter":"245","children":[]}]},{"name":"Security","end_page":261,"start_page":262,"letter":"246","children":[]}]},{"name":"Programming REST","end_page":277,"start_page":262,"letter":"246","children":[{"name":"REST Primer","end_page":263,"start_page":263,"letter":"247","children":[]},{"name":"Modeling Resources","end_page":266,"start_page":264,"letter":"248","children":[]},{"name":"Creating Multiple Representations","end_page":268,"start_page":267,"letter":"251","children":[]},{"name":"Developing REST Applications","end_page":270,"start_page":269,"letter":"253","children":[]},{"name":"Working with POST, PUT, and DELETE Methods","end_page":271,"start_page":271,"letter":"255","children":[]},{"name":"Implementing a Purchase Order Service","end_page":273,"start_page":272,"letter":"256","children":[{"name":"Two disadvantages of using the POST method","end_page":272,"start_page":273,"letter":"257","children":[]},{"name":"Two disadvantages of the GET and PUT combination","end_page":272,"start_page":273,"letter":"257","children":[]},{"name":"Choosing the implementation","end_page":273,"start_page":273,"letter":"257","children":[]}]},{"name":"Implementing Cover Page Service","end_page":274,"start_page":274,"letter":"258","children":[]},{"name":"Documenting Service API","end_page":274,"start_page":275,"letter":"259","children":[]},{"name":"What Makes REST Hard","end_page":276,"start_page":275,"letter":"259","children":[]},{"name":"REST and SOAP","end_page":277,"start_page":277,"letter":"261","children":[]}]}]},{"name":"Advanced Web Services Topics","end_page":318,"start_page":278,"letter":"262","children":[{"name":"Message Routing","end_page":282,"start_page":279,"letter":"263","children":[{"name":"Web Services Routing Protocol (WS-Routing)","end_page":280,"start_page":279,"letter":"263","children":[]},{"name":"Web Services Referral Protocol (WS-Referral)","end_page":282,"start_page":281,"letter":"265","children":[]}]},{"name":"Packaging","end_page":286,"start_page":283,"letter":"267","children":[{"name":"MIME and SOAP with Attachments","end_page":285,"start_page":285,"letter":"269","children":[]},{"name":"DIME and WS-Attachments","end_page":286,"start_page":286,"letter":"270","children":[]}]},{"name":"Security","end_page":302,"start_page":287,"letter":"271","children":[{"name":"Key Concepts","end_page":289,"start_page":288,"letter":"272","children":[]},{"name":"Transport Level Security","end_page":290,"start_page":290,"letter":"274","children":[]},{"name":"XML Security","end_page":298,"start_page":291,"letter":"275","children":[{"name":"XML Signature Syntax and Processing (XML Signature)","end_page":294,"start_page":293,"letter":"277","children":[]},{"name":"XML Encryption","end_page":296,"start_page":295,"letter":"279","children":[]},{"name":"XML Key Management (XKMS)","end_page":297,"start_page":297,"letter":"281","children":[]},{"name":"Security Assertion Markup Language (SAML)","end_page":298,"start_page":298,"letter":"282","children":[]},{"name":"XML Access Control Markup Language (XACML)","end_page":298,"start_page":299,"letter":"283","children":[]}]},{"name":"Web Services Security","end_page":302,"start_page":299,"letter":"283","children":[{"name":"Web Services Security Language (WS-Security)","end_page":301,"start_page":299,"letter":"283","children":[]},{"name":"WS-Policy, WS-Trust, WS-Privacy, WS-SecureConversations, WS-Federation, and WS-Authorization","end_page":302,"start_page":302,"letter":"286","children":[]}]}]},{"name":"Services Discovery","end_page":304,"start_page":303,"letter":"287","children":[{"name":"Web Services Inspection Language (WS-Inspection or WSIL)","end_page":304,"start_page":303,"letter":"287","children":[]}]},{"name":"Reliable Messaging","end_page":306,"start_page":305,"letter":"289","children":[{"name":"HTTPR","end_page":306,"start_page":305,"letter":"289","children":[]}]},{"name":"Business Process Management","end_page":313,"start_page":307,"letter":"291","children":[{"name":"Document and RPC Styles","end_page":308,"start_page":307,"letter":"291","children":[]},{"name":"Distributed Transactions","end_page":309,"start_page":309,"letter":"293","children":[]},{"name":"Transactions and Coordination","end_page":311,"start_page":310,"letter":"294","children":[{"name":"Web Services Coordination (WS-Coordination)","end_page":310,"start_page":310,"letter":"294","children":[]},{"name":"Web Services Transaction (WS-Transaction)","end_page":311,"start_page":311,"letter":"295","children":[]},{"name":"Business Transaction Protocol (BTP)","end_page":311,"start_page":312,"letter":"296","children":[]}]},{"name":"Business Process Specifications","end_page":313,"start_page":312,"letter":"296","children":[{"name":"Business Process Execution Language (BPEL)","end_page":313,"start_page":313,"letter":"297","children":[]}]}]},{"name":"Implementation Considerations","end_page":317,"start_page":314,"letter":"298","children":[{"name":"Internationalization","end_page":315,"start_page":315,"letter":"299","children":[]},{"name":"Performance and Optimization","end_page":317,"start_page":316,"letter":"300","children":[]}]},{"name":"WS-Next","end_page":318,"start_page":318,"letter":"302","children":[]}]},{"name":"XML-RPC Toolkit Programming Reference","end_page":342,"start_page":319,"letter":"303","children":[{"name":"RPC::XMLSimple","end_page":321,"start_page":319,"letter":"303","children":[{"name":"RPC::XMLSimple","end_page":320,"start_page":319,"letter":"303","children":[]},{"name":"RPC::XMLSimple::Client","end_page":321,"start_page":321,"letter":"305","children":[]},{"name":"RPC::XMLSimple::Daemon","end_page":321,"start_page":322,"letter":"306","children":[]}]},{"name":"XMLRPC::Lite","end_page":327,"start_page":322,"letter":"306","children":[{"name":"XMLRPC::Lite","end_page":326,"start_page":323,"letter":"307","children":[{"name":"XMLRPC::Lite","end_page":323,"start_page":323,"letter":"307","children":[]},{"name":"XMLRPC::Data","end_page":324,"start_page":324,"letter":"308","children":[]},{"name":"XMLRPC::SOM","end_page":325,"start_page":325,"letter":"309","children":[]},{"name":"XMLRPC::Deserializer and XMLRPC::Serializer","end_page":325,"start_page":326,"letter":"310","children":[]},{"name":"XMLRPC::Server","end_page":325,"start_page":326,"letter":"310","children":[]},{"name":"XMLRPC::Server::Parameters","end_page":326,"start_page":326,"letter":"310","children":[]}]},{"name":"XMLRPC::Transport::HTTP","end_page":326,"start_page":327,"letter":"311","children":[{"name":"XMLRPC::Transport::HTTP::CGI","end_page":326,"start_page":327,"letter":"311","children":[]},{"name":"XMLRPC::Transport::HTTP::Daemon","end_page":326,"start_page":327,"letter":"311","children":[]},{"name":"XMLRPC::Transport::HTTP::Apache","end_page":326,"start_page":327,"letter":"311","children":[]}]},{"name":"XMLRPC::Transport::POP3","end_page":327,"start_page":327,"letter":"311","children":[]},{"name":"XMLRPC::Transport::TCP","end_page":327,"start_page":328,"letter":"312","children":[]}]},{"name":"RPC::XML","end_page":342,"start_page":328,"letter":"312","children":[{"name":"RPC::XML","end_page":330,"start_page":328,"letter":"312","children":[]},{"name":"RPC::XML::Client","end_page":332,"start_page":331,"letter":"315","children":[]},{"name":"RPC::XML::Server","end_page":336,"start_page":333,"letter":"317","children":[]},{"name":"Server-Side Code Classes","end_page":338,"start_page":337,"letter":"321","children":[{"name":"RPC::XML::Method","end_page":338,"start_page":339,"letter":"323","children":[]},{"name":"RPC::XML::Procedure","end_page":338,"start_page":339,"letter":"323","children":[]},{"name":"RPC::XML::Function","end_page":338,"start_page":339,"letter":"323","children":[]}]},{"name":"Apache::RPC::Server","end_page":340,"start_page":339,"letter":"323","children":[]},{"name":"Apache::RPC::Status","end_page":342,"start_page":341,"letter":"325","children":[]}]}]},{"name":"SOAP::Lite Programming Reference","end_page":375,"start_page":343,"letter":"327","children":[{"name":"SOAP::Lite","end_page":362,"start_page":343,"letter":"327","children":[{"name":"SOAP::Lite","end_page":347,"start_page":343,"letter":"327","children":[]},{"name":"SOAP::Data","end_page":348,"start_page":348,"letter":"332","children":[]},{"name":"SOAP::SOM","end_page":351,"start_page":349,"letter":"333","children":[]},{"name":"SOAP::Fault","end_page":352,"start_page":352,"letter":"336","children":[]},{"name":"SOAP::Transport","end_page":352,"start_page":353,"letter":"337","children":[]},{"name":"SOAP::Serializer","end_page":354,"start_page":353,"letter":"337","children":[]},{"name":"SOAP::Header","end_page":354,"start_page":355,"letter":"339","children":[]},{"name":"SOAP::Constants","end_page":355,"start_page":355,"letter":"339","children":[]},{"name":"SOAP::Schema","end_page":356,"start_page":356,"letter":"340","children":[]},{"name":"SOAP::Schema::WSDL","end_page":356,"start_page":357,"letter":"341","children":[]},{"name":"SOAP::Client","end_page":357,"start_page":357,"letter":"341","children":[]},{"name":"SOAP::Server","end_page":360,"start_page":358,"letter":"342","children":[]},{"name":"SOAP::Server::Parameters","end_page":361,"start_page":361,"letter":"345","children":[]},{"name":"SOAP::Trace","end_page":362,"start_page":362,"letter":"346","children":[]}]},{"name":"SOAP Transport Classes","end_page":372,"start_page":363,"letter":"347","children":[{"name":"SOAP::Transport::FTP","end_page":364,"start_page":364,"letter":"348","children":[{"name":"SOAP::Transport::FTP::Client","end_page":364,"start_page":365,"letter":"349","children":[]}]},{"name":"SOAP::Transport::HTTP","end_page":366,"start_page":365,"letter":"349","children":[{"name":"SOAP::Transport::HTTP::Client","end_page":364,"start_page":365,"letter":"349","children":[]},{"name":"SOAP::Transport::HTTP::Server","end_page":365,"start_page":365,"letter":"349","children":[]},{"name":"SOAP::Transport::HTTP::CGI","end_page":365,"start_page":366,"letter":"350","children":[]},{"name":"SOAP::Transport::HTTP::Daemon","end_page":365,"start_page":366,"letter":"350","children":[]},{"name":"SOAP::Transport::HTTP::Apache","end_page":366,"start_page":366,"letter":"350","children":[]},{"name":"SOAP::Transport::HTTP::FCGI","end_page":366,"start_page":367,"letter":"351","children":[]}]},{"name":"SOAP::Transport::IO","end_page":367,"start_page":367,"letter":"351","children":[{"name":"SOAP::Transport::IO::Server","end_page":367,"start_page":367,"letter":"351","children":[]}]},{"name":"SOAP::Transport::JABBER","end_page":368,"start_page":368,"letter":"352","children":[{"name":"SOAP::Transport::JABBER::Client","end_page":367,"start_page":368,"letter":"352","children":[]},{"name":"SOAP::Transport::JABBER::Server","end_page":368,"start_page":368,"letter":"352","children":[]}]},{"name":"SOAP::Transport::LOCAL","end_page":368,"start_page":369,"letter":"353","children":[{"name":"SOAP::Transport::LOCAL::Client","end_page":368,"start_page":369,"letter":"353","children":[]}]},{"name":"SOAP::Transport::MAILTO","end_page":369,"start_page":369,"letter":"353","children":[{"name":"SOAP::Transport::MAILTO::Client","end_page":369,"start_page":369,"letter":"353","children":[]}]},{"name":"SOAP::Transport::MQ","end_page":370,"start_page":370,"letter":"354","children":[{"name":"SOAP::Transport::MQ::Client","end_page":370,"start_page":370,"letter":"354","children":[]},{"name":"SOAP::Transport::MQ::Server","end_page":370,"start_page":371,"letter":"355","children":[]}]},{"name":"SOAP::Transport::POP3","end_page":371,"start_page":371,"letter":"355","children":[{"name":"SOAP::Transport::POP3::Server","end_page":371,"start_page":371,"letter":"355","children":[]}]},{"name":"SOAP::Transport::TCP","end_page":372,"start_page":372,"letter":"356","children":[{"name":"SOAP::Transport::TCP::Client","end_page":372,"start_page":372,"letter":"356","children":[]},{"name":"SOAP::Transport::TCP::Server","end_page":372,"start_page":373,"letter":"357","children":[]}]}]},{"name":"The Apache Wrapper","end_page":373,"start_page":373,"letter":"357","children":[{"name":"Apache::SOAP","end_page":373,"start_page":373,"letter":"357","children":[]}]},{"name":"UDDI::Lite","end_page":375,"start_page":374,"letter":"358","children":[{"name":"UDDI::Lite","end_page":374,"start_page":374,"letter":"358","children":[]},{"name":"UDDI::Data","end_page":374,"start_page":375,"letter":"359","children":[]},{"name":"UDDI::SOM","end_page":374,"start_page":375,"letter":"359","children":[]},{"name":"UDDI::Serializer and UDDI::Deserializer","end_page":375,"start_page":375,"letter":"359","children":[]}]}]},{"name":"XML-RPC Example Code","end_page":392,"start_page":376,"letter":"360","children":[{"name":"Basic Meerkat Client (Chap&#5;ter&#17;3)","end_page":379,"start_page":376,"letter":"360","children":[]},{"name":"XML-RPC Toolkit Samples (Chap&#5;ter&#17;4)","end_page":392,"start_page":380,"letter":"364","children":[{"name":"The RPC::XMLSimple Examples","end_page":382,"start_page":380,"letter":"364","children":[]},{"name":"The XMLRPC::Lite Examples","end_page":385,"start_page":383,"letter":"367","children":[]},{"name":"The RPC::XML Examples","end_page":388,"start_page":386,"letter":"370","children":[]},{"name":"The XRFortune.pm Module","end_page":391,"start_page":389,"letter":"373","children":[]},{"name":"The listMethods.xpl File","end_page":392,"start_page":392,"letter":"376","children":[]}]}]},{"name":"SOAP Example Code","end_page":430,"start_page":393,"letter":"377","children":[{"name":"HTTP SOAP Code (Chap&#5;ter&#17;7)","end_page":413,"start_page":393,"letter":"377","children":[{"name":"WishListCustomer","end_page":398,"start_page":393,"letter":"377","children":[]},{"name":"SoapExUser","end_page":400,"start_page":399,"letter":"383","children":[]},{"name":"SoapExBook","end_page":401,"start_page":401,"letter":"385","children":[]},{"name":"The First HTTP::Daemon Server","end_page":402,"start_page":402,"letter":"386","children":[]},{"name":"WishListCustomer::Daemon","end_page":403,"start_page":403,"letter":"387","children":[]},{"name":"WishListCustomer::SOAP","end_page":405,"start_page":404,"letter":"388","children":[]},{"name":"The Second HTTP::Daemon Server","end_page":406,"start_page":406,"letter":"390","children":[]},{"name":"The SOAP::Lite Client to Format a Wish List","end_page":408,"start_page":407,"letter":"391","children":[]},{"name":"WishListCustomer::Apache","end_page":409,"start_page":409,"letter":"393","children":[]},{"name":"WishListCustomer::SOAP2","end_page":411,"start_page":410,"letter":"394","children":[]},{"name":"The Third HTTP::Daemon Server","end_page":412,"start_page":412,"letter":"396","children":[]},{"name":"The SOAP::Lite Client to Test FindBooks","end_page":413,"start_page":413,"letter":"397","children":[]}]},{"name":"SOAP with Other Protocols (Chap&#5;ter&#17;8)","end_page":430,"start_page":414,"letter":"398","children":[{"name":"The Generic Transport Class","end_page":415,"start_page":414,"letter":"398","children":[]},{"name":"The Subclass of SOAP::Lite","end_page":416,"start_page":416,"letter":"400","children":[]},{"name":"A TCP-Based Server","end_page":417,"start_page":417,"letter":"401","children":[]},{"name":"A Generic Client (TCP by Default)","end_page":418,"start_page":418,"letter":"402","children":[]},{"name":"A Jabber-Based Server","end_page":419,"start_page":419,"letter":"403","children":[]},{"name":"The MQ-Based Server","end_page":420,"start_page":420,"letter":"404","children":[]},{"name":"The POP3-Based Server","end_page":420,"start_page":421,"letter":"405","children":[]},{"name":"The MAILTO Client","end_page":421,"start_page":421,"letter":"405","children":[]},{"name":"The IO-Based Filter","end_page":422,"start_page":422,"letter":"406","children":[]},{"name":"The FTP Client","end_page":423,"start_page":423,"letter":"407","children":[]},{"name":"The LOCAL Example","end_page":424,"start_page":424,"letter":"408","children":[]},{"name":"The Sample Transport Module","end_page":430,"start_page":425,"letter":"409","children":[]}]}]},{"name":"WSDL and UDDI Examples","end_page":449,"start_page":431,"letter":"415","children":[{"name":"The wishlist.wsdl File","end_page":439,"start_page":431,"letter":"415","children":[]},{"name":"The useperlorg.wsdl File","end_page":445,"start_page":440,"letter":"424","children":[]},{"name":"The show_biz UDDI Application","end_page":449,"start_page":446,"letter":"430","children":[]}]},{"name":"Bibliography and References","end_page":454,"start_page":450,"letter":"434","children":[{"name":"Bibliography","end_page":449,"start_page":450,"letter":"434","children":[]},{"name":"Additional Recommended Books","end_page":450,"start_page":450,"letter":"434","children":[]},{"name":"Web Pages","end_page":454,"start_page":451,"letter":"435","children":[{"name":"General XML and XML Schema","end_page":451,"start_page":451,"letter":"435","children":[]},{"name":"XML-RPC","end_page":451,"start_page":452,"letter":"436","children":[]},{"name":"SOAP","end_page":452,"start_page":452,"letter":"436","children":[]},{"name":"WSDL","end_page":452,"start_page":453,"letter":"437","children":[]},{"name":"UDDI","end_page":452,"start_page":453,"letter":"437","children":[]},{"name":"REST","end_page":454,"start_page":453,"letter":"437","children":[]}]}]},{"name":"Index","end_page":488,"start_page":455,"letter":"439","children":[]}],"amazon_url":"http://www.amazon.com/Programming-Web-Services-Perl-Randy/dp/0596002068%3FSubscriptionId%3D0XY2AHHSA60D5M02M3R2%26tag%3Dpap-21%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0596002068","number_of_pages":488,"roman_numbers_start_at_page":3,"cover_url":"http://slingshot.paperc.de/documents/5243/thumb.png?1265502306","publisher_id":33}}
