スクリプト タスクのエントリ ポイント メソッドに次のコードを記述して、Java ベースの Web サービス メソッドを呼び出そうとしています。次のコードは、コンソール アプリケーションから呼び出すと正しく実行されますが、SSIS 制御フローから呼び出している間、メッセージ ボックス 1 までは正しく実行されますが、webRequest.GetResponse() を実行すると、エラーが発生することも、次のコード行を実行することもわかりません。 .
public void Main()
{
string envelopeContent = GetSoapEvvelope();
XmlDocument soapEnvelopeXml = new XmlDocument();
soapEnvelopeXml.LoadXml(envelopeContent);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(_url);
webRequest.Method = "POST"; // get executed
soapEnvelopeXml.Save(webRequest.GetRequestStream());
MessageBox.Show("1");
WebResponse response = webRequest.GetResponse();
MessageBox.Show("2"); // does not get executed
string responseString = string.Empty;
using (var reader = new StreamReader(response.GetResponseStream()))
{
responseString = reader.ReadToEnd();
}
XmlDocument doc = new XmlDocument();
doc.LoadXml(responseString);
XmlNode node = doc.SelectSingleNode("//*[local-name()='result']");
}
何をすべきか教えてください。私の理解によると、Web サービス タスクには WSDL/proxy が必要です。リクエストで SOAP エンベロープを渡す Java ベース Web サービスを呼び出す他の方法はありますか?
ありがとう
@ポール