Hi Francis,
i have commented your problem below, but here is the big picture about
xmlBlaster embedded/mobile/pda support.
The j2me example you mention is for simple usages (as it uses the http
and tomcat proxy), but for more professional approaches:
1. Pure Posix C with our C client library.
-------------------------------------------------
This supports highly compressed communication with tunneled callbacks.
It is very mature and reliable (see req client.c.socket).
As coding for mobile phones in C is not very portable (you need versions
for Motorola, Nokia etc) this is useful
only in very special cases or special hardware.
2. Windows mobile/pockecPC and smartphone
--------------------------------------------------------
This is robustly supported by our C# implementation (which uses the
embeeded C lib from 1.).
See requirement client.csharp and
http://www.xmlblaster.org/xmlBlaster/src/csharp/PInvokeCE.cs.html
There are VisualStudio project files in xmlBlaster/Projects/WinCE/VC8 to
build the dlls.
Like this you have highly compressed communication with tunneled callbacks.
Precond: Compact Framework .net 2.0 or higher (is compatible with CF1.0
and can be installed on any PDA).
3. J2me Mobile Phones (Nokia,SonyEricsson,Motorola,etc.)
-------------------------------------------------------------------------
Here we provide a commercial library to directly connect to xmlBlaster
with folowing features:
It supports
* highly compressed communication with tunneled callbacks,
* priorized queueing (for offline situations) on the mobile phone
* AES password encryption
* finding external GPS receivers over bluetooth
* finding internal GPS receivers over the location API
and many more features.
The GPRS/UMTS running costs are *very* low because of the highly
optimized compression.
This is a very professional library which has the size of about 90kBytes.
The library runs fine on any device supporting CLDC 1.1 and MIDP 2.0.
It runs on cheap cell phones like Sony Ericsson k320i or Nokia 6230i up
to high end phones like
Nokia N95 (with embedded GPS).
You can download and try the library embedded in the watchee application on
http://watchee.net/tracking.html
http://watchee.net/track (the web site is work in progress, please
send me directly a mail if you want to try and need a login account)
Having said that you can use xmlBlaster with the above libraries to
do any sort of mobile integration using a SOA based architecture (with
service messages) like
- tracking of outdoor events, commercial truck fleets, taxy etc
- search and rescue
- city guide
- erp, service and business optimization
Francis Bernard wrote:
Hello,
it's described on the j2me client requirements page, a typical use
case using a servlet engine (Tomcat) which opens a connection to
xmlBlaster to delegate the request.
Does this means that i cannot connect a j2me client directly to xmlblaster ?
If this is not the case, does it imply any custom development or is
this use case already accounted for on the library used ?
i built the j2me client demo and i tried this on the wtk2.5.1 emulator
and i got some exceptions:
I have just tried the same on my Linux box, and it runs fine on the
WTK2.5.1 emulator.
${J2ME_HOME}/bin/emulator -Xdescriptor
${XMLBLASTER_HOME}/demo/j2me/SystemInfo.jad
(
i have changed in SystemInfo.jad the url to use my localhost
servletUrl: http://localhost:8080/xmlBlaster/AppletServlet
and have started xmlBlaster, tomcat and SystemInfoPublisher as described
in requirement client.j2me
)
Why it fails with your error i don't know, i would recommend to install
eclipse with the eclipseme plugin
and debug the code to see what happens (or add some logging to the code
and recompile).
Alternatively you can use Netbeans 5.5.1 with the mobility pack to debug
the phone.
Best regards
Marcel
C:\xmlBlaster\demo\j2me>set J2ME_HOME=C:\WTK2.5.1
C:\xmlBlaster\demo\j2me>C:\WTK2.5.1/bin/emulator -Xdescriptor .\SystemInfo.jad
Running with storage root temp.DefaultColorPhone4
Running with locale: Portuguese_Portugal.1252
Running in the identified_third_party security domain
java.lang.RuntimeException: unexpected code: <
at org.xmlBlaster.util.Base64.decode(+127)
at org.xmlBlaster.util.Base64.decode(+52)
at
org.xmlBlaster.client.protocol.http.j2me.XmlBlasterAccessJ2ME.decodeBase64(+11)
at
org.xmlBlaster.client.protocol.http.common.XmlBlasterAccessRawBase.postRequest(+250)
at org.xmlBlaster.client.protocol.http.common.PersistentRequest.run(+13)
PersistentRequest #1 [ERROR]: Can't handle exception: java.lang.RuntimeException
: unexpected code: <XmlBlasterAccess #1 [INFO]: isConnected(false)
XmlBlasterAccess #1 [ERROR]: Can't login to xmlBlaster, timed out.
java.lang.Exception: Can't login to xmlBlaster, timed out.
at
org.xmlBlaster.client.protocol.http.common.XmlBlasterAccessRawBase.startPersistentHttpConnection(+83)
at
org.xmlBlaster.client.protocol.http.common.XmlBlasterAccessRawBase.connect(+122)
at SystemInfoMidlet.init(+21)
at SystemInfoMidlet.startXmlBlaster(+193)
at SystemInfoMidlet.run(+4)
--
Marcel Ruff
http://www.xmlBlaster.org