Я пытаюсь разобраться с PHP-кодом, который обслуживает некоторые данные через WSDL.В файле WSDL есть два метода, один из которых работает, а другой, который полностью идентичен, не является
GetAllProducts возвращает:
<ns1:GetAllProductsResponse>
<describedProductArray>
<DescribedProduct>
<id> ... </id>
<foo> ... </foo>
</DescribedProduct>
<Describedproduct>
...
</DescribedProduct>
...
</describedProductArray>
etc
Но GetAllDischargedProducts возвращает
<ns1:GetAllDischargedProductsResponse>
<dischargedProductArray>
<DischargedProduct>
<SOAP-ENC:Struct>
<DischargeDate> ... </DischargeDate>
<id> ... </id>
</SOAP-ENC:Struct>
<SOAP-ENC:Struct>
<DischargeDate> ... </DischargeDate>
<id> .. </id>
</SOAP-ENC:Struct>
...
</DischargedProduct>
<dischargedProductArray>
Я должен избавиться от этих элементов и поместить каждый набор данных в отдельный элемент.PHP часть выглядит хорошо.Я предполагаю, что проблема где-то в файле WSLD.
Часть, которая описывает данные, такова:
<complexType name="DescribedProduct">
<complexContent>
<extension base="self:Product">
<sequence>
<element name="Name" type="self:Name" />
<element name="Barcode" type="self:Barcode" />
<element name="Exportation" type="boolean" />
<element name="Company" type="self:Company" />
<element name="Prescription" type="self:Prescription" />
<element name="CommercialForm" type="self:CommercialForm" />
<element name="IngredientArray" type="self:IngredientArray" />
<element name="DayToExcretion" type="self:DayToExcretion" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="DescribedProductArray">
<sequence>
<element name="DescribedProduct" type="self:DescribedProduct" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
<simpleType name="DischargeDate">
<restriction base="date" />
</simpleType>
<complexType name="DischargedProduct">
<complexContent>
<extension base="self:Product">
<sequence>
<element name="DischargeDate" type="self:DischargeDate" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="DischargedProductArray">
<sequence>
<element name="DischargedProduct" type="self:DischargedProduct" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>