SOAP(Simple Object Access Protcol)-クライアントでEnvelopeを表示する
SOAPモジュールを利用したXML-RPCサーバ/クライアント
# サーバ #!/usr/local/bin/perl -w use strict; use warnings; use SOAP::Transport::HTTP; my $cgi = SOAP::Transport::HTTP::CGI ->dispatch_to('SoapServer') ->handle(); package SoapServer; sub handler { my ($class,$arg_hash_ref) = @_; $class->choose; } sub choose { return 1; }
# サーバのレスポンスを出力するクライアント #!/usr/local/bin/perl -w use strict; use warnings; use SOAP::Lite; my $server = SOAP::Lite ->uri('urn:SoapServer') ->proxy('http://localhost/cgi-bin/soap_server.cgi') ->handler; if( $server->fault ){ print "code - " . $server->faultcode . "\n"; print "string - " . $server->faultstring . "\n"; }else{ print "result - " - $server->result . "\n"; }
-
-
- 結果---
-
result - 1
-
-
- 結果---
-
# サーバのレスポンスをXML(SOAP-Envelope)形式で表示するクライアント use strict; use warnings; use SOAP::Lite; my $server = SOAP::Lite ->uri('urn:SoapServer') ->outputxml(1) ->proxy('http://localhost/cgi-bin/soap_server.cgi') ->handler; print $server . "\n";
-
-
- 結果---
-
-
-
- 結果---
-
# サーバのレスポンスをXML(SOAP-Envelope)形式で表示するクライアント use strict; use warnings; use SOAP::Lite; my $server = SOAP::Lite ->uri('urn:SoapServer') ->outputxml(1) ->proxy('http://localhost/cgi-bin/soap_server.cgi') ->handler; print $server . "\n"; my $deserial = SOAP::Deserializer->new; $server = $deserial->deserialize($server); if( $server->fault ){ print $server->faultcode . "\n"; print $server->faultstring . "\n"; }else{ print "result - " - $server->result . "\n"; }
-
-
- 結果---
-
result - 1
-
-
- 結果---
-