.NET WCFを使用してWebサービスを作成し、それをJAX-WS( wsimport )で使用するときに、SOAP障害を正しい方法で定義するためのヘルプ/アドバイスを探しています。
私のサービスが次のようになっていると仮定しましょう。
[ServiceContract(Namespace = "http://sub.pub.com")]
public interface IService
{
[OperationContract]
[FaultContract(typeof(ArgumentOutOfRangeException))]
void OperationOne(int deviceId, int socket);
[OperationContract]
[FaultContract(typeof(ArgumentOutOfRangeException))]
void OperationTwo(int deviceId, int socket);
}
私のサービスのどこかで私は次のことをしています...
throw new FaultException<ArgumentOutOfRangeException>(...);
WCFサービスのWSDLに対してJAX-WSアーティファクトを生成すると、OperationOneとOperationTwoに対して次のJava例外が発生します。
- IServiceOperationOneArgumentOutOfRangeExceptionFaultFaultMessage
- IServiceOperationTwoArgumentOutOfRangeExceptionFaultFaultMessage
それは機能しますが、それは醜く、同じものに2つの例外があるため(この例では引数が範囲外です)、私のコードは奇妙になります。
- 一般的なFaultExceptionを正しい方法で使用していますか?
- このようなWSDLをwsimportで正しく使用して、例外を1つだけ生成するにはどうすればよいですか?