- PR -

WEBサービスクライアント

投稿者投稿内容
MyHandle
常連さん
会議室デビュー日: 2007/04/15
投稿数: 39
投稿日時: 2009-02-20 15:13
自作のWEBサービスを利用するためのクライアント側のアプリケーションについて伺います。

条件は、
・イベントログを出力できる
・5分間隔で、要求のXMLをサービス側に送り、サービス側はレスポンスのXMLを返す。
です。

質問1:
質問の、クライアント側アプリケーションはEXE形式ではイベントログを出力できないのでwindowsサービスにするのだろうと思いますが、windowsサービスからxmlを要求トリガーとして送出できるのでしょうか?できるとしたらどういった手順になるのでしょうか?

質問2:
現在、exe形式でアプリケーションを作り、wsdl.exeでプロキシクラスを作るところまで
作成したのですが、いろいろ調べたのですが、xmlを送出(webサービス側へ要求)する方法がわかりません。
ボタンクリックイベントをトリガーにして、Webサービスのメソッドを呼び出してwebサービス側からxmlを文字列として受け取ることには成功しました。

WEBサービス側 windows2003サーバ
クライアント側 windows2003サーバ(レスポンスとして受け取ったxmlを解析して同じサーバ内のSQLサーバに保存する)

利用する言語
WEBサービス側もクライアント側もasp.net C#。

宜しくお願いちたします。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2009-02-20 16:07
引用:

MyHandleさんの書き込み (2009-02-20 15:13) より:

質問1:
質問の、クライアント側アプリケーションはEXE形式ではイベントログを出力できないのでwindowsサービスにするのだろうと思いますが、


Windows サービスにしなくても、イベントログは簡単に出力できますよ。
http://dobon.net/vb/dotnet/system/writeeventlog.html

または log4net のようなログ作成ツールを使うという手もあります。
http://www.atmarkit.co.jp/fdotnet/vblab/extcompo_01/log4net_01.html
MyHandle
常連さん
会議室デビュー日: 2007/04/15
投稿数: 39
投稿日時: 2009-02-24 10:57
rainさん、ありがとうございます。ぜひ試してみます。


質問2について、なにか手がかりでもご案内いただけたら幸いですが?
類似の対応をされた方はいらっしゃいませんか?

宜しくお願いいたします
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2009-02-24 11:55
XML形式のデータをサーバに送りたいのでしょうか?
それとも、Webサービスを利用するため、XML形式でサーバにリクエストを送りたい、ということでしょうか?

後者であれば、

> ボタンクリックイベントをトリガーにして、Webサービスのメソッドを呼び出して
> webサービス側からxmlを文字列として受け取ることには成功しました。

wsdl.exeでつくったプロキシクラスを利用して上記を行っているなら、プロキシクラスがXMLを使ったサービスの呼び出しをやってくれているんじゃないかと思いますが。
MyHandle
常連さん
会議室デビュー日: 2007/04/15
投稿数: 39
投稿日時: 2009-02-25 13:15
引用:

どっとねっとふぁんさんの書き込み (2009-02-24 11:55) より:
wsdl.exeでつくったプロキシクラスを利用して上記を行っているなら、プロキシクラスがXMLを使ったサービスの呼び出しをやってくれているんじゃないかと思いますが。



当初は単にWEBサービス側から文字列を返却していたのですが、やりたいことは
wsdlを使いたいのです。
プロキシクラスはなんとか作成したのですが、
クライアント側からの要求方法、その要求によってWEBサーバからの応答方法が疑問点です。
要求及び応答のXMLは用意しています。

なにかしらサンプルソースのようなサイトまたは書籍などないでしょうか?

よろしくお願いいたします。


どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2009-02-25 14:51
wsdlは用意してある、ということですかね?

http://msdn.microsoft.com/ja-jp/library/7h3ystb6.aspx
こいつを使って、Webサービス側、クライアント側のそれぞれのクラスを生成して、それを使って通信、じゃだめなんでしょうか。
MyHandle
常連さん
会議室デビュー日: 2007/04/15
投稿数: 39
投稿日時: 2009-02-25 15:39
引用:

どっとねっとふぁんさんの書き込み (2009-02-25 14:51) より:
wsdlは用意してある、ということですかね?

http://msdn.microsoft.com/ja-jp/library/7h3ystb6.aspx
こいつを使って、Webサービス側、クライアント側のそれぞれのクラスを生成して、それを使って通信、じゃだめなんでしょうか。




ご返信ありがとうございます。

プロキシクラスの実装方法が不明なのです。
WEBサービス側とクライアント側でそれぞれプロキシクラスが必要ということのようですが、やはり両方での実装方法が不明なのです。これが最大の疑問です。

wsdlはVisualStudioについていたものを使いました。
新たな疑問で、wedlのW3Cでいうところのバージョンってどこで確認したらいいのでしょう?プロキシのクラスは作成できたっぽいのですが、そのクラスの中に書かれているバージョンが該当しますか?

どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2009-02-25 15:54
wsdl.exeを使ったらクラスのソースが吐き出されると思います。
そのクラスをそのまま使う、つまりwsdl.exeが実装をある意味やってくれると思うのですが。。。

#なんかMyHandleさんが言ってる「実装」の意味が違うような気がしなくもない。

スキルアップ/キャリアアップ(JOB@IT)