国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

SOAP協(xié)議初級(jí)指南 (二)

2024-07-21 02:27:35
字體:
供稿:網(wǎng)友


</t:transfer>

  這個(gè)表達(dá)有兩個(gè)問題。首先最容易理解的問題是同樣的信息被發(fā)送了兩次,這導(dǎo)致了一個(gè)比實(shí)際所需要消息的更大的消息。一個(gè)更微妙的但是更重要的問題是由于反序列化程序不能分辨兩個(gè)帶有同樣值的adjustment對(duì)象與在兩個(gè)地方被引用的一個(gè)單一的adjustment對(duì)象的區(qū)別,兩個(gè)存取元素間的身份關(guān)系就被丟失。如果這個(gè)消息接收者已經(jīng)在結(jié)果對(duì)象上執(zhí)行了下面的測(cè)試,(xfer.to == xfer.from)將不會(huì)返回true。

void processtransfer(transfer xfer) {
if (xfer.to == xfer.from)
handledoubleadjustment(xfer.to);
else
handleadjustments(xfer.to, xfer.from);
}

  (xfer.to.equals(xfer.from))可能返回true的事實(shí)只是比較了兩個(gè)存取元素的值而不是它們身份。
為了支持必須保持身份關(guān)系的類型的序列化,soap支持多引用存取元素。目前我們接觸到的存取元素是單引用存取元素,也就是說,元素值是嵌入在存取元素下面的,而且其它存取元素被允許引用那個(gè)值(這很類似于在ndr中的[unique]的概念)。多引用存取元素總是被編碼為只包含已知的soap:href屬性的空元素。soap:href屬性總是包含一個(gè)代碼片段標(biāo)識(shí)符,它對(duì)應(yīng)于存取元素引用到的實(shí)例。如果to和from存取元素已經(jīng)被編碼為多引用存取元素,序列化的transfer對(duì)象如下所示:

<t:transfer
xmlns:t=‘urn:develop-com:java:com.bofsoap.ibank‘>
<from soap:href=‘#id1‘ />
<to soap:href=‘#id1‘ />
</t:transfer>

  這個(gè)編碼假設(shè)與adjustment類兼容的一個(gè)類型的實(shí)例已經(jīng)在envelope中的其它地方被序列化,而且這個(gè)實(shí)例已經(jīng)被用soap:id屬性標(biāo)記,如下所示:

<t:adjustment soap:id=‘id1‘
xmlns:t=‘urn:develop-com:java:com.bofsoap.ibank‘>
<account>3514</account>
<amount>-100.0</amount>
</t:adjustment>

  對(duì)多引用存取元素,把代碼段的標(biāo)識(shí)符(例如#id1)分解到正確的實(shí)例是反序列化程序的工作。

  前面的討論解釋了多引用存取元素怎樣與它的目標(biāo)實(shí)例相關(guān)聯(lián)。下面要討論的是目標(biāo)實(shí)例在哪里被序列化。這就關(guān)系到獨(dú)立元素和包的概念。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 浏阳市| 平乐县| 临漳县| 电白县| 凤山县| 儋州市| 庆元县| 隆化县| 保靖县| 望江县| 田东县| 缙云县| 连城县| 竹山县| 富民县| 措勤县| 包头市| 桓仁| 昌黎县| 新源县| 英吉沙县| 黄梅县| 长治县| 河池市| 肥乡县| 清水河县| 兴业县| 贡觉县| 洛川县| 紫云| 富蕴县| 陇南市| 名山县| 舞阳县| 德化县| 大埔区| 渑池县| 巩义市| 上蔡县| 沂南县| 合山市|