Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os comandos do DM OMA são transmitidos entre o servidor e o dispositivo cliente nas mensagens. Uma mensagem pode conter um ou mais comandos. Para obter uma lista dos comandos suportados, veja a tabela no suporte do protocolo OMA DM.
Uma mensagem DM é um documento XML. A estrutura e o conteúdo do documento estão definidos no Protocolo de Representação OMA DM (OMA-SyncML-DevInfo-DTD-V1_1_2-20030505-D.dtd) disponível no site do OMA.
Cada mensagem é composta por um cabeçalho, especificado pelo elemento SyncHdr e um corpo da mensagem, especificado pelo elemento SyncBody.
A tabela seguinte mostra as versões do DM OMA suportadas.
Versão | Formato |
---|---|
OMA DM versão 1.1.2 | <SyncML xmlns='SYNCML:SYNCML1.1'></SyncML> |
OMA DM versão 1.2 | <SyncML xmlns='SYNCML:SYNCML1.2'></SyncML> |
Formato do arquivo
O exemplo seguinte mostra a estrutura geral do documento XML enviado pelo servidor com a versão OMA DM 1.2.1 apenas para fins de demonstração. Os pacotes XML iniciais trocados entre o cliente e o servidor podem conter mais etiquetas XML. Para obter uma descrição detalhada e exemplos desses pacotes, veja a especificação OMA Gerenciamento de Dispositivos Protocol 1.2.1.
<SyncML xmlns='SYNCML:SYNCML1.2'>
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
<SessionID>1</SessionID>
<MsgID>1</MsgID>
<Target>
<LocURI>{unique device ID}</LocURI>
</Target>
<Source>
<LocURI>https://www.contoso.com/mgmt-server</LocURI>
</Source>
</SyncHdr>
<SyncBody>
<!-- query a device OS system version -->
<Get>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/SwV</LocURI>
</Target>
</Item>
</Get>
<!-- Update device policy -->
<Final />
</SyncBody>
</SyncML>
Elemento SyncHdr
O SyncHdr inclui as seguintes informações:
Definição do Tipo de Documento (DTD) e números de versão do protocolo
Identificadores de sessão e mensagens. Cada mensagem na mesma sessão DM tem de ter um MsgID diferente.
Origem da mensagem e Identificadores de Recursos Uniformes de destino (URIs)
Credenciais para autenticação
Estas informações são utilizadas pelo dispositivo cliente para gerir corretamente a sessão de DM.
Exemplo de código
O exemplo seguinte mostra o componente de cabeçalho de uma mensagem DM. Neste caso, a versão 1.2 do DM OMA é utilizada apenas como exemplo.
Observação
O <LocURI>
valor do nó para o <Source>
elemento no SyncHdr do pacote de DM gerado pelo dispositivo deve ser o mesmo que o valor de ./DevInfo/DevID. Para obter mais informações sobre o DevID, veja DevInfo configuration service provider (Fornecedor de serviços de configuração de DevInfo).
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
<SessionID>1</SessionID>
<MsgID>1</MsgID>
<Target>
<LocURI>{unique device ID}</LocURI>
</Target>
<Source>
<LocURI>https://www.contoso.com/mgmt-server</LocURI>
</Source>
</SyncHdr>
Elemento SyncBody
O SyncBody contém um ou mais comandos de DM. O SyncBody pode conter vários comandos de DM; cada comando tem de ter um valor de CmdID diferente.
Exemplo de código
O exemplo seguinte mostra o componente do corpo de uma mensagem DM. Neste exemplo, SyncBody contém apenas um comando, Get. Este comando é indicado pela <Final />
etiqueta que ocorre imediatamente após a etiqueta de terminação do comando Obter.
<SyncBody>
<!-- query device OS software version -->
<Get>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./DevDetail/SwV</LocURI>
</Target>
</Item>
</Get>
<Final />
</SyncBody>
Quando o aprovisionamento do SyncML para OMA DM está a ser utilizado, um LocURI no SyncBody pode ter um "." como um nome de segmento válido apenas no primeiro segmento. No entanto, um "." não é um nome de segmento válido para os outros segmentos. Por exemplo, o locURI seguinte não é válido porque o nome do segmento do sétimo segmento é ".".
<LocURI>./Vendor/MSFT/Registry/HKLM/Security/./Test</LocURI>
Exemplo de definições de atualização do dispositivo
O comando Substituir é utilizado para atualizar uma definição de dispositivo.
O exemplo seguinte ilustra como utilizar o comando Substituir para atualizar uma definição de dispositivo.
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
<SessionID>1</SessionID>
<MsgID>1</MsgID>
<Target>
<LocURI>{unique device ID}</LocURI>
</Target>
<Source>
<LocURI>https://www.contoso.com/mgmt-server</LocURI>
</Source>
</SyncHdr>
<SyncBody>
<!-- update device setting -->
<Replace>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/PolicyManager/My/DeviceLock/MinDevicePasswordLength</LocURI>
</Target>
<Meta>
<Type xmlns="syncml:metinf">text/plain</Type>
<Format xmlns="syncml:metinf">int</Format>
</Meta>
<Data>6</Data>
</Item>
</Replace>
<Final />
</SyncBody>