我正在寻找一种方法来为php中的RESTfull webservice生成WSDL(WSDL2)webservice描述符。
我知道RESTfull webservice不需要类似SOAP的描述,但我需要REST WS的WSDL为web服务添加语义注释。
答案 0 :(得分:1)
您可以使用tinyWSDL。
首先看一下here。 如果您使用XML Schema,您可以添加DOM Element或使用tinyXMLSchema插件(+ Apache XML Schema 2.1 libaray)。
Types types = description.getTypes();
SchemaTypesExtensions extensions = (SchemaTypesExtensions)types.getComponentExtensions(WSDLPredefinedExtension.SCHEMA.URI);
Schema schema = extensions.newSchema();
//在这里你可以创建一个新的Schema XmlSchema xmlSchema =(XmlSchema)schema.getSchema();
//或设置已解析的一个: schema.setSchema(XMLSCHEMA)
如果您不想使用Apache XML Shcema库,您可以随时使用DOM元素:
types.addExtensionElement(new QName("http://www.w3.org/2001/XMLSchema", "schema", "xs"), element)
干杯,
d
P.S。还有WSDL 2.0 - >源代码中的WADL转换器(不在jar中)。