我正在寻找自动生成REST ws的最佳方法。 我们收集了为其生成的WSDL的Web服务(SOAP)。我被要求提供不同的API来调用这些Web服务。 (PHP,Pyton,REST,CLI ...) 其中一个要求是为这些ws提供REST API。
生成REST客户端/服务器的最佳方法是什么,是否有自动工具? WSDL有可能改变每个版本。
由于
答案 0 :(得分:1)
无法从WSDL生成REST API。您不能混合橙子和苹果
SOAP是在HTTP之上构建的协议。 WebService由一组方法/操作表示。您可以将WebService视为复杂的RPC。通常我们可以说 WebServices是关于动词,来调用远程方法/动作。 WebService也没有统一的接口,这就是WSDL存在的原因。
REST是架构风格(范围比API更广泛)。 REST API由一组资源和表示法表示。资源是信息的来源,并通过统一接口进行管理。通常我们可以说 REST API是关于名词。因为所有资源必须具有统一的接口,所以不需要WADL(尝试创建类似WSDL的REST的尝试失败)。
我怀疑你能否自动将动词转换为名词等等。
答案 1 :(得分:0)
请查看下面的文章,该文章介绍了如何使用WSDL2.0来描述REST服务。只有在预期的消息格式是XML时才能使用它。 https://www.ibm.com/developerworks/library/ws-restwsdl/
答案 2 :(得分:0)
不要重写现有的基于SOAP的Web服务,而是使用API Express将其表示为可移动的REST服务。无需转换。继续运行SOAP服务,并通过WSDL文件和一些配置参数,可以轻松地将其作为REST服务集成到移动应用中。
如何将WSDL服务(SOAP)公开为REST API:https://dzone.com/articles/how-to-expose-a-wsdl-service-soap-as-rest-api
Appery.io API Express:https://appery.io/api-express/