我正在寻找一种方法来处理与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)异常。
感谢您提前帮助。