在System.Web.Services中引发NullReferenceException

时间:2019-04-05 11:33:00

标签: vb.net soap asmx

我们有两个用VB.NET用ASP.NET Web服务编写的服务,它们通过生成的代理类相互通信。

对于仅一个端点(更多端点),当我们从服务A调用服务B时,​​在构造XML时,NullReferenceException中的WriteHeaders函数中会抛出System.Web.Services.Protocols有效负载(在服务A中)。请注意,不能在开发计算机上或在debug配置版本(仅release)中重现该问题。

到目前为止,我已经尝试在可以重现问题的环境中为远程调试器附加.Net符号,但是如上所述,在部署debug配置版本时,它工作正常。 另外,我们已经记录了此调用的所有参数和标头,并且在正常工作和非正常工作的情况下,值都相同。

与代理客户端的服务呼叫

...
_serviceClient.HeaderNameValue = New HeaderName(params)
_serviceClient.EndpointOnServiceB(params)
...

注意:调用EndpointOnServiceB时,它将进入Reference.vb文件,在该文件中我记录了所有参数和标头值。一切看起来都很好。 我们正在为其他端点做完全相同的事情,它们工作得很好。

堆栈跟踪

0
{"assembly":"System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a","method":"System.Web.Services.Protocols.SoapHeaderHandling.WriteHeaders","level":0,"line":0}
1
{"assembly":"System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a","method":"System.Web.Services.Protocols.SoapHttpClientProtocol.Serialize","level":1,"line":0}
2
{"assembly":"System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a","method":"System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke","level":2,"line":0}

0 个答案:

没有答案