2016-04-23 24 views
7

SOAP APIから返されるXMLからSessionIdを抽出しようとしています。Postmanを使用してXMLから変数を抽出するにはどうすればよいですか?

郵便配達員のマニュアルを何度も読んだことがありますが、それは私の目標を達成するうえで最も役立つものではありませんでした。

いくつかのブログでは、XMLをJSONに変換し、そこからトークンとその価値を取り出すことを提案しましたが、それも役に立たなかった。

私は私のテストで次のように使用:

var jsonObject = xml2Json(responseBody); 
postman.setGlobalVariable("Session_Id", jsonObject.SessionID); 

上記は、変数「SESSION_ID」を作成したが、実際に値を代入しませんでした。私は困惑している。

私は間違いなくAPIからデータを取得しています。これは、郵便配達員の「Body」レスポンスで見ることができます。

+0

私はまだこれに対する回答を求めており、私をアプリに紹介した人物と確証しています。私は数日後に正しければ、郵便配達員にメールを送ります。 –

+1

jsonObjectの出力は何ですか?文字列はjsonObject.SessionIDです。 postmanドキュメントによると:postman.setGlobalVariable(variableName、variableValue):グローバル変数 "variableName"を設定し、それに文字列 "variableValue"を割り当てます。注:文字列のみを保存できます。他の種類のデータを格納すると、予期しない動作が発生します。 – Shaughn

+0

私はPostman @ Shaughnに電子メールを送り、創設者の一人が同じことを私に助言して答えました。しかし、彼は続けて、アプリケーションが自動的に他のタイプを文字列に変換すると言っています。 それにかかわらず、私は問題を発見しました。私はJSON BLOBに深く掘削していませんでした。私は、以下を使用して終了しました: 'postman.setEnvironmentVariable( "Session_Id"、jsonObject.UserSessionToken.SessionId);' 私はConsole.logを使い、必要なものが見つかるまで出力をチェックし続けました。 –

答えて

15

最初xml2Jsonコンバータ方式を使用して、JSONにあなたのXMLを変換し、ポストマンを使用してXMLから変数を抽出するには:

var responseJson = xml2Json(responseBody); 

(。 "responseBodyは" あなたのxml体である場合は) 次に、コンソールを使用します。など、出力にあなたのJSONデータをメソッドをログ:

console.log(responseJson); 

は、あなたの中Enabling Chrome Dev Tools in Postman

に、このチュートリアルに従っているようにしてくださいrテストランナー、テストを実行し、ランナーのどこかを右クリックして "Inspect"します。 Chromeの開発ツールが起動したら、[コンソール]タブを選択します。 「オブジェクト」部分を展開します。

次に、データが必要なプロパティが表示されるまでドリルダウン(展開)します。 は、その後、あなたがしたいパラメータに各ドリルダウンレベルを追加することにより、変数を設定します。この場合

postman.setGlobalVariable("Session_Id", responseJson.UserSessionToken.SessionID); 

、「responseJson」はオブジェクトである、「UserSessionTokenは、」ドリルダウンで次のレベルでした、 SessionIdはその中で私が必要としていたパラメータでした。

+4

スタンドアロンアプリを実行している場合、Chromeでツールを有効にする必要はありません。メニューバーから「表示」 - >「ポストマンコンソールを表示」を開くだけです – sunil

関連する問題