Download
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
System
>
TERASOLUNA Framework
>
Forums
>
Open Discussion
>
エラーハンドリングの方式について
TERASOLUNA Framework
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
Subversion
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
Communication
Forums
List of Forums
Open Discussion (1277)
Mailing Lists
list of ML
terasoluna-information
News
Forums:
Open Discussion
(Thread #25107)
Return to Thread list
RSS
エラーハンドリングの方式について (2010-01-14 17:24 by
udonsoba0315
#47901)
Reply
Create ticket
お世話になっております。
現在TERASOLUNA Client FW for.NET(VB)とTERASOLUNA Server FW for Java (Rich)でシステムを構築しているのですが、エラーハンドリングの方式について悩んでいます。
リッチ版でのエラーハンドリングはExceptionResolverで任意のXML電文を返却すればよいという風に理解しているのですが、これを返却してしまうと.NET側でServerExceptionしか返って来ず、エラー電文を取得できないように思います。(サーバロジックはEventController経由で呼び出ししています)
上のような組み合わせでシステムを構築する場合、一般的にどのようにエラーハンドリングを行うべきか、ご教授いただけないでしょうか。よろしくお願いします。
Reply to #47901
×
Subject
Body
Reply To Message #47901 > お世話になっております。 > > 現在TERASOLUNA Client FW for.NET(VB)とTERASOLUNA Server FW for Java (Rich)でシステムを構築しているのですが、エラーハンドリングの方式について悩んでいます。 > > リッチ版でのエラーハンドリングはExceptionResolverで任意のXML電文を返却すればよいという風に理解しているのですが、これを返却してしまうと.NET側でServerExceptionしか返って来ず、エラー電文を取得できないように思います。(サーバロジックはEventController経由で呼び出ししています) > > 上のような組み合わせでシステムを構築する場合、一般的にどのようにエラーハンドリングを行うべきか、ご教授いただけないでしょうか。よろしくお願いします。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: エラーハンドリングの方式について (2010-01-15 14:24 by
sejimos
#47914)
Reply
Create ticket
クライアントの通信機能では、HTTPレスポンスを解析し exception ヘッダに設定された値を「エラー種別」
として扱い、エラー種別に応じて処理の振り分けを行います。
・エラー種別が "exception" の場合、ServerExceptionをスローします。
・エラー種別が "validateException" の場合、EventController.execute() の戻り値である ExecutionResult の
ResultString プロパティに "serverValidateException" が設定され、イベント処理が正常終了します。
・エラー種別が、 "exception"、"validateException" 以外の任意の文字列の場合、ResultString プロパティに
その文字列が設定され、イベント処理が正常終了します。
サーバ発生した例外に応じてHTTPレスポンスの exception ヘッダにエラー種別を設定するには、
Bean定義ファイルの SimpleMappingExceptionResolverEx の定義の entry 要素において、
ハンドリングしたい例外を指定します。
value要素の第二引数に設定した値がエラー種別として設定されます。
以下、Bean定義ファイルのサンプルになります。
<!-- ==================== 例外ハンドラの定義 ===================== -->
<bean id="handlerExceptionResolver"
class="jp.terasoluna.fw.web.rich.springmvc.servlet.handler.SimpleMappingExceptionResolverEx">
<property name="linkedExceptionMappings">
<map>
・・・省略・・・
<entry key="jp.terasoluna.fw.service.rich.exception.ServiceException">
<value>serviceException,serviceException</value>
</entry> ↑
・・・省略・・・ 「エラー種別」
</map>
</property>
・・・省略・・・
</bean>
Reply to
#47901
Reply to #47914
×
Subject
Body
Reply To Message #47914 > クライアントの通信機能では、HTTPレスポンスを解析し exception ヘッダに設定された値を「エラー種別」 > として扱い、エラー種別に応じて処理の振り分けを行います。 > > ・エラー種別が "exception" の場合、ServerExceptionをスローします。 > ・エラー種別が "validateException" の場合、EventController.execute() の戻り値である ExecutionResult の > ResultString プロパティに "serverValidateException" が設定され、イベント処理が正常終了します。 > ・エラー種別が、 "exception"、"validateException" 以外の任意の文字列の場合、ResultString プロパティに > その文字列が設定され、イベント処理が正常終了します。 > > サーバ発生した例外に応じてHTTPレスポンスの exception ヘッダにエラー種別を設定するには、 > Bean定義ファイルの SimpleMappingExceptionResolverEx の定義の entry 要素において、 > ハンドリングしたい例外を指定します。 > value要素の第二引数に設定した値がエラー種別として設定されます。 > > 以下、Bean定義ファイルのサンプルになります。 > > <!-- ==================== 例外ハンドラの定義 ===================== --> > <bean id="handlerExceptionResolver" > class="jp.terasoluna.fw.web.rich.springmvc.servlet.handler.SimpleMappingExceptionResolverEx"> > <property name="linkedExceptionMappings"> > <map> > ・・・省略・・・ > <entry key="jp.terasoluna.fw.service.rich.exception.ServiceException"> > <value>serviceException,serviceException</value> > </entry> ↑ > ・・・省略・・・ 「エラー種別」 > </map> > </property> > ・・・省略・・・ > </bean>
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: エラーハンドリングの方式について (2010-01-15 19:19 by
udonsoba0315
#47919)
Reply
Create ticket
クライアント側ではresult.Errorsの中身を見て処理を振り分けるという形になるのでしょうか?
デバッグでは見えているのでこのまま進めてみます。
対応ありがとうございました。
Reply to
#47901
Reply to #47919
×
Subject
Body
Reply To Message #47919 > クライアント側ではresult.Errorsの中身を見て処理を振り分けるという形になるのでしょうか? > デバッグでは見えているのでこのまま進めてみます。 > > 対応ありがとうございました。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: エラーハンドリングの方式について (2010-01-15 20:24 by
Anonymous
#47920)
Reply
Create ticket
> クライアント側ではresult.Errorsの中身を見て処理を振り分けるという形になるのでしょうか?
ご理解いただいている通りです。
ExecutionResultのResultStringプロパティにはエラータイプを示す文字列が格納され、
Errorsプロパティには具体的なエラー内容が格納されますので、Errorsの中身をみて処理を振り分けてください。
Reply to
#47919
Reply to #47920
×
Subject
Body
Reply To Message #47920 > > クライアント側ではresult.Errorsの中身を見て処理を振り分けるという形になるのでしょうか? > ご理解いただいている通りです。 > > ExecutionResultのResultStringプロパティにはエラータイプを示す文字列が格納され、 > Errorsプロパティには具体的なエラー内容が格納されますので、Errorsの中身をみて処理を振り分けてください。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel