I've created an application that uses HTTP to receive syncml requests from a Sony Ericsson T630 phone. I'm using toolkit 4.4. The phone is sending WBXML as expected, however when I try to call smlProcessData, I'm getting the following error
SML_ERR_XLT_INCOMP_WBXML_VERS 0x200a
I'm not using the XLT component as transport.
The encoding is set to SML_WBXML.
What dumb thing have I forgotten to set up?
Thanks
Andy.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is only one place in the source tree that returns that error - in the WBXML decoder. You need to check that part of the code (preferably in the debugger). It might be as simple as a new dot release of WBXML now being supported, so you have to bump a define, or you could be trying to decode total garbage - if you didn't load the incoming message into the workspace correctly.
dgc
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I can't read it effectively as control characters. Perhaps as hex, although that still takes effort (that I don't have time for right now). In any event, compare it with the sample wbxml listing in the specs. There is a nice long example. If the numbers are way off, compare where it is fetching them with what you expect - are you just copying the buffer off by one or something? Truncating it? You should be able to interpret the data (per the example), and see where the appropriate version number info would be.
dgc
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've created an application that uses HTTP to receive syncml requests from a Sony Ericsson T630 phone. I'm using toolkit 4.4. The phone is sending WBXML as expected, however when I try to call smlProcessData, I'm getting the following error
SML_ERR_XLT_INCOMP_WBXML_VERS 0x200a
I'm not using the XLT component as transport.
The encoding is set to SML_WBXML.
What dumb thing have I forgotten to set up?
Thanks
Andy.
There is only one place in the source tree that returns that error - in the WBXML decoder. You need to check that part of the code (preferably in the debugger). It might be as simple as a new dot release of WBXML now being supported, so you have to bump a define, or you could be trying to decode total garbage - if you didn't load the incoming message into the workspace correctly.
dgc
Thanks for the pointer, the problem would appear to be the latter, as the major and minor version numbers are way off.
The data looks something like this
^[B^[@^[@j^[]-//SYNCML//DTD SyncML 1.0//ENmlq^[C1.0^[Ar^[JSyncML/1.0^[Ae^[C140^[A[^[A1^[AnW'http://...
Which to my untrained eye looks OK for WBXML?
So do I need to do something to this data before copying it into the SyncML buffer?
I can't read it effectively as control characters. Perhaps as hex, although that still takes effort (that I don't have time for right now). In any event, compare it with the sample wbxml listing in the specs. There is a nice long example. If the numbers are way off, compare where it is fetching them with what you expect - are you just copying the buffer off by one or something? Truncating it? You should be able to interpret the data (per the example), and see where the appropriate version number info would be.
dgc