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' + 渡したい値;