我正在尝试调用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 /代理。有没有其他方法可以调用java基本Web服务在请求中传递soap信封?
由于
@保罗
答案 0 :(得分:1)
我在使用sql server 2008 R2时遇到过这种情况。现在我在sql server 2012中尝试了相同的解决方案,它可以正常工作而不做任何更改。