从eBay api接收SOAP通知到ASP变量?

时间:2016-05-13 15:52:52

标签: web-services soap asp-classic query-string

我正在尝试将ebay api事务通知接收到托管在Web服务器上的ASP中。通知作为SOAP消息发送,并可以发送到带有查询字符串的URL。必须使用HTTP 200 OK响应通知。我希望通知在变量中着陆,以便我可以解析它并将其发送到系统的下一部分。

http://developer.ebay.com/DevZone/guides/ebayfeatures/Notifications/Notifications.html#ReceivingPlatformNotifications

在文档中他们提到这是可能的,但他们给出的样本是订阅电子邮件服务器的路线。这个ASP不一定需要发出SOAP请求,只需接受来自ebay服务器的SOAP消息。

我正在研究ASP,SOAP和查询字符串,但是我会真正感谢一点指导。谢谢!

2 个答案:

答案 0 :(得分:2)

这应该非常简单,您的经典ASP页面将成为eBay通知API 的端点(只要您将其配置为发送通知以及将其发送到哪个URL)。 / p>

您应该可以使用简单的经典ASP页面进行测试

# // Karma configuration
# // Generated on Fri May 13 2016 16:53:01 GMT-0400 (EDT)

module.exports = (config) ->
  config.set
    basePath: './'
    frameworks: [ 'jasmine' ]
    files: [
      'bower_components/angular/angular.min.js'
      'bower_components/angular-mocks/angular-mocks.js'
      'web/app.coffee'
      'web/controllers/*.coffee'
      'test/**/*.coffee'
    ]
    exclude: []
    preprocessors: {
      'test/**/*.coffee': [ 'coffee' ]
      'web/**/*.coffee': [ 'coffee' ]
    }
    reporters: [ 'progress' ]
    port: 9876
    colors: true
    logLevel: config.LOG_INFO
    autoWatch: true
    browsers: [ 'PhantomJS' ]
    singleRun: false
    concurrency: Infinity

您可能还想检查<% Dim isPost: isPost = (UCase(Request.ServerVariables("REQUEST_METHOD") & "") = "POST") Dim hasSoapAction 'Is it a HTTP POST? If isPost Then 'Do we have a SOAPACTION header (check both because 'it can be either HTTP_ or HEADER_ depending on IIS version)? hasSoapAction = ( _ Len(Request.ServerVariables("HEADER_SOAPACTION") & "") > 0 Or _ Len(Request.ServerVariables("HTTP_SOAPACTION") & "") > 0 _ ) If hasSoapAction Then 'Process the notification here. 'Use Request.BinaryRead to read the SOAP End If 'Let eBay know we have received and processing the message. Response.Status = "200 OK" Else 'Return method not allowed Response.Status = "405 Method Not Allowed" End If Response.End %> 以确保您只收到预期来源的已发送邮件(但这不是防弹的,因为信息可以是spoofed)< / em>的

有用的链接

答案 1 :(得分:0)

这是我迄今为止在notifications.asp中所拥有的内容。当我尝试通过Postman发送一个基本的SOAP帖子时,没有任何事情发生。这看起来应该有用吗?

我在没有检查SOAP标头的If语句的情况下对此进行了测试,并且我发布了常规字符串数据并且它可以工作。所以二进制到字符串转换和输出到文件都很好。现在我只需要用实际的ebay api通知进行测试。 ; - )

var a = 1;

function x(p) {
    p = 2
    console.log(p) // 2
}
x(a);

console.log(a); // 1