I played around with some XML texts yesterday and found one thing out: If no <MesageSizeType> is defined into the <Message> tag, I receive error 412 - precondition failed. If this tag is set, I get error 500.
This means that sub-tags are parsed and required. This means, neither experiments like
<Message category="sms" sender="12345">body-text</Message>
are necessary, nor experiments like
<Message>category:sms:sender:12345:body:body-text</Message>
<ReceiveTime> seems to be a parameter, that is used very often in different soap requests. Google shows lots of hit when searching for this tag. In most cases, the format is:
Code: Select all
<ReceiveTime>2005-11-26T13:59:29.593Z</ReceiveTime>
In a few cases, a time-span is entered into this tag but this makes no sense on calls and sms.
There seems not to be any
Session management. DLNA servers send SOAP requests around to look up for servers and clients but not every time before sending data. A running media server on your test computer may do this task (if it's really necessary).
Possible values for
MessageSizeType are:
Minimum -> normal SMS
Incoming Call -> incoming calls
Schedule Reminder -> calendar schedules
Maximum -> multipart SMS messages
It seems like if
MessageBoxService::ParseMessageType parses this parameter and if
MessageBoxService::ParseSMSMessage is called again. Inside ParseSMSMessage there is a loop to process slightly different code if the SMS message is long.
Found out, that the CATEGORY tag is required too, even if the category is identifiable with the MESSAGESIZETYPE too.
I hope, I found out all the necessary tags:
always required:
messageID => urn:uuid:[NUMBER]
category => identifies the service, possible values still unknown (INT or CHAR* is not clear)
messageSizeType => Minimum, Maximum, Incoming Call, Schedule Reminder
expireState => unknown
incoming calls:
callTime => yyyy-mm-ddThh:mm:ss.sssZ
callee => called number (ISDN MSN, number of the ringing mobile)
caller => phone number of the recipient
SMS:
receiveTime => see callTime
receiver => phone number or name?
sender => phone number or name?
body => text message
calendar:
startTime => see callTime
endTime => see callTime
owner => username?
subject => name of calendar entry?
location => calendar name
body => event detail text?