1
遇到肥皂異常問題。 我在asp.net web服務投擲肥皂例外,必須以某種方式獲取異常(XML等格式),在瀏覽器中顯示,像這樣:wsdl肥皂異常
SOAP 1.1
<?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></faultstring>
<detail>
<Error>
<ErrorNumber>1</ErrorNumber>
<ErrorMessage>Error...</ErrorMessage>
</Error>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
從Web服務引發異常:
XmlDocument doc = new XmlDocument();
XmlNode detailNode = doc.CreateNode(XmlNodeType.Element, SoapException.DetailElementName.Name, SoapException.DetailElementName.Namespace);
XmlElement details = doc.CreateElement("Error");
XmlElement detailchild1 = doc.CreateElement("ErrorNumber");
detailchild1.InnerText = "1";
XmlElement detailchild2 = doc.CreateElement("ErrorMessage");
detailchild2.InnerText = "Error...";
details.AppendChild(detailchild1);
details.AppendChild(detailchild2);
detailNode.AppendChild(details);
throw new SoapException("Fault", SoapException.ClientFaultCode, "", details);
如果我使用調用該服務的Windows應用程序對其進行測試,我可以捕獲異常並提取所有細節,以便看起來所有內容都可以在創建xml和拋出異常時使用。 但我從瀏覽器得到的是內部錯誤500,這是根據其他答案,我發現正常行爲。我能以某種方式得到瀏覽器,而不是內部錯誤500 XML,也可能通過改變web.config中,IIS設置...