Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
jp:popfilemodules:xmlrpc [2007/05/23 19:38] amatubujp:popfilemodules:xmlrpc [2009/09/06 15:38] – Fixed sample codes amatubu
Line 35: Line 35:
  
 ===== サンプルコード ===== ===== サンプルコード =====
 +
  
 ==== 簡単な例 ==== ==== 簡単な例 ====
 === Perl の例 1 === === Perl の例 1 ===
-<code>+<code perl>
 use strict; use strict;
 use XMLRPC::Lite; use XMLRPC::Lite;
Line 60: Line 61:
  
 === Python の例 1 === === Python の例 1 ===
-<code>+<code python>
 from xmlrpclib import ServerProxy from xmlrpclib import ServerProxy
 POPFile = ServerProxy("http://localhost:8081") POPFile = ServerProxy("http://localhost:8081")
Line 75: Line 76:
  
 === Delphi の例 === === Delphi の例 ===
-<code>+<code delphi>
 program popdelphi; program popdelphi;
 {$APPTYPE CONSOLE} {$APPTYPE CONSOLE}
Line 128: Line 129:
  
 === NSBasic/CE for Windows CE Example === === NSBasic/CE for Windows CE Example ===
-<code>+<code nsbasic>
  AddObject "PocketXMLRPC.Factory","xmlrpc"  AddObject "PocketXMLRPC.Factory","xmlrpc"
  Set popfile = xmlrpc.proxy("http://192.168.200.1:8081/RPC2","POPFile/API.")  Set popfile = xmlrpc.proxy("http://192.168.200.1:8081/RPC2","POPFile/API.")
Line 138: Line 139:
  
 この実装では、 [[http://www.nsbasic.com/ce/| NS Basic/CE for Windows CE]] を使用しています。 この実装では、 [[http://www.nsbasic.com/ce/| NS Basic/CE for Windows CE]] を使用しています。
-[[http://www.pocketsoap.com/pocketHTTP/**PocketHTTP**]] と [[http://www.pocketsoap.com/pocketXMLRPC/**PocketXML-RPC**]] COM コンポーネントも必要になります。+[[http://www.pocketsoap.com/pocketHTTP/| PocketHTTP]] と [[http://www.pocketsoap.com/pocketXMLRPC/| PocketXML-RPC]] COM コンポーネントも必要になります。
  
 覚えておきましょう、ここでは、localhost にアクセスしているのではなく、POPFile をインストールしたのとは別のマシンを使用しています。そのため、モバイルマシンが、POPFile が稼働しているマシンの有効なネットワーク IPアドレスをさす必要があります。上記の例では、192.168.200.1 が POPFile が稼働しているあなたのデスクトップ PC のIP アドレスです。あなたのモバイルマシンが ブルートゥースや無線LANを経由して、XMLRPC インターフェースにアクセスすることになります。 覚えておきましょう、ここでは、localhost にアクセスしているのではなく、POPFile をインストールしたのとは別のマシンを使用しています。そのため、モバイルマシンが、POPFile が稼働しているマシンの有効なネットワーク IPアドレスをさす必要があります。上記の例では、192.168.200.1 が POPFile が稼働しているあなたのデスクトップ PC のIP アドレスです。あなたのモバイルマシンが ブルートゥースや無線LANを経由して、XMLRPC インターフェースにアクセスすることになります。
Line 145: Line 146:
 ==== 応用例  ==== ==== 応用例  ====
 === Perl の応用例 1 (もっと複雑なエラーチェック) === === Perl の応用例 1 (もっと複雑なエラーチェック) ===
-<code>+<code perl>
 use strict; use strict;
 use XMLRPC::Lite; use XMLRPC::Lite;
Line 220: Line 221:
 === 応用例 2 ==== === 応用例 2 ====
 pipe.pl を XMLRPC のクライアントとして実装します。 pipe.pl を XMLRPC のクライアントとして実装します。
-<code> +<code perl
-  -!/usr/bin/perl+#!/usr/bin/perl
 use strict; use strict;
 use XMLRPC::Lite; use XMLRPC::Lite;
  
-  - 安全な一時ファイルを使用したいのですが、このスクリプトはふつうひとりのユーザとして動くでしょう+安全な一時ファイルを使用したいのですが、このスクリプトはふつうひとりのユーザとして動くでしょう
 use File::Temp qw/tempfile tempdir/; use File::Temp qw/tempfile tempdir/;
  
-  - アクセスすることができるフォルダはスクリプトが終了したときに削除されるでしょう+アクセスすることができるフォルダはスクリプトが終了したときに削除されるでしょう
 my $temp_dir = tempdir( CLEANUP => 1); my $temp_dir = tempdir( CLEANUP => 1);
  
-  - フルパスが指定された一時ファイル+フルパスが指定された一時ファイル
 my ($fh_in, $filename_in) = tempfile('popfileinXXXXXXX', SUFFIX => ".msg", UNLINK => 1 , DIR => $temp_dir); my ($fh_in, $filename_in) = tempfile('popfileinXXXXXXX', SUFFIX => ".msg", UNLINK => 1 , DIR => $temp_dir);
  
-  - パイプとして動くため、標準入力 (STDIN) から読み込みます+パイプとして動くため、標準入力 (STDIN) から読み込みます
 while (<STDIN>) { while (<STDIN>) {
  print $fh_in $_;  print $fh_in $_;
 } }
  
-  - POPFile は、ファイルが閉じられていることを前提とします+POPFile は、ファイルが閉じられていることを前提とします
 close $fh_in; close $fh_in;
  
-  - 安全な出力ファイルを作成します+安全な出力ファイルを作成します
 my ($fh_out, $filename_out) = tempfile('popfileoutXXXXXXX', SUFFIX => ".msg", UNLINK => 1, DIR => $temp_dir); my ($fh_out, $filename_out) = tempfile('popfileoutXXXXXXX', SUFFIX => ".msg", UNLINK => 1, DIR => $temp_dir);
  
-  - XMLRPC のプロキシ+XMLRPC のプロキシ
 my $xmlrpc = XMLRPC::Lite ->proxy('http://localhost:8086/RPC2'); my $xmlrpc = XMLRPC::Lite ->proxy('http://localhost:8086/RPC2');
  
-  - POPFile に挨拶して、セッションキーを取得します+POPFile に挨拶して、セッションキーを取得します
 my $sk = $xmlrpc-> call('POPFile/API.get_session_key','admin',//) my $sk = $xmlrpc-> call('POPFile/API.get_session_key','admin',//)
  -> result;  -> result;
  
-  - ここで仕事をします+ここで仕事をします
 $xmlrpc-> call('POPFile/API.handle_message',$sk,$filename_in,$filename_out) $xmlrpc-> call('POPFile/API.handle_message',$sk,$filename_in,$filename_out)
  -> result;  -> result;
  
-  - POPFile にお別れをします+POPFile にお別れをします
 $xmlrpc-> call('POPFile/API.release_session_key',$sk); $xmlrpc-> call('POPFile/API.release_session_key',$sk);
  
-  - パイプとして動くために、標準出力 (STDOUT) に書き込みます+パイプとして動くために、標準出力 (STDOUT) に書き込みます
 while (<$fh_out>) { while (<$fh_out>) {
  print $_;  print $_;
 } }
  
-  - 終了します。File::Temp が(一時ファイルを)片付けてくれます+終了します。File::Temp が(一時ファイルを)片付けてくれます
 exit(0); exit(0);
  
 
jp/popfilemodules/xmlrpc.txt · Last modified: 2009/09/25 18:11 by 127.0.0.1
Old revisions

Should you find anything in the documentation that is incomplete, unclear, outdated or just plain wrong, please let us know and leave a note in the Documentation Forum.

Recent changes RSS feed Donate Driven by DokuWiki
The content of this wiki is protected by the GNU Fee Documentation License