2009-12-01 1 views
1

Я получаю статус 415 от клиента N95 для отправки сервера devinf. Я пробовал много вещей, но не успел.статус syncml 415 для devinf

Вот ответ сервера (сгенерированный мной, я пишу свою собственную реализацию SyncML сервера.):

<?xml version="1.0"?> 
<!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_RepPro_DTD-V1_2.dtd"> 
<SyncML> 
    <SyncHdr> 
    <VerDTD>1.2</VerDTD> 
    <VerProto>SyncML/1.2</VerProto> 
    <SessionID>14</SessionID> 
    <MsgID>1</MsgID> 
    <Target> 
     <LocURI>IMEI:356406027185460</LocURI> 
    </Target> 
    <Source> 
     <LocURI>http://localhost:8880</LocURI> 
    </Source> 
    <Meta> 
     <MaxMsgSize xmlns="syncml:metinf">10000</MaxMsgSize> 
    </Meta> 
    </SyncHdr> 
    <SyncBody> 
    <Status> 
     <MsgRef>1</MsgRef> 
     <Data>200</Data> 
     <Cmd>Alert</Cmd> 
     <CmdRef>1</CmdRef> 
     <CmdID>1</CmdID> 
    </Status> 
    <Status> 
     <MsgRef>1</MsgRef> 
     <Data>200</Data> 
     <Cmd>Put</Cmd> 
     <CmdRef>2</CmdRef> 
     <CmdID>2</CmdID> 
    </Status> 
    <Status> 
     <MsgRef>1</MsgRef> 
     <Data>200</Data> 
     <Cmd>Get</Cmd> 
     <CmdRef>3</CmdRef> 
     <CmdID>3</CmdID> 
     <TargetRef>./devinf12</TargetRef> 
    </Status> 
    <Results> 
     <MsgRef>1</MsgRef> 
     <Item> 
     <Meta> 
      <Type xmlns="syncml:metinf">application/vnd.syncml-devinf+xml</Type> 
     </Meta> 
     <Source> 
      <LocURI>./devinf12</LocURI> 
     </Source> 
     <Data> 
      <DevInf xmlns="syncml:devinf"> 
      <VerDTD>1.2</VerDTD> 
      <Man>my company ltd.</Man> 
      <Mod>syncml mod</Mod> 
      <SwV>0.01</SwV> 
      <FwV>1.01</FwV> 
      <HwV>0.1a</HwV> 
      <DevID>syncmlserv</DevID> 
      <DevTyp>server</DevTyp> 
      <DataStore> 
       <SourceRef>./contacts</SourceRef> 
       <Rx-Pref> 
       <CTType>text/vcard</CTType> 
       <VerCT>3.0</VerCT> 
       </Rx-Pref> 
       <Rx> 
       <CTType>text/vcard</CTType> 
       <VerCT>2.1</VerCT> 
       </Rx> 
       <Tx-Pref> 
       <CTType>text/vcard</CTType> 
       <VerCT>3.0</VerCT> 
       </Tx-Pref> 
       <Tx> 
       <CTType>text/vcard</CTType> 
       <VerCT>2.1</VerCT> 
       </Tx> 
       <CTCap> 
       <CTType>text/x-vcard</CTType> 
       <PropName>BEGIN</PropName> 
       <ValEnum>VCARD</ValEnum> 
       <PropName>END</PropName> 
       <ValEnum>VCARD</ValEnum> 
       <PropName>VERSION</PropName> 
       <ValEnum>2.1</ValEnum> 
       <PropName>N</PropName> 
       <PropName>TEL</PropName> 
       <ParamName>VOICE</ParamName> 
       <ParamName>FAX</ParamName> 
       <ParamName>CELL</ParamName> 
       </CTCap> 
       <CTCap> 
       <CTType>text/x-vcard</CTType> 
       <PropName>BEGIN</PropName> 
       <ValEnum>VCARD</ValEnum> 
       <PropName>END</PropName> 
       <ValEnum>VCARD</ValEnum> 
       <PropName>VERSION</PropName> 
       <ValEnum>3.0</ValEnum> 
       <PropName>N</PropName> 
       <PropName>TEL</PropName> 
       <ParamName>VOICE</ParamName> 
       <ParamName>FAX</ParamName> 
       <ParamName>CELL</ParamName> 
       </CTCap> 
       <SyncCap> 
       <SyncType>1</SyncType> 
       <SyncType>2</SyncType> 
       <SyncType>3</SyncType> 
       <SyncType>4</SyncType> 
       <SyncType>5</SyncType> 
       <SyncType>6</SyncType> 
       </SyncCap> 
      </DataStore> 
      </DevInf> 
     </Data> 
     </Item> 
     <CmdRef>3</CmdRef> 
     <CmdID>4</CmdID> 
     <Meta> 
     <Type xmlns="syncml:metinf">application/vnd.syncml-devinf+xml</Type> 
     </Meta> 
     <TargetRef>./devinf12</TargetRef> 
    </Results> 
    </SyncBody> 
</SyncML> 

И вот что клиент посылает:

<?xml version="1.0"?> 
<!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_RepPro_DTD-V1_2.dtd"> 
<SyncML xmlns="SYNCML:SYNCML1.2"> 
    <SyncHdr> 
    <VerDTD>1.2</VerDTD> 
    <VerProto>SyncML/1.2</VerProto> 
    <SessionID>14</SessionID> 
    <MsgID>2</MsgID> 
    <Target> 
     <LocURI>http://localhost:8880</LocURI> 
    </Target> 
    <Source> 
     <LocURI>IMEI:356406027185460</LocURI> 
    </Source> 
    <Meta> 
     <MaxMsgSize xmlns="syncml:metinf">10000</MaxMsgSize> 
    </Meta> 
    </SyncHdr> 
    <SyncBody> 
    <Status> 
     <CmdID>1</CmdID> 
     <MsgRef>1</MsgRef> 
     <CmdRef>0</CmdRef> 
     <Cmd>SyncHdr</Cmd> 
     <TargetRef>IMEI:356406027185460</TargetRef> 
     <SourceRef>http://localhost:8880</SourceRef> 
     <Data>200</Data> 
    </Status> 
    <Status> 
     <CmdID>2</CmdID> 
     <MsgRef>1</MsgRef> 
     <CmdRef>4</CmdRef> 
     <Cmd>Results</Cmd> 
     <Data>415</Data> 
    </Status> 
    </SyncBody> 
</SyncML> 

Только одно замечание ставить мета в/из Элемента ничего не меняет. Я в основном потерян на этом этапе.

ответ

1

код ответа - ответ SyncML. probabaly у вас есть неподдерживаемый тип или формат носителя. Неподдерживаемый контент тип или формат СЛЕДУЕТ также идентифицироваться в элементе типа Item в статусе.

проверка на что ...

+0

Спасибо за это, но на самом деле мы пошли с синтезом SyncML сервер и просто написал Java плагин, который взаимодействует с нашей системой на наших условиях. Это работало намного лучше, чем сам протокол. – Engrost