XML::RPC::Enc - phpMan

Command: man perldoc info search(apropos)  


XML::RPC::Enc(3pm)             User Contributed Perl Documentation             XML::RPC::Enc(3pm)

NAME
       XML::RPC::Enc - Base class for XML::RPC encoders

SYNOPSIS
       Generic usage

           use XML::RPC::Fast;

           my $server = XML::RPC::Fast->new( undef, encoder => XML::RPC::Enc::LibXML->new );
           my $client = XML::RPC::Fast->new( $uri, encoder => XML::RPC::Enc::LibXML->new );

METHODS
       The following methods should be implemented

   new (%args)
       Should support arguments:

       internal_encoding [ = undef ]
           Internal encoding. "undef" means wide perl characters (perl-5.8.1+)

       external_encoding [ = utf-8 ]
           External encoding. Which encoding to use in composed XML

   request ($method, @args) : xml byte-stream, [ new call url ]
       Encode request into XML

   response (@args) : xml byte-stream
       Encode response into XML

   fault ($faultcode, $faultstring) : xml byte-stream
       Encode fault into XML

   registerClass ($class_name,$encoder_cb)
       Register encoders for custom Perl types

       Encoders description:

           # Generic:
           $simple_encoder_cb = sub {
               my $object = shift;
               # ...
               return type => $string;
           };

           # Encoder-dependent (XML::RPC::Enc::LibXML)
           $complex_encoder_cb = sub {
               my $object = shift;
               # ...
               return XML::LibXML::Node;
           };

       Samples:

           $enc->registerClass( DateTime => sub {
               return ( 'dateTime.iso8601' => $_[0]->strftime('%Y%m%dT%H%M%S.%3N%z') );
           });

           # Encoder-dependent (XML::RPC::Enc::LibXML)
           $enc->registerClass( DateTime => sub {
               my $node = XML::LibXML::Element->new('dateTime.iso8601');
               $node->appendText($_[0]->strftime('%Y%m%dT%H%M%S.%3N%z'));
               return $node;
           });

   decode ($xml) : $methodname, @args
       Decode request xml

   decode ($xml) : @args
       Decode response xml

   decode ($xml) : { fault => { faultCode => ..., faultString => ... } }
       Decode fault xml

   registerType ($xmlrpc_type,$decoder_cb)
       Register decoders for XML-RPC types

       $decoder_cb is depends on encoder implementation.

       Samples for XML::RPC::Enc::LibXML

           $enc->registerType( base64 => sub {
               my $node = shift;
               return MIME::Base64::decode($node->textContent);
           });

           $enc->registerType( 'dateTime.iso8601' => sub {
               my $node = shift;
               return DateTime::Format::ISO8601->parse_datetime($node->textContent);
           });

COPYRIGHT & LICENSE
       Copyright (c) 2008-2009 Mons Anderson.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

AUTHOR
       Mons Anderson, "<mons AT cpan.org>"

perl v5.20.2                                2011-10-19                         XML::RPC::Enc(3pm)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-12-12 19:36 @3.141.41.227 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!