我正在尝试将第三方托管的Web引用添加到visual studio 2012中的新项目。特别是UPS API。我已经联系了他们的支持,如果我在回答此问题之前收到回复,则会更新。
现在添加了一个普通的网络引用,我已经按照MSDN: How to add a reference to a web service上的文章进行了操作,并在How to add a Web reference Visual Studio 2012处询问了SO。但是,对于遵循此方法的UPS API,会收到以下错误:
There was an error downloading 'https://wwwcie.ups.com/webservices/Void/_vti_bin/ListData.svc/$metadata'.
The request failed with HTTP status 404: Not Found.
现在在UPS开发社区论坛上,有一个类似的问题可用here。但是,他们的解决方案是使用UPS提供的示例项目及其中已有的Web引用并进行编辑。如果我要在现有应用程序中使用Web引用,则此解决方案无效。
附加信息,UPS确实在开发包中提供了WSDL文件。我不愿意遵循添加它们的方法,因为在开发和生产之间,Web服务的URL会发生变化。如果这可以是一个解决方案,您是否介意从开发和生产中解释WSDL的生命周期以及如何配置URL。
UPS技术支持响应:
感谢您的询问。对于尝试将UPS Developer Kit API集成到您的解决方案中时遇到的困难,我深表歉意。
由于有许多可能的编程语言和环境,我们不直接支持客户端代码。
为方便起见,UPS在每个开发人员套件中提供示例代码。这些文件包括C#,Java,XML,PHP和Perl中的代码示例,可用作如何集成UPS Developer API的示例。除开发人员工具包中提供的样本外,不提供其他样本。请记住,您需要自定义这些文件以满足您的特定需求。
答案 0 :(得分:3)
我的解决方案是获取提供的WSDL文件,并在我的系统上使用它们的路径作为Web引用URL。 Project.Properties.Settings中自动添加了一个设置,用于显示Web服务的实际URL。
答案 1 :(得分:2)
尽管这是一个古老的问题,但我认为它将对再次偶然发现同一问题的任何人有所帮助。我最近经历了很多小时的相同情况。我试图在端点https://onlinetools.ups.com/webservices/Rate处添加服务引用。
尽管此url在我的浏览器中浏览时会显示ups提供的开发人员指南中提到的信息,当我使用自己的帐户凭据登录他们的网站后可以访问该信息,但在添加参考时显示错误-它是服务参考或本帖子中问题中提到的网络参考。似乎它们不是有意提供服务浏览器所需的所有基本文件。
然后,我将Rate.wsdl文件托管在本地主机中,并尝试添加Web服务引用。我忘了将所有文件(.xsd,.cs等)包括在与Rate.wsdl相同的文件夹中。因此它显示了错误。将所有这些文件包括在文件夹中之后,我可以成功添加Web服务引用。
有了它,资源管理器就找到了服务。
希望这会有所帮助。