Eric,
I hope it's not an issue but an invalid input XML.
I just made some good progress. The restful documentation states that "The <info> element is not mandatory in the XML inputs, except in the case of cascading parameters and hierarchical parameters.", so I surround the values tag by a info tag and it almost works in both cases (mandatory and optional parent prompt). The XML input is
<parameters>
<parameter>
<id>0</id>
<answer>
<info>
<lov>
<query intervalSize="-1" />
</lov>
</info>
<values>
<value id="1">Parent 1</value>
<value id="3">Parent 2</value>
</values>
</answer>
</parameter>
<parameter>
<id>1</id>
<answer>
<info>
<lov>
<query intervalSize="-1" />
</lov>
</info>
</answer>
</parameter>
</parameters>
But one problem solves, one problem raises. When a answer no parent value (<values></values>), I get in return of a PUT call, the same result as a GET call:
<parameters><parameter><id>0</id><answer><info><lov><query intervalSize="-1" /></lov></info><values></values></answer></parameter><parameter><id>1</id><answer><info><lov><query intervalSize="-1" /></lov></info></answer></parameter></parameters>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<parameters>
<parameter dpId="DP0" type="prompt" optional="false">
<id>0</id>
<technicalName>pmParent(s)?</technicalName>
<name>Parent(s)?</name>
<answer type="Text" constrained="true">
<info cardinality="Multiple">
<lov refreshable="true" partial="false" hierarchical="false">
<id>UNIVERSELOV_DS0.DO1</id>
<updated>2014-10-09T12:54:54.000+01:00</updated>
<values>
<value id="1">Parent 1</value>
<value id="2">Parent 2</value>
<value id="3">Parent 3</value>
</values>
<columns mappingId="0">
<column type="String" id="0">Parent </column>
</columns>
</lov>
<previous>
<value id="1">Parent 1</value>
<value id="3">Parent 2</value>
</previous>
</info>
<values>
<value id="1">Parent 1</value>
<value id="3">Parent 2</value>
</values>
</answer>
</parameter>
<parameter dpId="DP0" type="prompt" optional="true">
<id>1</id>
<technicalName>pmChild(ren)?</technicalName>
<name>Child(ren)?</name>
<answer type="Text" constrained="true">
<info cardinality="Multiple">
<lov refreshable="true" hierarchical="false">
<id>UNIVERSELOV_DS0.DO3</id>
<parameters>
<id>0</id>
</parameters>
</lov>
<previous>
<value id="21">Child 21 - 2</value>
</previous>
</info>
<values>
<value id="21">Child 21 - 2</value>
</values>
</answer>
</parameter>
</parameters>
Nevertheless, I get a workaround for this situation, instead of not answering the parameter, I have to answer all possible values. It's not a nice solution and I hope a better one exists.
The results are the same with
http://{hostname}:6405/biprws/raylight/v1/documents/{documentID}/parameters/{parameterID}/
and with
http://{hostname}:6405/biprws/raylight/v1/documents/{documentID}/parameters/
except, of course that when using first url, the return xml contains only one parameter (the one in the url)
Regards