Tôi gặp khó khăn khi tìm một ví dụ vững chắc về một mảng đơn giản trong kiểu tài liệu/kiểu được bao bọc.Ví dụ về mảng tài liệu/văn bản được bao bọc
Hãy xem xét hàm PHP tạo mảng lên đến số lượng tối đa.
/**
* @param int $max
* @return string[] $count
*/
public function countTo($max)
{
$array = array();
for ($i = 0; $i < $max; $i++) {
$array[] = 'Number: ' . ($i + 1);
}
return $array;
}
Các loại WSDL được tạo ra cho việc này là:
<xsd:complexType name="countTo">
<xsd:sequence>
<xsd:element name="max" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="countTo" nillable="true" type="ns:countTo"/>
<xsd:complexType name="ArrayOfCount">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="count" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="countToResponse">
<xsd:sequence>
<xsd:element name="count" type="ns:ArrayOfCount"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="countToResponse" nillable="true" type="ns:countToResponse"/>
Yêu cầu trong cơ thể sẽ như thế nào:
<ns1:countTo>
<max>5</max>
</ns1:countTo>
Nhưng những gì hiện các phản ứng như thế nào, và những gì là quy ước?
Hiện nay, SoapServer đang tạo
<ns1:countToResponse>
<count>
<count>Number: 1</count>
<count>Number: 2</count>
<count>Number: 3</count>
<count>Number: 4</count>
<count>Number: 5</count>
</count>
</ns1:countToResponse>
Tôi không chắc chắn về count
yếu tố lồng nhau. Có lẽ điều này nên là item
thay thế (và WSDL sẽ cần phải được cập nhật để làm cho nó xảy ra).
<ns1:countToResponse>
<count>
<item>Number: 1</item>
<item>Number: 2</item>
<item>Number: 3</item>
<item>Number: 4</item>
<item>Number: 5</item>
</count>
</ns1:countToResponse>
làm bạn cần mẫu mới wsdl-schema (đối với phản ứng là ' .. ') hoặc những gì? –
reg
Những gì tôi theo sau là quy ước được chấp nhận cho XML thực tế được tạo ra cho tài liệu được bao bọc/chữ. Có rất nhiều tài liệu xung quanh cho những gì WSDL có thể trông như thế nào, và nó nên khác với phiên bản RPC như thế nào. Chỉ cần không có gì xung quanh về những gì các thực hành được chấp nhận là dành cho XML tài liệu/XML được tạo ra. – Reuben
Điều này có vẻ giống như một câu hỏi ý kiến đối với tôi. Bạn có thể dễ dàng làm một trong hai và tôi đã có những bất hạnh của giao dịch với các hệ thống sử dụng cả hai. – yakatz