Здравствуйте,
я создаю soap wsdl сервис и столкнулся с такой задачей -
не могу отправить повторяющиеся значения на сторону клиента (да и в любую сторону).
В файле wsdl есть такое описание:
<xs:complexType name="pupilsList">
<xs:annotation>
<xs:documentation>Список учащихся</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="pupil" type="tns:pupil"/>
</xs:sequence>
</xs:complexType>
Тоесть внутри мне нужно передать множество подобных элементов - pupil. Но как это сделать?
Я передаю данные ассоциативным массивом, а в нём не записать одинаковых ключей.
Вот пример данных, которые я отправляю - array ("pupilsList" =>
array ("pupil"=>
array ("regid"=>$school,"suid"=>55578,"surname"=>"ERcxcxc","name"=>"xfdfdf","patronymic"=>"sdfs","class"=>"10 A","dob"=>"207-01-01","cardDataList"=>
array("cardInfo"=>
array ("cardData"=>"777777","cardRFID"=>"67777777","cardType"=>"1","cardTypeOper"=>"4567","benefit"=>
array ("code"=>1,"adate"=>"2018-12-12","bdate"=> "2018-12-12")))), "pupil_2" => array ("regid"=>$school,"suid"=>55575,"surname"=>"ERcxcxc","name"=>"xfdfdf","patronymic"=>"sdfs","class"=>"10 A","dob"=>"207-01-01","cardDataList"=>
array("cardInfo"=>
array ("cardData"=>"777777","cardRFID"=>"67777777","cardType"=>"1","cardTypeOper"=>"4567","benefit"=>
array ("code"=>1,"adate"=>"2018-12-12","bdate"=>"2018-12-12")))), "pupil_500" => array ("regid"=>$school,"suid"=>55575,"surname"=>"ERcxcxc","name"=>"xfdfdf","patronymic"=>"sdfs","class"=>"10 A","dob"=>"207-01-01","cardDataList"=>
array("cardInfo"=>
array ("cardData"=>"777777","cardRFID"=>"67777777","cardType"=>"1","cardTypeOper"=>"4567","benefit"=>
array ("code"=>1,"adate"=>"2018-12-12","bdate"=>"2018-12-12")))) ),"datetime"=>"2018-12-12");
Вот описание одного элемента pupil:
<xs:complexType name="pupil">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="1" name="regid" type="xs:string"/>
<xs:element maxOccurs="1" minOccurs="1" name="suid" type="xs:string"/>
<xs:element maxOccurs="1" minOccurs="1" name="surname" type="xs:string"/>
<xs:element maxOccurs="1" minOccurs="1" name="name" type="xs:string"/>
<xs:element name="patronymic" type="xs:string"/>
<xs:element maxOccurs="1" minOccurs="1" name="klass" type="xs:string"/>
<xs:element name="dob" type="xs:date"/>
<xs:element name="cardDataList" type="tns:cardDataList"/>
</xs:sequence>
</xs:complexType>
Пробовал под ключом pupil передавать массив данных, но появляется ошибка. Не соответствие wsdl-схеме. Внутри нет соответствующих свойств.
Кто-нибудь может подсказать - что в этом случае может сработать?
Если непонятно задание - то пишите, я напишу подробнее или как-то его переформулирую.