我看过网络,似乎有2个免费的UNSPSC网络服务: http://www.restfulwebservices.net/Service.aspx?ID=24
和
http://www.webservicex.net/WS/WSDetails.aspx?WSID=74&CATID=2
我已将这些服务引用添加到测试控制台应用程序以尝试使用这些服务。 不幸的是,这些服务提供商似乎没有客户支持,所以我希望也许有人可以帮助我。
对于restful web服务,我尝试连接到SOAP端点,但我得到一个例外:“无效的对象名称'dbo.unspsc'。它听起来像是服务方面的问题,但我可以不确定。这是我的代码,也许有人可以看出它有什么问题。当我调用GetDetailsByClass时会抛出异常。
ServiceReference1.UNSPSCServiceClient client = new ServiceReference1.UNSPSCServiceClient();
client.Open();
ServiceReference1.UNSPSC[] commodities = client.GetDetailsByClass("81112006");
对于webservicex,我可以连接到Web服务,但我不知道如何使用它。我不明白如何使用提供的方法,如GetUNSPSCCommodityByClassRequest&响应。请求如何返回Commodity对象?如何搜索UNSPSC代码?
答案 0 :(得分:1)
一些观察结果。首先,SOAP和REST是两种不同类型的Web服务,可以通过两种不同的方式访问。通过代理(在Visual Studio中添加服务引用时为您生成)访问SOAP服务。 REST服务通过HTTP API访问,如HttpClient Class。
您发布的链接都不是网络服务链接,但它们确实包含指向网络服务的链接。第一个在WCF服务上公开了两个端点(一个用于SOAP,一个用于REST)。第二个使用传统的ASMX Web服务(Microsoft不再支持)。除非我别无选择,否则我不会使用webservicex,因为它是传统技术。
就你所得到的错误而言,听起来服务背后的数据库存在问题,如果是这样,那肯定是在服务方面。您发布的代码看起来是正确的,我自己尝试并得到了相同的错误(在SOAP端点上)。
Intellisense应该帮助您了解如何使用各种方法(如果没有找到文档)。但是对于您遇到的错误,您需要与服务的开发人员交谈。