SSIS-使用Script Task调用java服务

时间:2014-11-27 14:09:12

标签: sql-server web-services ssis etl script-task

我正在尝试调用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信封?

由于

@保罗

1 个答案:

答案 0 :(得分:1)

我在使用sql server 2008 R2时遇到过这种情况。现在我在sql server 2012中尝试了相同的解决方案,它可以正常工作而不做任何更改。