windows phone 8 - SyncML protocol in WP8- client stops responding -
i'm trying windows phone 8 mdm scheme work. device enrolls , makes initial syncml request correctly. responds queries in server's intitial response, assume doesn't in it. reason beingness uses retry intervals create additional connections server , afterward doesn't connect anymore.
when initiate connection manually works, automatic connections not taking place. unusual thing internally syncml sessionid counter gets increased @ specified intervals, device doesn't effort connect server.
here syncml protocol
client starts:
<syncml xmlns="syncml:syncml1.2"> <synchdr> <verdtd>1.2</verdtd> <verproto>dm/1.2</verproto> <sessionid>e</sessionid> <msgid>1</msgid> <target> <locuri>https://ssl.../enrollment/omadmservice.php</locuri> </target> <source> <locuri>imei:35...64</locuri> <locname>riho</locname> </source> <cred> <meta> <format xmlns="syncml:metinf">b64</format> <type xmlns="syncml:metinf">syncml:auth-md5</type> </meta> <data>sofh6khg4awlyxn2pqoowq==</data> </cred> </synchdr> <syncbody> <alert> <cmdid>2</cmdid> <data>1201</data> </alert> <replace> <cmdid>3</cmdid> <item> <source> <locuri>./devinfo/devid</locuri> </source> <data>imei:35...64</data> </item> ... </replace> <final/> </syncbody> </syncml>
server responds:
<syncml xmlns="syncml:syncml1.2"> <synchdr> <verdtd>1.2</verdtd> <verproto>dm/1.2</verproto> <sessionid>e</sessionid> <msgid>1</msgid> <target> <locuri>imei:35...64</locuri> </target> <source> <locuri>https://ssl.../enrollment/omadmservice.php</locuri> <locname>mdmserver</locname> </source> <cred> <meta> <format xmlns="syncml:metinf">b64</format> <type xmlns="syncml:metinf">syncml:auth-md5</type> </meta> <data>ryj+bosmdcoo8bzxxcysxg==</data> </cred> </synchdr> <syncbody> <status> <cmdid>1</cmdid> <msgref>1</msgref> <cmdref>0</cmdref> <cmd>synchdr</cmd> <data>212</data> </status> <status> <msgref>1</msgref> <cmdref>2</cmdref> <cmdid>2</cmdid> <cmd>alert</cmd> <data>200</data> </status> <status> <cmdid>3</cmdid> <msgref>1</msgref> <cmdref>3</cmdref> <cmd>replace</cmd> <data>200</data> </status> <get> <cmdid>4</cmdid> <item> <target> <locuri>./vendor/msft/registry/hklm/software/microsoft/deviceencryption/enabled</locuri> </target> </item> </get> </syncbody> </syncml>
client sends response:
<syncml xmlns="syncml:syncml1.2"> <synchdr> <verdtd>1.2</verdtd> <verproto>dm/1.2</verproto> <sessionid>e</sessionid> <msgid>2</msgid> <target> <locuri>https://ssl.../enrollment/omadmservice.php</locuri> </target> <source> <locuri>imei:35...64</locuri> </source> </synchdr> <syncbody> <status> <cmdid>1</cmdid> <msgref>1</msgref> <cmdref>0</cmdref> <cmd>synchdr</cmd> <chal> <meta> <format xmlns="syncml:metinf">b64</format> <type xmlns="syncml:metinf">syncml:auth-md5</type> <nextnonce xmlns="syncml:metinf">kjjz6fycyuym9vussahfkmj98ggfh9yelvv8hlmnzak=</nextnonce> </meta> </chal> <data>212</data> </status> <status> <cmdid>2</cmdid> <msgref>1</msgref> <cmdref>4</cmdref> <cmd>get</cmd> <data>200</data> </status> <results> <cmdid>3</cmdid> <msgref>1</msgref> <cmdref>4</cmdref> <item> <source> <locuri>./vendor/msft/registry/hklm/software/microsoft/deviceencryption/enabled</locuri> </source> <meta> <format xmlns="syncml:metinf">int</format> </meta> <data>1</data> </item> </results> <final/> </syncbody> </syncml>
and server stores info , drops connection.
can find bug in implementation? more client expect server?
as found out problem not in implementation, in buggy microsoft documentation. in "wp8 enterprise management protocol 1.2" fixed several typos , mistakes in protocol , connections work supposed.
windows-phone-8 mdm syncml
No comments:
Post a Comment