タイトル : Re: MSXML2.XMLHTTP60 をログオフ状態で使用 投稿日 : 2015/07/22(Wed) 18:15 投稿者 : 魔界の仮面弁士
階層が深くなってきたので接ぎなおします。 問い合わせ回答はまだ来ていませんが: https://support.microsoft.com/ja-jp/kb/301429 を見る限り、ServerXMLHTTP のバージョンによって、 参照する証明書ストアに差異があるようです。 証明書の問題を回避できない場合、send メソッド自体が失敗し、 readyState プロパティも更新されない状況になるはずです。 ですから、ServerXMLHTTP の通信が失敗するという件と、 非ログオン時に XMLHTTP の処理が進まないという件は、 根っこの部分では同じなのかも知れません。 一応、非ログオンでのタスク実行では無くデスクトップでの実行ですが、 他のライブラリで検証してみた限りでは、 WinHttp.WinHttpRequest や ServerXMLHTTP では失敗しますが、 「VB6 の Inet コントロール」や「XMLHTTP」、あるいは .NET の 「System.Net.HttpWebRequest クラス」では通信できている感じです。 YCA AppID が無いとのことで、[401 Authorization Required] にはなりますけれどね。 VB6 に拘りが無ければ、PowerShell / VB.NET / C# などから HttpWebRequest を呼び出す実装に置き換えるのはどうでしょう。 それで無人実行できるかどうかは別問題ですけれども…。 なお、Fiddler 経由で該当 URL にアクセスしたところ、初回通信時に 》 The server [circus.shopping.yahooapis.jp] requests a client certificate. と表示されました。何か心当たりはありますか? > 暫定対策というのは、 > vb6.exe /runexit プロジェクトファイル起動 > で動いています。 WinHTTP API 系(ServerXMLHTTP)ではなく、Inet API 系(XMLHTTP)を用いた場合の話ですね。 コンパイルモード(ネイティブコンパイル or P-Code コンパイル)を変更した場合、 動作に変化はありますか? > 今のところ、プロセスに残ったりしてませんが > 何か予想できる問題ってありますか ・実行時ライセンス(ランタイム)ではなく、開発時ライセンス(デザインタイム)が必要になってしまう ・開発環境のサポートは既に終了している(ランタイムについては、 OS のサポート期限に準じる) ・VB6.EXE や XMLHTTP は対話型なので、本来は無人実行には向いていない (たとえば、エラー発生時にメッセージボックスが起動される可能性がある) |