Create web service on Android device using cxf?

I managed to create a webservice in a java desktop application using Apache CXF. However, I need it to work on an Android device.

The problem is that the java.ws package java.ws missing from Android. I copied all the necessary jar with java.ws classes to the libs folder of the Android project, but while dexing (creating an application in the IDE) I have the following errors:

 Error:Android Pre Dex: [android-ws-combine.jar] trouble processing "javax/xml/bind/Binder.class": Error:Android Pre Dex: [android-ws-combine.jar] Ill-advised or mistaken usage of a core class (java.* or javax.*) Error:Android Pre Dex: [android-ws-combine.jar] when not building a core library. Error:Android Pre Dex: [android-ws-combine.jar] This is often due to inadvertently including a core library file Error:Android Pre Dex: [android-ws-combine.jar] in your application project, when using an IDE (such as Error:Android Pre Dex: [android-ws-combine.jar] Eclipse). If you are sure you're not intentionally defining a Error:Android Pre Dex: [android-ws-combine.jar] core class, then this is the most likely explanation of what's Error:Android Pre Dex: [android-ws-combine.jar] going on. Error:Android Pre Dex: [android-ws-combine.jar] However, you might actually be trying to define a class in a core Error:Android Pre Dex: [android-ws-combine.jar] namespace, the source of which you may have taken, for example, Error:Android Pre Dex: [android-ws-combine.jar] from a non-Android virtual machine project. This will most Error:Android Pre Dex: [android-ws-combine.jar] assuredly not work. At a minimum, it jeopardizes the Error:Android Pre Dex: [android-ws-combine.jar] compatibility of your app with future versions of the platform. Error:Android Pre Dex: [android-ws-combine.jar] It is also often of questionable legality. Error:Android Pre Dex: [android-ws-combine.jar] If you really intend to build a core library -- which is only Error:Android Pre Dex: [android-ws-combine.jar] appropriate as part of creating a full virtual machine Error:Android Pre Dex: [android-ws-combine.jar] distribution, as opposed to compiling an application -- then use Error:Android Pre Dex: [android-ws-combine.jar] the "--core-library" option to suppress this error message. Error:Android Pre Dex: [android-ws-combine.jar] If you go ahead and use "--core-library" but are in fact Error:Android Pre Dex: [android-ws-combine.jar] building an application, then be forewarned that your application Error:Android Pre Dex: [android-ws-combine.jar] will still fail to build or run, at some point. Please be Error:Android Pre Dex: [android-ws-combine.jar] prepared for angry customers who find, for example, that your Error:Android Pre Dex: [android-ws-combine.jar] application ceases to function once they upgrade their operating Error:Android Pre Dex: [android-ws-combine.jar] system. You will be to blame for this problem. Error:Android Pre Dex: [android-ws-combine.jar] If you are legitimately using some code that happens to be in a Error:Android Pre Dex: [android-ws-combine.jar] core package, then the easiest safe alternative you have is to Error:Android Pre Dex: [android-ws-combine.jar] repackage that code. That is, move the classes in question into Error:Android Pre Dex: [android-ws-combine.jar] your own package namespace. This means that they will never be in Error:Android Pre Dex: [android-ws-combine.jar] conflict with core system classes. JarJar is a tool that may help Error:Android Pre Dex: [android-ws-combine.jar] you in this endeavor. If you find that you cannot do this, then Error:Android Pre Dex: [android-ws-combine.jar] that is an indication that the path you are on will ultimately Error:Android Pre Dex: [android-ws-combine.jar] lead to pain, suffering, grief, and lamentation. Error:Android Pre Dex: [android-ws-combine.jar] 1 error; aborting 

How can i do this? Any other way / approach to exporting webservice to Android?

PS. android-ws-combination.jar has been downloaded here .

SFC. In fact, I don’t think that any desktop packages like javax.ws are really used except for annotations. I think webservice implementation classes are fully included in CXF.

0
source share
1 answer

Ok, I did it - you need to fix the cxf kernel, cxf transport, cxf detection of api, jaxb port for android, patch txw, change wsdls and bind wsdls by default (for example, ws addressing), download patch resources (like and all META / * Resources are deleted by the android developer), the fix receives package annotations (not supported by android). 2 weeks 10h debugging / patching and intercepting udp packets

+1
source

All Articles