Thanks,
Vladimir
/////////////////////////////////////////////////////////////////////////////////////////////
<!-- Provisioning file --->
/////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="UTF-8"?>
<wap-provisioningdoc version="1.0">
<characteristic type="APPLICATION">
<parm name="APPID" value="w7"/>
<parm name="PROVIDER-ID" value="funambol"/>
<parm name="NAME" value="funambol"/>
<parm name="ADDR" value="https://computer-a:8443/funambol/dm"/>
<parm name="ROLE" value="8"/>
<parm name="INIT"/>
<characteristic type="APPAUTH">
<parm name="AAUTHLEVEL" value="APPSRV"/>
<parm name="AAUTHTYPE" value="DIGEST"/>
<parm name="AAUTHNAME" value="funambol"/>
<parm name="AAUTHSECRET" value="funambol"/>
<parm name="AAUTHDATA" value="PysxTTgmISFdVD8gJ3FWPA=="/>
</characteristic>
<characteristic type="APPAUTH">
<parm name="AAUTHLEVEL" value="CLIENT"/>
<parm name="AAUTHTYPE" value="DIGEST"/>
<parm name="AAUTHSECRET" value="srvpwd"/>
<parm name="AAUTHDATA"
value="eQAOd2OFEthBqMVCnr801yyIcrO0kmdk70mOedQXRpQ="/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
/////////////////////////////////////////////////////////////////////////////////////////////
<!-- Client request #1 -->
/////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" ?>
<SyncML>
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
<SessionID>309</SessionID>
<MsgID>1</MsgID>
<Target>
<LocURI>https://computer-a:8443/funambol/dm</LocURI>
</Target>
<Source>
<LocURI>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</LocURI>
<LocName>funambol</LocName>
</Source>
<Cred>
<Meta>
<Format>b64</Format>
<Type>syncml:auth-md5</Type>
</Meta>
<Data>OV2ty+6O0nZBo3Aau7vfwg==</Data>
</Cred>
</SyncHdr>
<SyncBody>
<Alert>
<CmdID>2</CmdID>
<Data>1201</Data>
</Alert>
<Replace>
<CmdID>3</CmdID>
<Item>
<Source>
<LocURI>./DevInfo/DevId</LocURI>
</Source>
<Data>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</Data>
</Item>
<Item>
<Source>
<LocURI>./DevInfo/Man</LocURI>
</Source>
<Data>Microsoft</Data>
</Item>
<Item>
<Source>
<LocURI>./DevInfo/Mod</LocURI>
</Source>
<Data>DeviceEmulator</Data>
</Item>
<Item>
<Source>
<LocURI>./DevInfo/DmV</LocURI>
</Source>
<Data>1.2</Data>
</Item>
<Item>
<Source>
<LocURI>./DevInfo/Lang</LocURI>
</Source>
<Data>en</Data>
</Item>
</Replace>
<Final />
</SyncBody>
</SyncML>
/////////////////////////////////////////////////////////////////////////////////////////////
<!-- Server response #1 -->
/////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" ?>
<SyncML>
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
<SessionID>309</SessionID>
<MsgID>1</MsgID>
<Target>
<LocURI>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</LocURI>
<LocName>funambol</LocName>
</Target>
<Source>
<LocURI>https://computer-a:8443/funambol/dm</LocURI>
<LocName>funambol</LocName>
</Source>
<Cred>
<Meta>
<Format>b64</Format>
<Type>syncml:auth-md5</Type>
</Meta>
<Data>tgikj3yvKKxi6CcByAo8yg==</Data>
</Cred>
</SyncHdr>
<SyncBody>
<Status>
<CmdID>1</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>0</CmdRef>
<Cmd>SyncHdr</Cmd>
<TargetRef>https://computer-a:8443/funambol/dm</TargetRef>
<SourceRef>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</SourceRef>
<Chal>
<Meta>
<Format>b64</Format>
<Type>syncml:auth-md5</Type>
<NextNonce>XTFaPCJDXS5QKyQmZzRIMA==</NextNonce>
</Meta>
</Chal>
<Data>212</Data>
</Status>
<Status>
<CmdID>2</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>2</CmdRef>
<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>./DevInfo/Man</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>5</CmdID>
<Item>
<Target>
<LocURI>./DevInfo/Mod</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>6</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/DevTyp</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>7</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/OEM</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>8</CmdID>
<Item>
<Target>
<LocURI>./DevInfo/Lang</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>9</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/FwV</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>10</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/SwV</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>11</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/HwV</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>12</CmdID>
<Item>
<Target>
<LocURI>./DevInfo/DmV</LocURI>
</Target>
</Item>
</Get>
<Alert>
<CmdID>13</CmdID>
<Data>1100</Data>
<Item>
<Data>MINDT=5&MAXDT=15</Data>
</Item>
<Item>
<Data>Funambol DM Demo</Data>
</Item>
</Alert>
<Final />
</SyncBody>
</SyncML>
/////////////////////////////////////////////////////////////////////////////////////////////
<!-- Client request #2 -->
/////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" ?>
<SyncML>
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
<SessionID>309</SessionID>
<MsgID>2</MsgID>
<Target>
<LocURI>https://computer-a:8443/funambol/dm?sid=W0JAMWYyMmZmYS0xMTg0MDAxMzczODE0</LocURI>
</Target>
<Source>
<LocURI>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</LocURI>
</Source>
</SyncHdr>
<SyncBody>
<Status>
<CmdID>1</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>0</CmdRef>
<Cmd>SyncHdr</Cmd>
<Chal>
<Meta>
<Format>b64</Format>
<Type>syncml:auth-md5</Type>
<NextNonce>MHBoOGZmRC9rVmU3WXBkS1hnOUFBL2JVOFdBUFN0UTZENWNrN2tDL3F0UT0=</NextNonce>
</Meta>
</Chal>
<Data>401</Data>
</Status>
<Status>
<CmdID>2</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>4</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>3</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>5</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>4</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>6</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>5</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>7</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>6</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>8</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>7</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>9</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>8</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>10</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>9</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>11</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>10</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>12</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>11</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>13</CmdRef>
<Cmd>Alert</Cmd>
<Data>401</Data>
</Status>
<Final />
</SyncBody>
</SyncML>
/////////////////////////////////////////////////////////////////////////////////////////////
<!-- Server response #2 -->
/////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" ?>
<SyncML>
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
<SessionID>309</SessionID>
<MsgID>2</MsgID>
<Target>
<LocURI>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</LocURI>
</Target>
<Source>
<LocURI>https://computer-a:8443/funambol/dm?sid=W0JAMWYyMmZmYS0xMTg0MDAxMzczODE0</LocURI>
<LocName>funambol</LocName>
</Source>
<Cred>
<Meta>
<Format>b64</Format>
<Type>syncml:auth-md5</Type>
</Meta>
<Data>+l/iLZLlgP0RNxNkKUwkFw==</Data>
</Cred>
</SyncHdr>
<SyncBody>
<Status>
<CmdID>1</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>0</CmdRef>
<Cmd>SyncHdr</Cmd>
<TargetRef>https://computer-a:8443/funambol/dm?sid=W0JAMWYyMmZmYS0xMTg0MDAxMzczODE0</TargetRef>
<SourceRef>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</SourceRef>
<Chal>
<Meta>
<Format>b64</Format>
<Type>syncml:auth-md5</Type>
<NextNonce>XTFaPCJDXS5QKyQmZzRIMA==</NextNonce>
</Meta>
</Chal>
<Data>212</Data>
</Status>
<Get>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./DevInfo/Man</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>3</CmdID>
<Item>
<Target>
<LocURI>./DevInfo/Mod</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>4</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/DevTyp</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>5</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/OEM</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>6</CmdID>
<Item>
<Target>
<LocURI>./DevInfo/Lang</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>7</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/FwV</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>8</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/SwV</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>9</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/HwV</LocURI>
</Target>
</Item>
</Get>
<Get>
<CmdID>10</CmdID>
<Item>
<Target>
<LocURI>./DevInfo/DmV</LocURI>
</Target>
</Item>
</Get>
<Alert>
<CmdID>11</CmdID>
<Data>1100</Data>
<Item>
<Data>MINDT=5&MAXDT=15</Data>
</Item>
<Item>
<Data>Funambol DM Demo</Data>
</Item>
</Alert>
<Final />
</SyncBody>
</SyncML>
/////////////////////////////////////////////////////////////////////////////////////////////
<!-- Client request #3 -->
/////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" ?>
<SyncML>
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
<SessionID>309</SessionID>
<MsgID>3</MsgID>
<Target>
<LocURI>https://computer-a:8443/funambol/dm?sid=W0JAMWYyMmZmYS0xMTg0MDAxMzczODE0</LocURI>
</Target>
<Source>
<LocURI>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</LocURI>
</Source>
</SyncHdr>
<SyncBody>
<Status>
<CmdID>1</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>0</CmdRef>
<Cmd>SyncHdr</Cmd>
<Chal>
<Meta>
<Format>b64</Format>
<Type>syncml:auth-md5</Type>
<NextNonce>c0NER3ZjdEV5dG01RVBObWg1Ujlic2o1ZEVEVDd2T3l2UncrNUwxVG43Zz0=</NextNonce>
</Meta>
</Chal>
<Data>401</Data>
</Status>
<Status>
<CmdID>2</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>2</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>3</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>3</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>4</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>4</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>5</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>5</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>6</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>6</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>7</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>7</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>8</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>8</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>9</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>9</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>10</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>10</CmdRef>
<Cmd>Get</Cmd>
<Data>401</Data>
</Status>
<Status>
<CmdID>11</CmdID>
<MsgRef>2</MsgRef>
<CmdRef>11</CmdRef>
<Cmd>Alert</Cmd>
<Data>401</Data>
</Status>
<Final />
</SyncBody>
</SyncML>
/////////////////////////////////////////////////////////////////////////////////////////////
<!-- Server response #3 -->
/////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" ?>
<SyncML>
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
<SessionID>309</SessionID>
<MsgID>3</MsgID>
<Target>
<LocURI>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</LocURI>
</Target>
<Source>
<LocURI>https://computer-a:8443/funambol/dm</LocURI>
<LocName>funambol</LocName>
</Source>
</SyncHdr>
<SyncBody>
<Status>
<CmdID>1</CmdID>
<MsgRef>3</MsgRef>
<CmdRef>0</CmdRef>
<Cmd>SyncHdr</Cmd>
<TargetRef>https://computer-a:8443/funambol/dm?sid=W0JAMWYyMmZmYS0xMTg0MDAxMzczODE0</TargetRef>
<SourceRef>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</SourceRef>
<Data>400</Data>
<Item>
<Target>
<LocURI>urn:uuid:B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1</LocURI>
</Target>
<Source>
<LocURI>https://computer-a:8443/funambol/dm?sid=W0JAMWYyMmZmYS0xMTg0MDAxMzczODE0</LocURI>
</Source>
<Data>400 BAD REQUEST - Unable to authenticate to the client</Data>
</Item>
</Status>
<Final />
</SyncBody>
</SyncML>
I am trying to demo OMA DM features of the WM6 device, too. The testing DM
server I used is funambol DM server.
The server is installed successfully and it works. But I have no idea how to
bootstrap my WM6 device with an OMA DM account. Did you successfully
establish an OMA DM management session with a WM6 device?
Any comments are highly appreciated. Thanks.
Hope this helps, let me know if you need more details on any of the steps,
and I’ll post them as well.
Thanks for your help. I've followed steps mentioned in
DM_Server_AdministrationGuide.pdf to
set up the Funambol DM server. To check that the Funambol DM Server is
started, I pointed a
browser to http://localhost:8080/dmdemoand got the DM Demo welcome page.
I have no idea what to do next. Where can I get the certificate you
mentioned in step 1?
I looked for sslchainsaver and found the page
http://blogs.msdn.com/windowsmobile/archive/2006/08/11/sslchainsaver.aspx.
But the link to the source code and binary is broken. (The GotDotNet
CodeGallery has been
phased out) Please advice me on how to get it work. Thanks a lot.
PS. Did you successfully establish an OMA DM management session with a WM6
device?
The Windows modile doesn't provide UI to config the DM server profile.
Did you use rapiconfig to send the provisioning file to the device?
Once the device is bootstrapped successfully, what will happen?
By the way, do you know whether there is a DM testing server site
allowing users to try
DM functionality?
Nicole
I use Nokia N91 to test my DM server and it works. It can initiate a
management session with the DM server. Due to some reason, I wanna change the
default port 8080 to another port number. Is it necessary using port 8080 for
the funambo DM server?
Thanks in advance.
Regards,
Nicole
"Frank Henningsen" wrote:
> hi nicole,
>
> i cant remember where i found the sslchainsaver tool, but here it comes.
>
> You can use the tool to collect all certificates from a certificate
> chain. Once you have collected all certificates from a chain, you can
> provision the device with the ssl root certificate (the top root
> certificate in chain) to the device, unless the device has been locked
> by its manufactorer og carrier.
>
> good luck with omadm and WM...it's not simple as it could be.
>
> /Frank
>
>
> Nicole Lin skrev:
you should be able to change the port to your liking, as long as you
remember to configure the server accordingly and remember to change the
port on your DM account in WM terminal.
/Frank
Nicole Lin skrev:
----
Jean Chak [MSFT]
This Posting is provided "AS IS" with no warranties, and confers no rights.
"Frank Henningsen" <fhx...@gmail.com> wrote in message
news:%23T7NihY...@TK2MSFTNGP04.phx.gbl...
Could you describe details about step 3 "Modify the Funambol output pipeline
and add your own processor" ? I have read
funambol_dm_server_developer_guide.pdf but still don't know how to add
LocName in server's response. How can I creating an output synclet?
Thanks in advance.
Nicole
package com.foo.funambol.pipeline;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import com.funambol.framework.core.Sync4jException;
import com.funambol.framework.core.SyncML;
import com.funambol.framework.engine.pipeline.MessageProcessingContext;
import com.funambol.framework.engine.pipeline.OutputMessageProcessor;
public class WinCEOutputProcessor implements OutputMessageProcessor
{
public void postProcessMessage(MessageProcessingContext context, SyncML
message) throws Sync4jException
{
String FUNAMBOL_HOME = System.getProperty("funambol.dm.home");
String configFile = FUNAMBOL_HOME + File.separator + "config" +
File.separator + "Funambol.properties";
Properties props = new Properties();
try
{
props.load(new FileInputStream(configFile));
String serverID = props.getProperty("server.id");
message.getSyncHdr().getSource().setLocName(serverID);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
2. Next you will need to modify the configuration of the Funambol server to
include your processor in the pipeline:
dm-server\config\com\funambol\server\engine\pipeline\PipelineManager.xml
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.4.0" class="java.beans.XMLDecoder">
<object class="com.funambol.framework.engine.pipeline.PipelineManager">
……
<void property="outputProcessors">
<array
class="com.funambol.framework.engine.pipeline.OutputMessageProcessor"
length="2">
<void index="0">
<object class="com.foo.funambol.pipeline.WinCEOutputProcessor"/>
</void>
<void index="1">
<object class="com.funambol.server.engine.RespURISynclet"/>
</void>
</array>
</void>
</object>
</java>
3. Now all you need is to restart the Funambol server.
Hope this helps!
Vladimir