前提
VBSでクラウドサービスからAPIでデータをCSVファイルでダウンロードするプログラムを作成しました。
Windows10(64bit)で正常に実行できていますが、Server2012R2上で実行するとAPIが通らなくなります。
通常はレスポンスが返ってくるのですが、Server2012R2上では応答が返ってこない。
実現したいこと
Server2012R2上で動かない原因を知りたい。
発生している問題・エラーメッセージ
APIで取得したデータをCSVで保存するようにしているが、Server2012R2実行後のCSVを見ると中身が空であり、データを取得できていないと判断しています。
該当のソースコード
VBScript
Dim access_token Dim url Dim DOMAIN Dim SCHEMA Dim apiType Dim VERSION '****************************************************** '接続先URLに利用する設定 '// https://DOMAIN/SCHEMA/api/API種別/version/VERSION DOMAIN = "xxxxxxxxxx.jp" SCHEMA = "aaaaa" apiType = "csvexport" VERSION = "v1" '****************************************************** '対象のファイルのパスを指定 url = "https://" + DOMAIN + "/" + SCHEMA + "/api/" + apiType + "/version/" + VERSION 'アクセストークン設定 access_token = "" 'クラウドサービス指定のパラメータ paramStr = "{ ""dbSchemaId"": ""101147"", ""searchId"": ""103591"", ""listId"": ""101019"", ""limit"": ""200""}" Dim TargetFileName Dim objHTTP Dim objStream Dim paramStr Dim retCd '****************************************************** '保存するファイル名と保存先パスの指定 TargetFileName = "dl_pj_new_anken.csv" PATH= "C:\API\DATA\PJ_INFO\" '****************************************************** on error resume next Dim objweb Dim wkFileName Dim objADO Dim res '保存するパスの編集 'saveFilePath = PATH & "\" & TargetFileName saveFilePath = PATH & TargetFileName err.clear Set objweb = CreateObject("MSXML2.ServerXMLHTTP.6.0") objweb.Open "POST", url, False objweb.setRequestHeader "Content-Type", "application/json; charset=utf-8" objweb.setRequestHeader "X-HD-apitoken", access_token objweb.send paramStr '結果を取得 res = objweb.responseBody 'デバッグ用 実行結果の表示(本番ではコメントアウト) 'WScript.Echo objweb.status & " " & objweb.StatusText '取得した内容をファイルに保存する set objADO = CreateObject("ADODB.Stream") objADO.Type = 1 objADO.Open() objADO.Write(res) objADO.SaveToFile saveFilePath, 2 '2:上書き保存 objADO.Close Set objADO = Nothing Set objweb = Nothing WScript.Quit
試したこと
WScript.Echo objweb.status & " " & objweb.StatusText
のコメントを外してAPIのレスポンスを確認し、Windows10だと200=OKが返ってくるが、Server2012R2だと何も応答が返ってこない。
Windows10、Server2012共に社内プロキシを通っているので、相手先のIPアドレス制限で拒否されていることはない。
該当のクラウドサービスにデータを送信するVBSプログラムはServer2012R2でも正常に動作しているので通信上の問題はないと思われます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー