Kiểu phức hợp

Một phần của tài liệu giao thức quản lý mạng và công nghệ dịch vụ web thực hiện khai thác đường dây thuê bao (Trang 57 - 58)

Các mảng SOAP có một tập hợp các quy tắc rất rõ ràng, nó yêu cầu phải chỉ rõ cả kiểu phần tử và kích cỡ mảng. SOAP cũng hỗ trợ mảng nhiều chiều, nhưng không phải tất cả các triển khai SOAP hỗ trợ chức năng nhiều chiều(tùy thuộc vào công cụ triển khai SOAP ).

ðể tạo một mảng ta phải chỉ rõ thuộc tính xsi:type của mảng. Mảng cũng bao gồm thuộc tính arrayType. Thuộc tính ñược yêu cầu ñể xác ñịnh khiểu dữ liệu cho các phần tử của mảng và số chiều của mảng. ví dụ: khai báo mảng 1 chiều với kích cỡ 10, kiểu dữ liệu là double arrayType="xsd:double[10]". Hoặc khai bảo mảng hai chiều kiểu dữ liệu string và kích cỡ mỗi chiều ñều là 5 phần tử arrayType="xsd:string[5,5]" [8].

Dưới ñây là ví dụ một phản hồi SOAP với một mảng với các giá trị kiểu double <SOAP-ENV:Body> <ns1:getPriceListResponse xmlns:ns1="urn:examples:pricelistservice" SOAP-ENV:encodingStyle="http://www.w3.org/2001/09/soap-encoding"> <return xmlns:ns2="http://www.w3.org/2001/09/soap-encoding" xsi:type="ns2:Array" ns2:arrayType="xsd:double[2]"> <item xsi:type="xsd:double">54.99</item> <item xsi:type="xsd:double">19.99</item> </return> </ns1:getPriceListResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Chú ý: khi arrayType ñặt là xsd:double[2] thì mỗi phần tử trong mảng phải ñược chỉ rõ trong phần tử item như trên. Ngược lại với mảng, cấu trúc chứa nhiều giá trị, nhưng mỗi phần tử ñược xác ñịnh với duy nhất một phần tử truy nhập. Ví dụ, xét một mục trong bảng các sản phẩm thì cấu trúc mô tả mục ñó có thể chứa

59

productSKU, productName, mô tả và giá. Dưới ñây là cấu trúc biểu diễn thông ñiệp SOAP[8].

<SOAP-ENV:Body> <ns1:getProductResponse

xmlns:ns1="urn:examples:productservice"

SOAP-ENV:encodingStyle="http://www.w3.org/2001/09/soap-encoding"> <return xmlns:ns2="urn:examples" xsi:type="ns2:product">

<name xsi:type="xsd:string">Red Hat Linux</name> <price xsi:type="xsd:double">54.99</price>

<description xsi:type="xsd:string">Red Hat Linux Operating System </description>

<SKU xsi:type="xsd:string">A358185</SKU> </return>

</ns1:getProductResponse> </SOAP-ENV:Body>

Mỗi phần tử trong cấu trúc ñược xác ñịnh với một tên truy nhập duy nhất. Ví dụ, thông ñiệp trên bao gồm 4 phần tử truy nhập, name, price, description, và SKU. Mỗi phần tử có thể có một kiểu dữ liệu riêng; như name có kiểu là string, price là có kiểu là double.

Một phần của tài liệu giao thức quản lý mạng và công nghệ dịch vụ web thực hiện khai thác đường dây thuê bao (Trang 57 - 58)