2017-09-14 79 views
0

我正在尝试使用SAP Web服务将PDA连接到SAP。SAP Webservice - 无法建立连接到C#中的网络

我的视觉工作室版本是Visual Studio 2008专业版。 我跟着这个伟大的教程Create/Consume SAP Web service using SOAP Manager

我已经在我的C#项目中添加了Web服务,请找到下面的代码。

 SAP_WSDL.z_web_service_name service = new PDA_APP.SAP_WSDL.z_web_service_name(); 
     SAP_WSDL.ZmmBatchPutawayFromPhp data = new PDA_APP.SAP_WSDL.ZmmBatchPutawayFromPhp(); 
     data.PBktxt = "Test"; 
     NetworkCredential cred = new NetworkCredential(); 
     cred.UserName = "XXXXX"; 
     cred.Password = "******"; 
     service.Credentials = cred; 
     service.Proxy = new WebProxy("IP" , 1); 
     SAP_WSDL.ZmmBatchPutawayFromPhpResponse response = new PDA_APP.SAP_WSDL.ZmmBatchPutawayFromPhpResponse(); 
     response = service.ZmmBatchPutawayFromPhp(data); 

部署后我收到异常(WebException是未处理的),因为无法建立连接到网络。

System.Net.WebException - {"Could not establish connection to network."}

堆栈跟踪:

" at System.Net.HttpWebRequest.finishGetResponse()\r\n at System.Net.HttpWebRequest.GetResponse()\r\n at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)\r\n at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)\r\n at System.Web.Services.Protocols.SoapHttpClientProtocol.doInvoke(String methodName, Object[] parameters, WebClientAsyncResult asyncResult)\r\n at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)\r\n at PDA_APP.SAP_WSDL.z_web_service_name.ZmmBatchPutawayFromPhp(ZmmBatchPutawayFromPhp ZmmBatchPutawayFromPhp1)\r\n at PDA_APP.login.button2_Click(Object sender, EventArgs e)\r\n at System.Windows.Forms.Control.OnClick(EventArgs e)\r\n at System.Windows.Forms.Button.OnClick(EventArgs e)\r\n at System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)\r\n at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)\r\n at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)\r\n at System.Windows.Forms.Application.Run(Form fm)\r\n at PDA_APP.Program.Main()\r\n" 

状态:System.Net.WebExceptionStatus.ConnectFailure

请帮我解决这个问题。

+0

什么错误?请用完整的堆栈跟踪来复制和粘贴异常。 –

+0

@FabrizioAccatino错误信息更新,请帮我解决这个问题。 –

+0

我不确定,但在您的webservice运行的会话中?作为会话0中的SYSTEM还是作为会话1中的用户?我对Webservices不熟悉,但如果它们的行为与WindowsServices类似,则需要模拟成为用户才能访问网络。 https://stackoverflow.com/questions/46112248/how-to-pass-webcredentials-from-active-user-to-windows-service/46155993#46155993 – Jack

回答

1

看起来像从您的客户端到SAP SOAP服务器的一些网络问题。这里有一些提示和技巧来检查客户端和服务器之间的连接。

  1. 使用Ping和Tracert:这些实用程序可用于检查客户端是否可以看到服务器。首先尝试ping这只是一个基本的检查,如果客户端网络上可用的服务器。请记住,某些网络限制使用ping。其次尝试tracert(Trace Route)。该实用程序将向您显示客户机必须前往以获取服务器的IP列表。

  2. 如果上述两个步骤都起作用,并且您可以确认服务器在网络上可以访问,那么您可以尝试执行从客户端到服务所在端口上的服务器的telnet会话。如果您可以连接,那么如果您无法连接,则不会出现网络问题,您的客户端和服务器之间可能存在防火墙问题。

总结:

尝试ping它。如果这是成功的,然后telnet到它。如果您无法ping通,请尝试使用tracert到服务器,如果成功,请telnet到它。

0

我已经自己解决了这个问题,我已经激活了Web服务,我使用SICF T.Code在SAP中的soamanager中创建了它,它解决了我的问题。感谢所有的努力。

相关问题