Web services 从SQL server代理运行SSIS脚本任务时,SSIS脚本任务内的SOAP web服务调用失败

Web services 从SQL server代理运行SSIS脚本任务时,SSIS脚本任务内的SOAP web服务调用失败,web-services,soap,ssis,wireshark,sql-server-agent,Web Services,Soap,Ssis,Wireshark,Sql Server Agent,我有一个SSIS 2008脚本任务。我在脚本编辑器中添加了对SOAP Web服务的Web引用,并使用以下代码来实例化服务和调用方法 MyWebService.Service ox = new MyWebService.Service(); string sResult; sResult = ox.MyMethod(); 当此代码在BIDS中运行时,一切正常,但从SQL server代理运行时失败,并出现以下错误: 以用户身份执行:My_Domain\SQLServerAgentService

我有一个SSIS 2008脚本任务。我在脚本编辑器中添加了对SOAP Web服务的Web引用,并使用以下代码来实例化服务和调用方法

MyWebService.Service ox = new MyWebService.Service();
string sResult;
sResult = ox.MyMethod(); 
当此代码在BIDS中运行时,一切正常,但从SQL server代理运行时失败,并出现以下错误:

以用户身份执行:My_Domain\SQLServerAgentService帐户。Microsoft R SQL Server执行软件包实用程序版本10.50.6000.34,32位版权所有C Microsoft Corporation 2010。版权所有。已启动:下午2:51:44错误:2015-08-24 14:52:08.99代码:0x00000001来源:脚本任务描述:System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.Net.WebException:无法连接到远程服务器-->System.Net.Sockets.SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应,或建立的连接失败,因为连接的主机未能响应System.Net.Sockets.Socket.DoConnectEndPoint endPointSnapshot处的xxx.xx.x.xx:443,SocketAddress,System.Net.Sockets.Socket.InternalConnectEndPoint remoteEP处的SocketAddress,System.Net.ServicePoint.ConnectSocketInternalBoolean connectFailure,Socket s4,套接字s6、套接字和套接字、IPAddress和address、ConnectSocketState状态、IAsyncResult asyncResult、Int32超时、,异常和异常-内部异常堆栈跟踪的结尾-位于System.Net.HttpWebRequest.GetRequestStreamTransportContext和context,位于System.Net.HttpWebRequest.GetRequestStream,位于System.Web.Services.Protocols.SoapHttpClientProtocol.InvokeString方法名,对象[]ST_4c5d20bf332741e2882cde151f073447.csproj.MyWebService.Service ST_4c5d20bf332741e2882cde151f073447.csproj.ScriptMain.Main处的参数-内部异常堆栈跟踪的结尾-在System.RuntimeMethodHandle处。\u InvokeMethodFastObject目标、Object[]参数、SignatureStruct&sig、MethodAttributes方法属性、,RuntimeTypeHandle typeOwner位于System.RuntimeMethodHandle.InvokeMethodFastObject目标,对象[]参数,签名符号,MethodAttributes MethodAttributes,RuntimeTypeHandle typeOwner位于System.Reflection.RuntimeMethodInfo.InvokeObject obj,BindingFlags invokeAttr,Binder Binder,对象[]参数,CultureInfo区域性,Boolean skipVisibilityChecks at System.Reflection.RuntimeMethodInfo.InvokeObject obj、BindingFlags invokeAttr、Binder Binder、Object[]参数、CultureInfo区域性at System.RuntimeType.InvokeMberString名称、BindingFlags BindingFlags、Binder Binder、Object target、Object[]providedArgs、ParameterModifier[]修饰符、,CultureInfo区域性,System.Type.InvokeMemberString名称处的字符串[]名称参数,BindingFlags invokeAttr,Binder Binder,对象目标,对象[]args,Microsoft.SqlServer.Dts.Tasks.ScriptTask.VStatasksscriptingEngine.ExecuteScript结束错误DTExec:包执行返回DTSER\u失败1。开始时间:下午2:51:44结束时间:下午2:52:09经过时间:24.672秒。包执行失败。步骤失败了。 我已经在上面的错误消息中找到了xxx.xxd的IP地址。令人惊讶的是,当使用BIDS并使用wireshark监控网络流量时,xxx.xxd out IP地址从未被击中,而当监控代理流量时,xxx.xxd IP地址被击中,但产生了故障。此外,在进行竞价时,路径看起来像是使用HTTP来访问供应商的Web服务URL。而当通过代理wireshark时,表示TCP流中的第一件事是对供应商IP的TCP调用

请注意,BIDS和代理运行在同一台服务器上

有人知道问题出在哪里吗


提前感谢

我猜您在本地计算机上进行开发,而SQL Server代理位于不同的服务器上。如果是这种情况,SQL Server代理是否可以访问Web服务运行的位置?我看到的第一个错误之一是无法连接到远程服务器。这意味着权限可能存在问题。您能远程连接到数据库服务器并ping运行web服务的服务器吗?谢谢您的回复。我实际上是在运行SQL Server代理的服务器上运行BIDS。当我ping web服务的web地址URL时,我得到:ping请求找不到主机https:。。。当我ping IP时,我得到:请求超时。Web服务位于供应商网站上。我们向供应商提供了一份将连接到其Web服务的IP的白名单。我遇到了类似的问题,并在这里发布了完整的诊断程序-。它可能会帮助您调试该问题。