我从提供程序获得了一个WSDL文件,并将其作为服务引用添加到Visual Studio 2013中的C#项目中。
我可以看到我需要的相关课程,但是当我调用它们上面的函数时,我的程序中没有任何内容传输。我已经配置了Wireshark来监听,但是当我运行它时,没有数据来自我的程序。
在Visual Studio中,我可以在哪里看到Web服务尝试连接的IP地址/ URL?在某些时候我假设它建立了一个HTTP连接,我在哪里可以看到这个代码来检查URL / IP地址?
答案 0 :(得分:0)
WSDL文件不包含服务端点的地址。您可能创建了一个服务引用或Web引用,它为您创建了一个客户端类。如果使用默认构造函数实例化此客户端(让我们称之为ExampleClient
):
var serviceCLient = new ExampleClient();
然后URI将是您导入的WSDL文件的路径。如果您将生成的WSDL文件文件导入实际的服务URI,这通常可以正常工作,但在您的情况下,您需要告诉它服务的运行位置。您可以在构造函数中传递服务URI:
var serviceCLient = new ExampleClient("http://example.com/service/endpoint");
或修改您的app.config
或web.config
(具体取决于项目类型)。它会有这样的东西:
<system.serviceModel>
<client>
<endpoint address="C:\path\to\your.wsdl" etc etc etc... />
</client>
</system.serviceModel>
您应该在那里更改address
属性。
对于旧式Web引用,您可以右键单击Visual Studio中的引用(在Web References
文件夹中的项目下,然后选择“属性”。属性屏幕包含一个“Web引用URL”,您可以使用它可以编辑以指向实际的服务URI。