Codename One - 如何向现有Web服务添加功能

时间:2017-08-15 12:15:47

标签: web-services codenameone

使用CN1 Web服务向导,我创建了一个在本地Tomcat安装上运行的工作服务器项目。此外,CN1项目还有我用来调用Web服务的webserviceproxy.java类。到目前为止一切顺利。

在开发过程中,现在需要在Web服务中创建一个我之前没有想到的新功能。因此,我没有使用向导重新创建整个服务器,而是认为我只是在创建的文件中添加了一些代码。

在客户端:

WebServiceProxy.java - 添加WebServiceProxyCall.WSDefinition并以同步和异步方式添加函数调用。参数和返回类型与定义匹配。

在服务器端:

WebServiceProxyServer.java - 添加具有所需功能的函数定义(这是因为我在服务器端本地调试它)。

CN1WebServiceServlet.java - 添加定义并添加与服务名称匹配的if语句。

在调试服务器并从客户端调用服务时,它没有到达doPost方法的断点,因此非常糟糕。

手动添加新的Web服务功能时,还需要更改哪些内容?或者这是如此复杂以至于我应该更好地使用Web服务向导,从头开始创建新服务器并将旧服务器中的所有其他功能复制到新服务器?

谢谢和最好的问候

1 个答案:

答案 0 :(得分:1)

目前无法无缝地执行此操作,因为生成的协议是二进制的,以实现最快的协议性能。

解决方案是生成一个新类,我们通常使用概念V2,V3。这样,第一个Web服务仍然与生产中的设备100%兼容,您可以为新设备创建新的“更正确”的协议。实现类可以相互派生以增加代码重用。