2005-05-06 (Fri) [長年日記]
_ Apache用全文検索モジュールmod_search_rast 0.0.1
全文検索システムRastをApache 2.0.xに組み込み、Webベースのサーチエンジンサービスを実行するモジュール mod_search_rast v0.0.1 をリリース。
[MODULE.JP - Apache用全文検索モジュールmod_search_rast 0.0.1より引用]
おお。
_ base64
どうもAction Web Serviceでは型に:base64を指定しても:stringに正規化されてしまうらしい。
def canonical_type_name(name) name = name.to_sym case name when :int, :integer, :fixnum, :bignum :int when :string, :base64 :string
当然、SOAP的にもxsd:base64ではなくxsd:stringとして公開されてしまう。 うーん、:stringとしておいて、サーバ/クライアントそれぞれで明示的にpack/unpack すれば一応バイナリデータを扱うことはできるけど、気に入らない。
Action Web Serviceって、実は、SOAPではあまり実績がないのかなあ。 ていうか、XML-RPCでも同じ問題があるのかも。 いや、そもそもXML-RPCにxsd:base64相当があるかどうかも知らないけど。
TODOを見ると、
- Don't have clean way to go from SOAP Class object to the xsd:NAME type string -- NaHi possibly looking at remedying this situation
なんて書いてあった。 なひさんにがんばってもらうしか!
む。そのコメントだけ読むと「あのメソッドじゃだめなん?」とか思うけど、きっと違うんだろうなぁ。つまり何が問題か把握できてないです。Rails、最初にさわって以来見てないや。。。
私もあんまりコード読んでないのでよくわかってないのですが、<br>primitive typeは全部Rubyの標準クラスにマッピングしているようなので、:stringも:base64も両方Stringとして扱ってしまっているのかなあ、と。