ASP.NET(VB)Web App上的FedEx WSDL帮助

时间:2015-11-20 10:35:09

标签: vb.net asp.net-web-api wsdl fedex

我的网络应用程序目前使用旧的FedEx WSDL API进行费率和跟踪,现在我必须测试联邦快递2016年1月发布的SHA-2更改。

我对如何在"生产环境"之间轻松切换感到困惑。和"测试环境"并需要一些建议。

我将首先解释Web服务当前是如何集成到我的应用程序中的,以便您了解我的问题的背景:

我最初将FedEx WSDL文件上传到我的第二台服务器(而不是网站应用程序所在的实际服务器)和#34;添加了Web参考"到我项目中的远程URL。这可能不是必要的,并且可能有一种更简单的方式(例如在本地),但因为我不完全理解它是如何工作的,这对我来说是最简单的路线。

这创建了一个" App_WebReferences"我的项目中的文件夹,以及跟踪和评价服务的WSDL文件和discomap文件。

我的Web.config文件中还有两个键/值对,在这一点下,这些Web引用和gateway.fedex.com。我无法记住,如果我手动创建它们,或者WSDL导入是自动执行的。

我知道出于测试目的,我需要使用" gatewaybeta.fedex.com" url和我的FedEx"测试证书"不是我的"生产证书"但我很困惑它是如何工作的,我需要在哪里交换端点网址。

例如,我可以只更改Web.config文件中的url,还是必须在WebReference和我的第二个远程服务器上的原始导入的WSDL文件中更改它?

导入之后,第二个远程服务器上的WSDL文件是否需要或在我的应用程序到FedEx Web服务的实时调用中使用,还是可以立即删除?

discomap文件引用了我的第二台服务器上的原始wsdl文件位置,那么它是如何工作的?如果我从第二台服务器上删除了wsdl文件会发生什么?

最终我想要做的是创建一个简单的管理员FedEx网页,其上有一个基本表格,我可以在其中输入默认的FedEx跟踪号和/或货件详细信息,然后从TEST和之间的下拉列表中选择PRODUCTION并让aspx.vb代码处理url / credential更改,因此我不必手动更改wsdls和webreferences以及web.config文件密钥等。

希望有人能为我澄清这一点并让我走上正轨!

感谢。

2 个答案:

答案 0 :(得分:0)

从测试切换到生产

  1. 如果您尚未创建生产凭据,请转到FedEx Web Services页面,点击"转到生产"并按照说明操作。您的组织需要一个FedEx客户帐户,您将需要该信息。
  2. 在Visual Studio项目中,更改Properties \ Settings.settings和App.config / Web.config中的URL。 (如果使用UI更改Settings.settings,配置文件将自动更新。)
  3. 更新项目以使用您的生产凭据。
  4. 考虑利用config transformations将测试和生产凭据保存在不同的配置文件中。

    如何添加网络参考

    你做了什么(将FedEx的WSDL放在你自己的服务器上以便你可以使用http链接添加web引用)很好,但是比必要的工作多一点。

    下次需要执行此操作时,只需将WSDL保留在您自己的计算机上,当您添加Web引用时,使用本地文件路径(例如:C:\ Users \ Desktop \ RateService.wsdl)。

    WSDL和discomap文件

    这些文件仅供Visual Studio用于创建代理类。在实际服务调用期间不会引用它们。您可以删除它们,但为了将来参考,请确保它们是您项目的一部分。

    我不认为discomap指向不同服务器上的WSDL存​​在问题,即使该地址不再存在。我认为只有在您更新网络参考(右键单击>更新网页参考)时才会使用此参考,您不应该这样做,因为您应该从FedEx&#39下载最新的WSDL。 ; s开发者网站。

答案 1 :(得分:0)

仅供参考:我找到了在生产和测试环境端点网址之间切换的最简单方法,凭据只是根据管理员用户的下拉菜单更改页面后面代码中的服务类对象值列表选择。

因此,如果他们选择"测试"它的TrackService.Url =" gatewaybeta.fedex.com"如果它"生产"那么它的TrackService.Url =" gateway.fedex.com"。

这会覆盖web.config和WSDL文件中的端点。

您还必须记住交换密钥/密码/ meternumber凭证。