首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PayPal PayFlowPro COMException 0x8000000A

PayPal PayFlowPro COMException 0x8000000A
EN

Stack Overflow用户
提问于 2014-01-15 20:26:24
回答 1查看 266关注 0票数 0

我们有一些代码,运行连接到贝宝的PayFlowPro,以更新信用卡使用的经常性计费订阅。这段代码过去在.Net 2应用程序池中运行良好,但当我们将它迁移到4.0时,它非常敏感--有时起作用,有时却不起作用。代码看起来非常简单,所以我不知道问题出在哪里。

错误是:System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Runtime.InteropServices.COMException (0x8000000A): The data necessary to complete this operation is not yet available.

间歇性失败(但用于处理旧服务器)的代码块是:

代码语言:javascript
复制
Try
objWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
objWinHttp.Open("POST", GatewayHost, False)
objWinHttp.setRequestHeader("Content-Type", "text/namevalue") ' for XML, use text/xml
objWinHttp.SetRequestHeader("X-VPS-Timeout", "90")
objWinHttp.SetRequestHeader("X-VPS-Request-ID", requestID)

objWinHttp.Send(parmList)
 Catch exc As Exception

 End Try

 ' Get the text of the response. (DIES ON LINE BELOW)
 transaction_response = objWinHttp.ResponseText

令人困惑的是它间歇性地工作,这总是最难调试的。这已经存在多年了,唯一的区别是我们的应用程序池现在运行在.Net 4和.Net 2.0下,但我认为这不会是一个问题。我把它翻转回2.0,现在它运行得完美无缺。

对从哪里开始找有任何猜测吗?WinHttp.WinHttpRequest.5.1在.Net 4中有问题吗?旧的服务器是2008年的R2,而新的服务器是2012年的R1,所以也许这也是其中的一部分?

更新--更改为2.0仍然没有修复它。它在工作,然后又停了下来。这没有任何意义。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-17 19:43:33

因为这是在内联.Net代码中(而不是编译的),所以我只是将它迁移到了System.Net.HttpWebRequest上,而后者似乎运行得更好。以下是其他人的示例代码:

代码语言:javascript
复制
Dim data As Byte() = New System.Text.ASCIIEncoding().GetBytes(parmList)
Dim request As System.Net.HttpWebRequest = CType(System.Net.HttpWebRequest.Create(GatewayHost), System.Net.HttpWebRequest)
request.Method = "POST"
request.ContentType = "text/namevalue"
request.ContentLength = data.Length

Dim requestStream As System.IO.Stream = request.GetRequestStream()
requestStream.Write(data, 0, data.Length)
requestStream.Close()

Dim responseStream = New System.IO.StreamReader(request.GetResponse().GetResponseStream())
transaction_response = responseStream.ReadToEnd()
responseStream.Close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21147491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档