我已经使用NB通过NB界面将“客户端Web服务”添加到Codename one应用程序。这在模拟器中工作正常。
WSDL类是在构建期间自动生成的,我将它们登陆到com.myco.myapp.generated包中。
检查生成的JAR后,WSDL类就可以了。
但是当我把这个推向“build for Android”到codename1时,在我得到的设备上运行
An Internal application error occurred : java.lang.NoClassDefFoundError: com.myco.myapp.generated.SimpleStockList_Service
但是JAR肯定会上课。
我确信它与JAR及其清单有关,但从来没有真正必须使用Ant和JAR以及构建以了解该做什么。
由于这些类是在ant构建期间生成的,所以我无法将它们打包到库中。 (尝试过并因同一类的2个实例而失败。)
答案 0 :(得分:1)
Codename One目前不支持二进制库,您需要将源代码集成到构建过程中。在这样的设置中支持二进制库涉及许多复杂性。
答案 1 :(得分:1)
感谢Shai的帮助。
最终答案不是使用WSDL,因为移动对象依赖于小型Java包中未包含的序列化。
由于这个原因,我创建了一个自定义servlet,其中codename1 ConnectionRequest可以通过标准HTTP请求来处理。
这就是我实现它的方式 http://www.jamesarbrown.com/?p=164