webservice接口返回异常soapenv:Server.userException,后台catch不到任何异常

Webservice部署异常排查
本文介绍了一种Webservice接口在本地测试正常但在部署后出现异常的情况。通过分析发现是由于后台类缺失导致的问题,并最终通过整包替换解决了该问题。

做了个webservice接口,测试时,本地正常,但是部署到现场后,报错如下图:

后台没有catch到任何异常。

经检查应该是后台某个类缺失或者严重错误,这种情况下直接返回错误,catch不到异常。

整包替换后,问题解决。

.NET 中,你可以使用 `HttpWebRequest` 类以及 XML Web Service (WS) 的 SOAP 协议来发送 HTTP 请求到 WebService 接口。`@xmlns:soapenv` 标签通常表示命名空间,这里的 `soapenv` 很可能是 "SOAPEnvelope",它是 SOAP 消息的基本结构,包含了消息头和体。 下面是一个简单的示例,展示如何使用 `HttpWebRequest` 发送 SOAP 请求到一个名为 "MyWebService" 的服务: ```csharp using System; using System.Net; using System.Text; using System.Xml.Linq; namespace CSharpDotNetWebServicesExample { public class Program { private const string SoapAction = "http://mywebservice.com/MyOperation"; private const string Url = "https://example.com/services/MyWebService.asmx"; static void Main(string[] args) { // 创建 SOAP 消息 XDocument soapMessage = new XDocument( new XElement("soapenv:Envelope", new XElement("soapenv:Header", /* 添加任何头部信息 */), new XElement("soapenv:Body", new XElement("ns:MyOperation", // 'ns'是你wsdl文件中的命名空间 new XElement("param1", "value1"), new XElement("param2", "value2") )) )); // 设置请求 var request = (HttpWebRequest)WebRequest.Create(Url); request.Method = "POST"; request.ContentType = "text/xml; charset=utf-8"; request.Headers["SOAPAction"] = SoapAction; request.ContentLength = soapMessage.ToString().Length; // 写入消息体 using (var streamWriter = new StreamWriter(request.GetRequestStream())) { soapMessage.Save(streamWriter); } try { // 获取响应 var response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { // 读取并处理响应数据 using (var reader = new StreamReader(response.GetResponseStream())) { Console.WriteLine(reader.ReadToEnd()); } } else { Console.WriteLine($"Error: {response.StatusCode}"); } } catch (Exception ex) { Console.WriteLine(ex.Message); } } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值