■
S2Axisにボチボチと手を出してみたり。正直言ってかなりスゲェです。
ああ、何かやって欲しい事は全部やって貰ったかなぁ…と。
追記:
と、思ったのですが、ログをクライアントサイドで出力する事を鑑みて調査してみた所、
client-config.wsddと言うファイル名で
クライアントサイドのクラスパスルートにファイルを作成すると、
クライアントサイドでも、Handlerをアレコレ仕込む事が出来るみたいです。
丁度こんな感じ…
<?xml version="1.0" encoding="UTF-8"?> <deployment name="defaultClientConfig" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <globalConfiguration> <parameter name="disablePrettyXML" value="true"/> </globalConfiguration> <transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"> <requestFlow> <handler type="java:org.seasar.axis.examples.ex06.LoggingHandler"/> </requestFlow> <responseFlow> <handler type="java:org.seasar.axis.examples.ex06.LoggingHandler"/> </responseFlow> </transport> <transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/> <transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/> </deployment>
現状の、org.seasar.axis.server.deployment.Deployerだと、
多分きっとSOAPサーバ時のHandlerしかデプロイ出来ないんじゃないかと思います。
と言うわけで、SOAPクライアントになる時にも、
S2ContainerにHandlerをデプロイ出来ないかなぁ…と思う次第です。
如何でしょうか?id:koichikさん。
思いつきのメモ書きなのです。
org.apache.axis.MessageContextのライフタイムが若干恐い感じ。
でも、きっとリクエスト単位に作られては破棄されるんだろうな…と。
MessageContext#setPropertyも、APIのセンスに疑問があるけど、
まぁ突付くならこの辺位かな…っと。
僕がHandlerとして作成しようとしているのは、
SOAPのメッセージをXMLの形のままRDBなりローカルファイルなりにロギングするHandlerです。
名付けて「問題解決丸」。ってのは、冗談デスガ。
ポイントは、ステータスコードを付属しなければならない事。
例えば、
みたいな。
ステータス管理があるので、Log4jみたいなロギングAPIがうまく使えないのが悲しいデス。
リクエストのXMLとレスポンスのXMLをキチンと対にして管理出来る事と
それぞれのステータスもセットに管理出来る事が、最重要課題。
パフォーマンスのボトルネックになるのもイカンです。ハイ。