none
Working of "status" parameter in device command. RRS feed

  • Question

  • When is the value of "./Vendor/MSFT/DMClient/Provider/MEMDM/Push/Status" set in windows 8 and above devices.?

    While trying to obtain the channelURI I wanted to check whether the status value is set appropriately to the error codes described in the protocol document. So I deliberately sent an invalid PFN to the device and then sent a GET message for the channelURI and Status.

    To my surprise the Status was set to 0 - which according to the protocol document is Success whereas i expected it to be 1 which is for invalid PFN. 

    Please clarify whether my understanding of the status codes are wrong or is there some thing that might be going wrong.?

    Tuesday, August 19, 2014 8:50 AM

Answers

  • That is the expected behavior. When retrieving the channel URI there is no validation for the PFN, which is why you get a Channel URI. Now, if you try to use that Channel URI to perform a Push, the Push will fail because the WNS Server will perform the PFN validation and recognize that the PFN is invalid.

    The fact that you are getting back a Status=0 and a Channel URI not equal to NULL is expected behavior.


    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    Thursday, August 21, 2014 5:00 PM
    Moderator

All replies

  • Which specific version of the MDM Protocol document are you referring to? I don't see any command in the Windows Phone 8 or Windows Phone 8.1 or Windows 8.1 MDM protocol document that lets you use the following node: "./Vendor/MSFT/DMClient/Provider/MEMDM/Push/Status". If you can provide some more information, it will be helpful.

    I understand from your example: "./Vendor/MSFT/DMClient/Provider/MEMDM/Push/Status", that "MEMDM" is your Provider, but what is "Push" and "Status"?


    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    Wednesday, August 20, 2014 12:29 AM
    Moderator
  • The link to the protocol document which i am referring to is given below:

    page link : http://msdn.microsoft.com/en-us/library/dn499787.aspx

    link to document on the page :  http://go.microsoft.com/fwlink/?LinkID=279003

    Please check page number 100 of the document. It is just after the ./Vendor/MSFT/DMClient/Provider/<ProviderID>/Push/ChannelURI command.

    Wednesday, August 20, 2014 2:57 AM
  • Can you send me the exact sequence of the SyncML that you are sending to the Phone when:

    1.) You Add the PFN using: /Push/PFN

    2.) You Get the ChannelURI and Status using: /Push/ChannelURI and /Push/Status?

    When the Status returned is 0, what is the ChannelURI that you are getting back? NULL or something else?


    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    Wednesday, August 20, 2014 5:14 PM
    Moderator
  • As I am deliberately setting a wrong PFN I get a channelURI but when I try to send a raw notification to the channelURI it says that the data is dropped. 

    What I fail to understand is the use of the Status variable ?

    In my case although i set a wrong PFN it says Status = 0 in the response syncML.

    Thursday, August 21, 2014 7:00 AM
  • That is the expected behavior. When retrieving the channel URI there is no validation for the PFN, which is why you get a Channel URI. Now, if you try to use that Channel URI to perform a Push, the Push will fail because the WNS Server will perform the PFN validation and recognize that the PFN is invalid.

    The fact that you are getting back a Status=0 and a Channel URI not equal to NULL is expected behavior.


    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    Thursday, August 21, 2014 5:00 PM
    Moderator
  • So when is the value of /Push/Status updated to the various values described in the protocol documentation.?

     
    Monday, September 1, 2014 10:42 AM
  • The only possible values that you can "control" to emulate different return values are just 0 and 1. All other values will be returned when there are WNS specific errors or other unknown errors.

    The value "1" will be returned when you send back a blank PFN (zero length string). For any other string value, the value 0 will be returned but you will get an error when actually trying to perform a Push using that invalid Channel for the bad PFN.


    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    Tuesday, September 2, 2014 5:31 PM
    Moderator
  • So you mean to say the other values of Status will be sent when the actual push fails on the WNS server side..?

    So querying the Status parameter after the pushing the data will give me different status values.?

    Wednesday, September 3, 2014 3:58 AM
  • No, the values that you are seeing are only when the registration for the WNS Channel itself fails on the Phone. The registration of the WNS Channel has nothing to do with actually using the Push notification to the WNS Server.

    Windows Store Developer Solutions, follow us on Twitter: @WSDevSol|| Want more solutions? See our blog

    Wednesday, September 3, 2014 4:43 AM
    Moderator