[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[opensoap-users-ja:0065] Re: stdio コネクション



坂東@ISRCです。

Morikiyo INOHA <mor@eva.ie.u-ryukyu.ac.jp> write:
:こんにちは.
:琉球大学の伊野波です.

伊野波さんこんにちは。

:stdioでコネクションしたいのですが,
:よくわからなくて困ってます.
:
:サンプルHelloで例えると,
:$ ./HelloClient "name" | ./HelloService
:とやりたいのです.

SOAP のクライアントの動作としては、通常サービスに対して
リクエストを投げ、そのレスポンスを受け取るようになるため、
片方向しかないパイプでは実現できないと思います。
まぁ、リクエスト投げっぱなしのサービスがあってもいいと思いますが、
例にあげている HelloService は、そのようなサービスではないと思うので。
それで、もしそのようなものを実現するとしたら、
$ ./HelloRequestClient "name" | ./HelloService | ./HelloResponseClient
のように実行するべきだと思いますが、
現状の OpenSOAP では、http 以外のトランスポートをサポートしていないので、
実現はできないと思います。
また、接続先を URL で指定するようになっていて、かつ、
標準入力および標準出力に対する URL 表現が存在しないようなので、
機能拡張も難しいのではないでしょうか?

awk のように、file:///dev/stdin, file:///dev/stdout をそれぞれ、
標準入力、標準出力と規定すれば、実現できなくもないとは思いますが、
Windows などで、C:\DEV\STDIN や C:\DEV/STDOUT をどのようにして
処理できるようにするか考えなければなりませんし。

:(この場合はTransport関数は使わずにStream関数を使う?)
:
:ClientでのEnvelopeの標準出力への書き出しをどうやるのか
:教えて下さい.

サンプルプログラムにある PrintEnvelope ではダメですか?