2

我正在寻找一种将客户的 WCF 服务公开为 REST 服务的方法(并创建所有安全堆栈以支持声明/oauth 身份验证和授权)我正在研究两种不同的方法:

  1. 创建一个新的 REST 服务,它将充当代理,将我的 WCF 服务公开为 REST 服务(11 个服务/130 个要迁移的 Web 方法......)并使用 IP STS / RS STS 保护它
  2. 使用像 Apigee 这样的现有产品,它将为我完成所有这些工作,甚至比最初计划的功能更多。

我首先尝试使用 Apigee,但在创建 API 代理时遇到了问题。

我在 basicHttp 中公开的 Windows Azure VM 上部署了一个简单的 WCF 服务(只有 2 种方法)(按预期工作 - 意味着我在控制台应用程序中成功测试它,即使客户端应用程序位于我的 Azure 的 VM 之外 - )。

当我按照 Apigee 工作流程将其公开为 REST 服务时,问题就来了。我尝试在 Apigee 门户上获取服务的 wsdl 并收到以下错误:

错误:无法在空对象上调用方法 getOperation()

有人知道问题出在哪里吗?我没有来自 Apigee 门户的太多信息。我已经通过http://www.wsdl-analyzer.com/验证了我的 wsdl,但一切看起来都很好......同时,Amazone 网络服务在 Apigee 上运行良好并生成 REST 服务,所以问题似乎来自我的服务的 WSDL

4

2 回答 2

0

我最近在最新版本的 Apigee(版本 141029)中遇到了类似的错误。

错误:“获取 WSDL 错误:无法在空对象上调用方法 startsWith()”。

解决方法是将我的本地文件从“somename.xml”重命名为“somename.wsdl”。

于 2014-12-22T13:08:40.130 回答
0

此错误已得到修复,并将包含在下一个版本 (R24.4) 中。如果您对新版本仍有任何问题,请告诉我们。

于 2013-12-03T18:36:22.453 回答