问题描述
我正在寻找一种方法将我客户的 WCF 服务公开为 REST 服务(并创建所有安全堆栈以支持声明/oauth 身份验证和授权)我正在研究两种不同的方法:
I'm looking for a way to expose my customer's WCF Services as REST Services (and create all the security stack to support claims / oauth authentication and authorization)I'm working on 2 different approach to do so:
- 创建一个新的 REST 服务,作为代理将我的 WCF 服务公开为 REST 服务(11 个服务/130 个 Web 方法到迁移...)并使用 IP STS/RS STS 保护它
- 使用像 Apigee 这样的现有产品,它可以为我完成所有这些工作,甚至比最初计划的功能更多.
我想先尝试使用 Apigee,但在创建 API 代理时遇到了问题.
I'm trying to play with Apigee first, but I'm facing an issue while creating the API Proxy.
我在 basicHttp 中公开的 Windows Azure VM 上部署了一个简单的 WCF 服务(只有 2 种方法)(按预期工作 - 意味着我在控制台应用程序中成功测试了它,即使客户端应用程序位于我的外部Azure 的虚拟机 -).
I've deployed a simple WCF Service (with only 2 methods) on a Windows Azure VM exposed in basicHttp (which works as expected - means I test it in a Console app successfully, even when the client app is located outside my Azure's VM -).
当我按照 Apigee 工作流程将其公开为 REST 服务时出现问题.我尝试在 Apigee 门户上获取服务的 wsdl 并出现以下错误:
Problem comes when I follow the Apigee workflow to expose it as a REST Service. I try to fetch service's wsdl on Apigee portal and got following error:
错误:无法对空对象调用 getOperation() 方法
有人知道问题出在哪里吗?我没有从 Apigee 门户获得太多信息.我已经通过 http://www.wsdl-analyzer.com/ 验证了我的 wsdl,但一切看起来都很好...同时,Amazone webservice 在 Apigee 上运行良好并生成 REST 服务,因此问题似乎来自我的服务的 WSDL
Does someone know where the issue come from ? I don't have much information from Apigee portal.I already validate my wsdl through http://www.wsdl-analyzer.com/ but everything looks fine...Meantime, Amazone webservice works fine on Apigee and generate the REST Service so problem seems to come from my service's WSDL
推荐答案
我最近在最新版本的 Apigee(版本 141029)中遇到了类似的错误.
I recently got a similar error in the most recent version of Apigee (Version 141029).
错误:获取 WSDL 错误:无法在空对象上调用方法 startsWith()".
The error: "Fetch WSDL Error: Cannot invoke method startsWith() on null object".
修复方法是将我的本地文件从somename.xml"重命名为somename.wsdl".
The fix was to rename my local file from "somename.xml" to "somename.wsdl".
这篇关于Apigee - 配置 API 代理时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!