将FedEx Web服务集成到.Net中,停留在第1步

时间:2010-04-05 03:29:37

标签: wsdl asmx fedex

我已注册,我已下载示例代码,我有一个WSDL ......但我不知道如何将这些东西放到我现有的.Net应用程序中。 WSDL是一个zip文件,而不是一个URL,所以我不能只是“添加Web引用”。我从.Net命令提示符运行wsdl工具,它为我做了一个很好的类...但是将它放到我的web_reference文件夹中并没有给我任何类型的可实例化类。

我知道我错过了一些愚蠢的东西。有人能指出我正确的方向吗?

4 个答案:

答案 0 :(得分:10)

在Visual Studio 2010中加载FedEx API WSDL文件的正确方法:

  1. 打开解决方案资源管理器
  2. 右键单击您的项目
  3. 点击“添加服务参考”
  4. 点击“高级...”按钮
  5. 点击“添加网络参考...”按钮
  6. 输入您正在使用的特定FedEx Web引用的WSDL文件的确切路径。例如,我将我的提取到我的C:\驱动器的根目录,所以我输入的URL字段都是“C:\ ShipService.wsdl”,没有引号。如果你留下引号,它将无效。
  7. 当你点击时,Visual Studio应该将wsdl用于可用的类中。单击添加引用并享受!
  8. 注意:请确保您已经很好地阅读了FedEx文档 - 他们的许多服务都有其他问题,实施可能是一场噩梦。例如,他们的地址验证服务被错误地使用并在Reference.cs中创建它们不应存在的二维数组 - 这在文档中有详细说明。更糟糕的是,它们不允许在其开发环境中进行地址验证的事实在任何地方都没有记录!祝你好运!

答案 1 :(得分:2)

实际上,您只需“添加Web引用”即可。提供URL的路径。

OTOH,您应该使用WCF进行所有新的Web服务开发(甚至是客户端开发)。 Microsoft现在认为ASMX Web服务是“遗留技术”。

顺便说一句,我刚尝试使用他们的地址验证服务,它不适用于.NET。 ASMX和WCF客户端都将尝试使用XML序列化程序来使用此服务,并且存在一个阻止该服务被使用的错误。

答案 2 :(得分:0)

Matt,WSDL zip文件具有该服务的WSDL及其关联事务。解压缩文件,然后在代码中“添加引用”到WSDL。

答案 3 :(得分:0)

尝试将代理类的命名空间更改为应用程序的命名空间。我目前在C#中使用代理类,尽管联邦快递有限的文档和样本,它仍可以使用。