节点肥皂只向Mechanical Turk发送“帮助”请求?

我正在尝试使用节点肥皂与Amazon Mechanical Turk进行通信。 我用这个wsdl初始化soap客户端,但是当我尝试调用client.<SomeOperation>(...)对于Mechanical turk API中列出的任何操作 ,我发现我得到的响应没有包含API的结果呼叫。 API文档说响应应该包含一个“Result元素” ,但是我发现我得到的结果看起来像这样:

 <HelpResponse xmlns="http://requester.mturk.amazonaws.com/doc/2014-08-15"> <OperationRequest> <RequestId>(something)</RequestId> </OperationRequest> <Information> <Request> <IsValid>True</IsValid> </Request> <OperationInformation> <Name>Please see our online documentation at http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=28</Name> </OperationInformation> </Information> </HelpResponse> 

经过进一步的调查,我发现问题出在我尝试使用它发出API请求时node-soap发送的内容。 当我尝试调用RegisterHITType ,而不是发送一个<RegisterHITType>元素,它似乎发送某种types的<Help>元素,看起来像这样:

 <Help xmlns="http://requester.mturk.amazonaws.com/doc/2014-08-15"> <Title>(something)</Title> <Description>(something)</Description> <Reward>(something)</Reward> <AssignmentDurationInSeconds>(something)</AssignmentDurationInSeconds> <AWSAccessKeyId>(something)</AWSAccessKeyId> <Timestamp>(something)</Timestamp> <Service>AWSMechanicalTurkRequester</Service> <Signature>(something)</Signature> </Help> 

为什么它发送这个而不是预期的API请求? 这是一个小故障的结果,还是我误解如何使用节点肥皂? 有没有办法解决这个问题,还是我需要通过其他方式来研究使用Mechanical Turk API?

我发现node-soap可能有bug。

请尝试使用“soap ui”自行调用Web服务,以确保此Web服务正常工作。 (在这里下载soap-ui https://www.soapui.org

如果Web服务运行良好,则问题是node-soap lib。 您可以通过生成肥皂请求消息并直接调用服务来解决问题。

Interesting Posts