- - PR -
Webサービスにて、クライアントに例外の種類を伝える方法
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-08-16 10:20
Webサービスでとあるシステムを作っているのですが、Webサービス側で起きた例外をクライアントに通達する時、クライアントでの例外の種類の判断を皆さんはどうやって解決してますでしょうか?
Webサービス側で色々な例外が発生してクライアント側にthrowしても、クライアント側で例外を受け取ると全てSoapExeptionになってしまいます。 クライアントへthrowする際にSoapExceptionのDetailにXML化した例外情報を入れれば良いかなと思ったのですが、一般的に皆さんはどうやって解決しているのかを知りたくて質問しました。 よろしければ皆さんのやり方を教えてください。 | ||||||||
|
投稿日時: 2005-08-16 11:35
結合を疎にするために、「伝えるべきではない」という話を聞いたことがあります。
| ||||||||
|
投稿日時: 2005-08-16 13:12
ざっくりとですが、 クライアントにサーバでおこった事をそのまま伝えてもしょうがないので、 「エラーメッセージ」として正常なメッセージのやり取りをクライアントと 行なう事を考えます。 | ||||||||
|
投稿日時: 2005-08-16 17:57
にしざきさん、せんさん返信ありがとうございます。
Webサービス内で起きた例外の詳細はクライアントに公開すべきではないと言うのが一般的なのでしょうか。 他の皆さんもこういう状況の時どうするか意見がありましたらよろしくお願いします。 | ||||||||
|
投稿日時: 2005-08-17 12:02
unibon です。こんにちわ。
(これはあまり私は知識がないので分からないのですが。)
以前、少し Web Service を使った経験から考えたのですが、Web Service の例外は、Java の RuntimeException や .NET での Exception をどう扱うかと言う議論と同じ扱いが良いように思います。 例外の内容は、おっしゃるように detail の中に XML で入れるので良いと思いますが、実行時にその内容を見て条件分けするようになったら複雑すぎて取り扱いが大変になります。そのような XML はプログラマーがデバッグするための情報として位置付けて、運用時には見ないようにしたほうが良いでしょう。したがって、プログラムで見るべきエラーは Web Method の返り値で返すことになります。 | ||||||||
1
