从.NET c#调用本地​​WebService

时间:2015-11-11 21:12:07

标签: c# asp.net web-services visual-studio-2010

我想从webforms .NET c#应用程序中获取WebService数据。 WS不是我的,它是由第三个人开发的,他给我发了两个文件:.wsdl和.xsd。然后我想尝试WS,并使用“SOAP UI”。我创建了一个SOAP项目,加载.wsdl文件,并在同一本地路径上加载.xsd。 SOAP UI可以很好地创建XML结构调用,当我将参数放在XML调用中时,我也从WS中收到了很好的响应。

好,现在我需要从我的.NET c#应用程序中调用WS。我使用的是Visual Studio 2010。

我已经将WS添加到项目中了。首先右键单击Project结构中的“References”,单击“Add service reference”,最后我将.wsdl本地路径。如果.xsd在同一目录中,Visual使用Web方法查找WS,我可以正确添加引用。此时,我在项目结构中的“服务引用”目录中有引用,所以看起来一切正常。

当我尝试从任何应用程序页面调用WS方法时出现问题,似乎引用为void,并且与WS关联的命名空间不存在。

在aspx.cs文件中,我同意de'using'添加引用,当我尝试调用'ServiceReference1。'时,visual不建议任何,因为命名空间是无效的。

有什么想法或帮助吗?如果有必要,我可以显示.wsdl内容。

谢谢和问候

1 个答案:

答案 0 :(得分:0)

我在之前的项目上做了类似的事情。我从网页调用Windows服务中托管的WCF服务。只有这样才能实现这一点,方法是使用javascript调用localhost上的服务,但是需要进行一些调整才能启用跨域调用和Web服务的安全性。如果您希望它在引用上工作,您需要通过已知地址公开您的服务,然后将其导入到您的项目中。