WCF EntLib検証-変更をデフォルトのSOAPフォルトのテキストの理由
質問
私が使っているの 企業図書館の検証用ブロック 私は、WCFサービスです。すべてが、と。純消費者のもあります。 FaultException<ValidationFault>
例外を集人間が読む事業。しかしするものではありませんでしたnon-.Net 消費者、特にされる方は是非ご参加くださいすみの原SOAPメッセージ。の石鹸の理由書は必ず"クールもこの断層かを指定しないで理由です。"こんもり は その理由で特定の <Detail>
要素の例で示したとおりの断層メッセージです。
はありまでを何でもこなせます。テキスト"クールもこの断層かを指定しないで理由です。"何かをより良い"見ValidationFault詳細"?
<s:Body>
<s:Fault>
<s:Code>
<s:Value>s:Sender</s:Value>
</s:Code>
<s:Reason>
<s:Text xml:lang="en-GB">The creator of this fault did not specify a Reason.</s:Text>
</s:Reason>
<s:Detail>
<ValidationFault xmlns="http://www.microsoft.com/practices/EnterpriseLibrary/2007/01/wcf/validation" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Details xmlns:b="http://schemas.datacontract.org/2004/07/Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF">
<b:ValidationDetail>
<b:Key i:nil="true"/>
<b:Message>Value Validator</b:Message>
<b:Tag>request</b:Tag>
</b:ValidationDetail>
</Details>
</ValidationFault>
</s:Detail>
</s:Fault>
</s:Body>
解決
まあ、それはそうです。私はEntLibコードの変化があることが必要であるところに注意して問題を提起しました自分のCodePlexサイトのでは。私は、これがまた EntLibContrib のプロジェクトの一環として、誰でも行うことができると思いますが、彼らはまだエンタープライズにあるように見えます図書館3.1、私は4.1を使用していに対します。
私は、誰もが必死だ場合、解決策はEntLibのソースコードをダウンロードし、(BeforeCall
名前空間内)ValidationParameterInspector
クラスのMicrosoft.Practices.EnterpriseLibrary.Validation.Integration.WCF
の方法を変更するだろうと思います。 FaultException
が作成される場所です。このコンストラクタのオーバーロードはFaultReason
を指定することができます。
他のヒント
どのようにお、WCFサービスを生成しこれらの断層の
見てるときに FaultException クラス、WCFが数多くできる方法を構築しその一つを含む一 コンストラクタ できるように指定FaultReasonの石鹸。
Marc