syncml status 415 for devinf

799 views Asked by At

I'm getting 415 status from N95 client for sending server devinf. I tried many things but no success.

Here is server response (generated by me, I'm writing my own implementation of syncml server.):

<?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>

And Here is what client sends:

<?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>

Just one note putting meta in/out of Item does not change a thing. I'm basically lost at that stage..

1

There are 1 answers

1
brij On

the response code is a SyncML response.. probabaly you have a Unsupported media type or format. The unsupported content type or format SHOULD also be identified in the Item element type in the Status.

check on that...