使用类库中的web服务

本文关键字:web 服务 类库 | 更新日期: 2023-09-27 17:59:05

我已经成功创建了一个ASP.net网站来调用Soap Web服务。

现在我需要把它变成一个类库,我可以通过Com从经典ASP调用它。

这篇关于在asp.net应用程序中从类库中消费web服务的帖子说,我需要添加web服务,因为使用"添加服务引用"而不是"添加web引用"来添加对web服务的引用。

当我尝试这样做时,我会得到一个错误:

元数据包含一个引用无法解决:'http://theURL.com:8008/asmx/publicServiceAddress.asmx?wsdl"
下载时出错'http://theURL.com:8008/asmx/publicServiceAddress.asmx?wsdl"
无法连接到远程服务器连接尝试失败,因为关联方行为不当一段时间后作出回应,或建立的连接失败,因为连接的主机无法响应77.95.80.35:8008元数据包含无法解析的引用:'http://theURL.com/asmx/publicServiceAddress.asmx"。元数据包含一个引用无法解决:'http://theURL.com/asmx/publicServiceAddress.asmx"
如果在中定义了服务当前解决方案,尝试构建解决方案和添加服务再次引用。

但当我点击高级,然后添加"添加Web参考"时,我可以很好地添加它。

问题:

1) 是否需要使用"添加服务引用"而不是"添加Web引用"
2) 为什么,有什么区别
3) 这个错误的潜在原因是什么?我该如何解决这个问题?例如,我不知道为什么要去8080端口查找WSDLhttp://theURL.com:8008/asmx/reguspublic.asmx?wsdl什么时候该去http://theURL.com/asmx/reguspublic.asmx?wsdl

使用类库中的web服务

服务引用适用于Windows Communication Foundation(WCF)服务和WCF数据服务,其中在使用"遗留"或asmx Web服务时使用as Web引用。

因此,对于"asmx",您应该使用web引用,而不是服务引用。

http://alexduggleby.com/2008/08/24/add-web-reference-instead-of-service-reference-in-visual-studio-2008/

关于错误:
WCF服务公开元数据,使它们能够与不同类型的端点和数据进行交互。NET 2.0 asmx Web服务只有一个端点@SOAP。因此,"asmx"web服务不会公开任何导致错误发生的元数据。

不需要,你需要将Web服务配置复制到目标可执行文件的应用程序配置中,因为当你从库中调用Web服务时,当你将其放入库中时,Web服务会从.exe.config中查找不存在的配置

你可以像我做那样以编程方式设置Web服务url

  AC.CCRS.WebService.MyWebServices c = new AC.CCRS.WebService.MyWebServices ();
            c.Url =... "the webservice host url