处理SharePoint WebService中的FaultExceptions

时间:2017-12-06 12:44:59

标签: javascript c# web-services sharepoint exception-handling

我正在寻找一种方法来处理与SharePoint关联的WebService上的Server-Exception,并将正确的Exception传递给客户端。目前,客户端获取内部错误(500)异常。我想将有关Exception而不是500的更多信息传递给客户端。

我的现状: 使用c#,我定义了一个WebService和相关函数,其中出现了Exception。

我在网上搜索并实施了以下几点: 我抓住那个普通的异常并抛出一个FaultException。

强制异常的代码示例:

public object ServiceAction()
{
    try
    {
        throw new Exception("This is a Test-Exception");
    }
    catch (Exception ex)
    {
        Logger.Log(ex.Message);
        throw new FaultException<Exception>(ex, "This Exception is my Test");
    }
}

在web.config上我还添加了行为“includeExceptionDetailInFaults”并将其设置为true:

<system.serviceModel>
 <behaviors>
  <serviceBehaviors>
    <behavior>
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>

客户端使用JavaScript-Fetch调用WebService:

fetch('https://customer.sharepoint.local/_vti_bin/customer.SharePoint/customer.service.asmx/ServiceAction',
{
    method: 'GET',
    headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    },

})
.then(response => response.json())
.then(data => {
    if (!data.d) {
        console.log(data)
    }

})
.catch(error => {
    console.log(error)
});

现在问题是客户端仍然出现内部错误(500)异常。

感谢您提前帮助。

0 个答案:

没有答案