我们有一个ASMX服务,并且在两个不同的服务器中部署了相同的代码,但是当一个服务器中发生异常或错误时,两个服务器返回的异常消息都不同。特别是故障字符串不同。下面是示例两个服务器发生错误时返回的消息
来自第一台服务器的消息
The remote server returned an error: (500) Internal Server Error.
SOAP Response:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Fault occurred</faultstring>
<faultactor>http://bbbonline.consumerservice/service.asmx?op=FileComplaint</faultactor>
<detail>ErrorOccured at so and so..</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
来自第二台服务器的消息
The remote server returned an error: (500) Internal Server Error.
SOAP Response:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>
System.Web.Services.Protocols.SoapException: Fault occurred
at BBBOnline.Application.MyService.MySoapException(XmlNode ErrorNode)
at BBBOnline.Application.MyService.FileAComplaint(String SSN, String Buisness, String Issue, String Reason, String date)
</faultstring>
<faultactor>http://bbbonline.consumerservices/service.asmx?op=FileComplaint</faultactor>
<detail>ErrorOccured..</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
在上述两个消息中,FaultString是不同的,但两个服务器中的代码完全相同。
答案 0 :(得分:0)
此问题通常是由两台服务器上的web.config文件的差异引起的。特别是,查看<customErrors>
元素是否不同。
如果web.configs相同,请查看两台服务器上machine.config
文件的差异。