Axis2 1.5.1で rampart 1.4 の sample を動かして、SOAP メッセージを TCPMon で観察するやり方のメモ。basic と policy があるけど、ここでは basic で説明。Windows 環境で、基本、コマンドプロンプトから Ant 叩くだけ。
(以下、rampart を展開したディレクトリを {rampart}とする。あと {rampart}\samples\basic\README.txt を読んでいること前提。)
■ 準備- コマンドプロンプトから、{rampart}/samples/basic に行く
- 環境変数 AXIS2_HOME が 設定されていることを確認。
- build.xml の client.port プロパティを 8080 から適当な値に書き換える(ここでは 8888 とした)。このポートがTCPMonの受け口になる。
<property name="client.port" value="8888"/>
- addressing.mar プロパティを addressing-1.4.mar から ~1.5.1 に書き換える
<property name="addressing.mar" value="addressing-1.5.1.mar"/>
- client.axis2.xml の以下の部分をコメントアウトする
<!-- <transportSender name="tcp"
class="org.apache.axis2.transport.tcp.TCPTransportSender"/>-->
■ 実行
まずは、とりあえず basic 下の sample01 を動かしてみる。
- TCPMon を起動。Admin タブで以下の設定を追加
- Listen Port 8888
- Target Hostname 127.0.0.1
- Target Port 8080
- コマンドプロンプトで、samples\basic下からサービスを立ち上げる。自前の HTTPサーバを立てている模様。
~~\samples\basic>ant server.01
- もう一個のコマンドプロンプトでクライアントを実行する。
~~\samples\basic>ant client.01
- 以下の出力を確認(ほんとは1行)
[java] <ns:echoResponse xmlns:ns=
"http://sample01.samples.rampart.apache.org">
<ns:return>Hello world</ns:return></ns:echoResponse>
- ログを見たかったら、{rampart}\samples\basic\build\temp_client に log4j.properties を適当に書けばダラダラ出力される。
- TCPMon はこんな感じになる。sample01 は WS-Security を使っていないので、Adressing が付いただけのあっさりしたヘッダ。
- ちなみにsample02をやってみると、SOAPヘッダにこんなのが追加されたのわかる。
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soapenv:mustUnderstand="1">
<wsu:Timestamp
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="Timestamp-7866553">
<wsu:Created>2009-11-16T10:47:08.375Z</wsu:Created>
<wsu:Expires>2009-11-16T10:52:08.375Z</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="UsernameToken-31658378">
<wsse:Username>bob</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"
>KnUNxZhw8uDNeBpJXOwb6uZzdP8=</wsse:Password>
<wsse:Nonce>O0u/xram0QS4x7P6sgFijQ==</wsse:Nonce>
<wsu:Created>2009-11-16T10:47:08.359Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
ちょっと面白い。
0 件のコメント:
コメントを投稿