【发布时间】:2013-08-29 12:11:08
【问题描述】:
我正在尝试将第三方托管的 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 '@987654323@$metadata'.
请求失败,HTTP 状态为 404:未找到。
现在在 UPS 开发社区论坛上,有一个与此类似的问题here。但是,他们的解决方案是使用 UPS 提供的示例项目以及其中已有的 Web 参考并对其进行编辑。如果我要在现有应用程序中使用 Web 引用,则此解决方案无效。
附加信息,UPS 确实在开发包中提供了 WSDL 文件。我犹豫是否要采用添加它们的方法,因为在开发和生产之间,Web 服务的 URL 会发生变化。如果这可能是一个解决方案,您是否介意解释一下 WSDL 从开发到生产的生命周期以及如何配置 URL。
UPS 技术支持回复:
感谢您的询问。对于您在尝试将 UPS 开发工具包 API 集成到您的解决方案时遇到的困难,我深表歉意。
由于许多可能的编程语言和环境,我们不直接支持客户端代码。
为方便起见,UPS 在每个开发人员工具包中都提供了示例代码。这些文件包括 C#、Java、XML、PHP 和 Perl 的代码示例,可用作如何集成 UPS 开发人员 API 的示例。除开发人员工具包中提供的示例外,没有其他示例可用。请记住,您需要自定义这些文件以满足您的特定需求。
【问题讨论】:
-
我假设您已经注册并请求了他们developer kit中所述的访问密钥?
-
开发 WSDL 和生产 WSDL 的区别在于开发实际上不执行任何操作。它严格用于测试。您可以通过在 app.config 中将它们设置为 dev 和 release 来使 URL 可配置
-
是的,我已经注册,并且使用我的访问密钥构建示例代码工作正常。问题是向现有项目添加网络引用。
-
@paqogomez UPS 提供用于测试和开发的“客户集成环境”。开发 WSDL 仍然会调用他们的服务。
-
您是否尝试使用“添加服务参考”? “添加 Web 引用”使用旧版“ASMX”技术,该技术不适用于新开发。
标签: c# web-services visual-studio visual-studio-2012