技術メモ(主に自分向け)

短期記憶の自分向けの技術メモです。

Dataspiderから2個以上の値を返してもらう時

ApexクラスからDataspiderへリクエストし、値を2つ以上返してもらう場合のApex側の値の取得の書き方メモ。

Dataspider側で設定する方はXML型。
Textで返してもらおうとしたらうまくいきませんでした。

・Apexクラス

//Httpリクエストのステータスを作成
Http http = new Http();
HttpRequest request = new HttpRequest();

//Dataspiderの接続に必要な情報を送る
Blob sendInfo = Blob.valueOf('ID情報' + ':' + 'PASS情報');
request.setEndpoint('エンドポイント情報');
request.setMethod('POST');
request.setHeader('Authorization', 'BASIC' + EncodingUtil.base64Encode(sendInfo));
request.setBody('何か送るものがあればここに記載'); ☆
request.setTimeout(ミリ秒で設定可能);

HttpResponse response = http.send(request);

//XMLの読み取り
Dom.Document doc = response.getBodyDocument();
Dom.XMLNode elements = doc.getRootElement();
String str1 = elements.getChildElement('戻り値の変数名1', null).getText();
String str2 = elements.getChildElement('戻り値の変数名2', null).getText();


☆補足
Dataspiderに渡す値がある場合、以下のようにして渡すことが可能。

String sendData = 'Dataspider側の変数名1' + 渡したい値 + '&Dataspider側の変数名2' + 渡したい値;