What is purpose of "ack" element?

What is purpose of "ack" element?



<collective2>



<ack>Signal Received</ack>



<signalid>31189978</signalid>

<comments>Signal 31189978 accepted for immediate processing.</comments>

<oca></oca>

<delay></delay>

</collective2>

I think that a response on a correct signal must have a similar (or better the same) structure as the response on wrong signal. So both responses must have "status" or "ack" elements (or both) with some meaningfull values.



If I send a signal to C2, I want (I must!) to test the response to be sure that everything is OK. Natural way is to read some "status" element and test its value. But for the correct signal there is no "status" returned now. There is "ack" and "signalid" elements. But these elements do not exists in the response on the wrong signal. So for distinguishing correct and wrong signals, one must at first test the STRUCTURE of the response and after that the VALUE of some elements.



I think that proposed "natural" way would be a better variant.



----- Structure returned for wrong signal:

<collective2>

<status>error</status>

<errortext>Unable to BTO 100000 MSFT - Current account cash is $87,785.70; proposed trade requires cash of $1,459,000.00 (code=pre)</errortext>

</collective2>



----- Structure returned for good signal:

<collective2>

<ack>Signal Received</ack>

<signalid>31189978</signalid>

<comments>Signal 31189978 accepted for immediate processing.</comments>

<oca></oca>

<delay></delay>

</collective2>

What you say is true. We recently upgraded some of our server software (Apache and mod_perl, if you are interested), but the upgrades broke our API functionality. To fix the API stuff, we (accidentally, I admit) changed some of the formatting of XML responses. I’m going to try to act on your suggestions ASAP to make them responses consistent and to remove the HTML codes from XML nodes.



Thanks for taking the time to lay this out for me. I apologize for the problems. This upgrade has been a huge hassle, but it will be worthwhile in the long run and improve site performance.