什么基于JVM的脚本语言支持@WebService在运行时创建服务?

我处于这样一种情况,我需要能够在运行时创建和公开Web服务。 (即没有“javac” – 编译步骤)。

是否有基于JVM的脚本语言对JAX-WS有很好的支持,因此我可以用Java编写中央引擎,然后让脚本语言创建包含Web服务方法的片段(使用@WebService或@WebMethod注释) )然后可以传递给

http://docs.oracle.com/javase/6/docs/api/javax/xml/ws/Endpoint.html#publish(java.lang.String,java.lang.Object)

如果可能的话,请提供一个如何正确执行此操作的示例。

有什么建议么?

许多人这样做,最像Java并且支持你想要的东西可能是常规的。

更新以添加示例:

谷歌搜索有很多可用的。 我所知道的最好的就是这里,因为这会引导你完成一个有效的例子。 此链接指向另一个专注于groovy的问题/答案网站。 他们将引导您完成这个简单的示例:

如果您尝试使用此网站并发现它不具有指导意义,请在此处提供反馈。 同样,如果你搜索并找到一个你发现更好/更容易理解的,请在此处添加。 我不能从同样的角度出发,因此你会有更多的贡献。

Geom.groovy ------------------- package webservices import javax.jws.WebService import javax.jws.soap.SOAPBinding.Style import javax.jws.soap.SOAPBinding @WebService @SOAPBinding(style=Style.RPC) interface Geom { double getArea(double val) } Circle.groovy ------------------- package webservices import javax.jws.WebService @WebService(endpointInterface='webservices.Geom') class Circle implements Geom { double getArea(double r) { Math.PI*r*r } } publish.groovy -------------------- package webservices import javax.xml.ws.Endpoint Endpoint.publish('http://localhost:5555/circle',new Circle()) println 'ready to receive requests...' 

我提供的链接最终可能会中断或被删除。 然而(IMO),如果(何时?)技术向更新/更好的方向发展,这种情况最有可能发生。 虽然我从上面复制了代码,但引用还有其他非常有用的信息和指针(例如使用SoapUI)。