我有一个试图从.net 调用的第 3 方网络服务(恰好是 peoplesoft EIP 服务)。我尝试使用服务引用和旧的 Web 引用来调用此服务,每次调用它时,我都会从服务中得到“无”的响应。
我已经通过 SoapUI 运行了服务调用,它工作正常。我已经使用 Fiddler 捕获了网络流量,并注意到当我从 SoapUi 或 .Net 调用服务时,我从调用中得到了相同的结果 xml。所以这意味着电话正在工作。我已在 WCF 中打开跟踪和日志记录,但没有看到任何错误。它也不会抛出异常。
所以我的理论是 .net 很难将服务中的 xml 转换回 .net 对象。
这是我的代码片段:
Dim psclient As New psService.LSS_WEBORDER_PortTypeClient
Dim psreq As New psService.LSS_WEBORDER_REQ_MSG_TypeShape
psreq = New psService.LSS_WEBORDER_REQ_MSG_TypeShape
Dim orderinfo(1) As psService.Transaction_TypeShape
Dim captureid As String = "WB" & Right(Guid.NewGuid.ToString, 8)
orderinfo(0) = New psService.Transaction_TypeShape
orderinfo(0).LSS_WEBOHDR_WRK = New psService.LSS_WEBOHDR_WRKMsgDataRecord_TypeShape
orderinfo(0).LSS_WEBOHDR_WRK.CAPTURE_ID = New psService.CAPTURE_ID_TypeShape
orderinfo(0).LSS_WEBOHDR_WRK.CAPTURE_ID.Value = captureid
psreq.MsgData() = orderinfo
Dim response As New psService.LSS_WEBORDER_RESP_MSG_TypeShape
response = psclient.LSS_WEBORDER_OP(psreq)
response.ToString() <-- this throws an exception because "response" is nothing.
psclient.Close()
任何帮助,将不胜感激。
保罗