Yes , I developed my own api according to jsr172. It has 2 optional packages jaxrpc and jaxp. jaxp is a a sax parser implementation. and jaxrpc is an rpc module. My api is fully independent from other apis. I only used cldc10.jar and midpapi.jar to developed my project. It is not dependent on any other apis. It doesn't use sun's j2me api any where. If clearly says, my api can be used for web accessing instead of sun's api.
I developed mobile applications using my api, midlet class and generated stubs by my wsdl2java tool. It works well with wireless tool kit. But I am unable to run it in a real phone. I got the problems with these phones,
Nokia 3650- I installed the jar. But while running it throws "application error ,illegal state exception"
Nokia 6600- I couldn't install my jar file. while installing using bluetooth it throws "authorisation fail"
I developed mobile applications using sun's api, midlet class and generated stubs by sun's tool. It works well with wireless tool kit. But it gives same problem with phones.
Here I checked for both midp1 and 2.And for normally packaged jar and obfuscated jar. but same error comes.
And enother problem I found while writing this message. The packaged jar also works well with wireless tool kit. But obfuscated jar throws error while running in wireless tool kit,the error is
" Uncaught exception java/lang/NoClassDefFoundError: javax/xml/rpc/a: Cannot create class in system package "
what is the reason for this error? But simple applications are working well with packaged jar and also with obfuscated jar.
So i am looking forward from you soon with a complete reply to solve obfuscation error, and please let me know how can I test my implementation in a phone. and the type of phone.
Joined: Mar 07, 2002
How big is your application JAR file? Did you include implementation classes for your own API in the JAR? Can you run on Nokia's emulators? You can not have any class in the "javax" name space. So, you need to change the package name in your own API.
Joined: Dec 06, 2004
Thanks for ur reply.
Yes I got the application work on the phone.
The problem is I had some packages with standard names including java. , javax. etc. After I changed all the names it works well with the phone.
But i'm using some already existing classes. so i want to have the original package names. What should i do to to have those packages with original name. It is a must for me.
Joined: Mar 07, 2002
The phone will not accept any class under the "java" or "javax" packages. However, when you develop your app, you can use those package names in the source code and then obfuscate the entire application with the library. You need to obfuscate the package names as well as the class names (the example you showed earlier only have class names obfuscated).
You cannot deliver standalone libraries to the device -- so you will always include the library JAR will all of your apps.