0

いくつかの貧弱なドキュメントに従って立ち往生しました。ベンダー API に接続して、注文を自分の DB に取り込もうとしています。ベンダーには 1 行と例しかありません (私がまだ取得しようとしている適切な URL でさえありません)。

ドキュメント = XML 文字列は、REQUEST というフォーム フィールドに格納する必要があり、HTTP POST メソッドを介してサーバーに送信する必要があります。このドキュメントで説明するすべてのメソッドは、この標準に従う必要があります。

例 = GET ORDERS メソッドの XML 形式:

<?xml version="1.0" encoding="utf-8"?>
<OrderXML>
 <Method>GET ORDERS</Method>
 <Authentication>
 <Username>Your Username</Username>
 <Password>Your Password</Password>
 </Authentication>
</OrderXML>

Postman と PowerShell で試してみましたが、「リクエスト」フォームを取得する方法がわかりません。私のコードは不正なリクエストを返します。URL が原因なのか、「リクエスト」フォームが正しくコーディングされていないのかがわかりません。

$URI = "https://orders.website.com/webservice/default.cfm"
[xml]$requestXML = @'
    REQUEST=
    <OrderXML>
    <Method>GET ORDERS</Method>
    <TestMode>YES</TestMode>
    <Authentication>
    <Username>USERNAME</Username>
    <Password>PASSWORD</Password>
    </Authentication>
    </OrderXML>
'@
Invoke-WebRequest -Uri $URI -Method Post -Body $requestXML

ありがとうございました

4

1 に答える 1

0

最終的にPostmanでそれを理解しました。Raw XML の代わりにフォーム コントロールを使用しました。Key は必須の「REQUEST」であり、Value は XML です。

于 2020-04-02T20:40:10.083 に答える