node-soapを使用して Amazon Mechanical Turk と通信しようとしています。この wsdlを使用して SOAPクライアントを初期化しましたが、Mechanical turk API にリストされている操作のいずれかをclient.<SomeOperation>(...)
呼び出しようとすると、取得した応答に API 呼び出しの結果が含まれていないことがわかりました。API ドキュメントには、応答には「結果要素」を含める必要があると記載されていますが、代わりに、次のような役に立たない結果が得られることがわかりました。
<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>
さらに調査したところ、node-soap を使用して API リクエストを作成しようとしたときに、node-soap が送信する内容に問題があることがわかりました。RegisterHITType
要素を送信するのではなく、たとえば を呼び出そうとすると、代わりに次のような<RegisterHITType>
何らかの要素が送信されるようです。<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 リクエストではなく、これを送信するのはなぜですか? これは不具合の結果ですか、それとも node-soap の使い方を誤解していますか? これを回避する方法はありますか、それとも他の方法で Mechanical Turk API の使用を検討する必要がありますか?