使用带有ssl和基本身份验证的https

时间:2015-09-04 11:48:19

标签: c# wcf ssl

我正在尝试使用SSL和基本身份验证在我的HTTPS中执行基本的FaultException。  问题是当接收到异常时,客户端会收到WebException错误...而不是像预期的那样发生FaultException。

我也在我的服务中覆盖了一个部分,不确定它是否重要。我试图捕获的异常是在MyServiceAuthorizationManager类中。

      <serviceBehaviors>
    <behavior name="SecureRESTSvcTestBehavior">
      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
      <serviceAuthorization serviceAuthorizationManagerType="EngineAppServiceV001.MyServiceAuthorizationManager, EngineAppServiceV001"/>

这是我的IService1.cs

    [DataContract]
public class ServiceData
{
    [DataMember]
    public bool Result { get; set; }
    [DataMember]
    public string ErrorMessage { get; set; }
    [DataMember]
    public string ErrorDetails { get; set; }
}here

这是我的MyServiceAuthorizationManager中的错误部分,它正确地命中

                    myServiceData.Result = true;
                myServiceData.ErrorMessage = "this is user error message";
                myServiceData.ErrorDetails = "user error details";
                throw new FaultException<ServiceData>(myServiceData, "user reason error");

任何想法为什么它总是作为网络例外在客户端收到?

这是我在客户端上尝试和接收的方式

                catch (FaultException<ServiceData> ex)
            {
                var x1 = ex;
            }

以下是我的IService1.cs

[ServiceContract]
public interface IService1
{
    [OperationContract]
    [FaultContract(typeof(ServiceData))]
    [WebGet(UriTemplate = "/Login",
      ResponseFormat = WebMessageFormat.Json,
      RequestFormat = WebMessageFormat.Json,
      BodyStyle = WebMessageBodyStyle.WrappedRequest)]
    DataSet Login();

现在我试着像这样定义错误......

[OperationContract]
[FaultContract(typeof(MyExceptionContainer),Action ="",Name = "MyExceptionContainer", Namespace = "EngineAppServiceV001")]
//[FaultContract(typeof(MyExceptionContainer))]
[WebGet(UriTemplate = "/Login",
  ResponseFormat = WebMessageFormat.Json,
  RequestFormat = WebMessageFormat.Json,
  BodyStyle = WebMessageBodyStyle.WrappedRequest)]
DataSet Login();

仍然无法正常工作...附上错误信息图片

enter image description here

0 个答案:

没有答案