Web服务规范SOAP之处理附件
- 编辑:admin -Web服务规范SOAP之处理附件
进行此变动,此协议提供了在 XML 文档中可靠地引用外部数据的要领,) 以编程方法使用 MTOM 不在本教程的讨论范畴之内,应用措施可以随后从该位置加载数据并相应地进行使用,曾经由于涉及到带宽的一些问题对此进行过讨论,当考虑使用向 XML 文本文档添加二进制数据时的首选要领(将其编码为 Base64)时, XML 二进制优化打包 XML 已经比二进制对应项冗长得多了,因为这样,只是要注意, 例如,假如向基于 SOAP 的处事提交了一个图像。
事实上,尽管您的措施可能知道数据存在,那么。
因为该版本中包括了 SOAP with Attachments API for Java (SAAJ) 实现。
( 作者:佚名 责任编辑:方舟) 天极新媒体最酷科技资讯 扫码赢大奖 评论 * 网友讲话均非本站立场,然后卸载并从头安装 Axis2 应用措施,一个极为常见的例子是 Web 浏览器以及其处理惩罚从 XHTML 文件引用的图像的方法,但必需确保对应用措施进行了得当配置, 要替换 Axis2 应用措施,最终 W3C 开始着手处理惩罚这个问题,对付附件,但文档并不知道这一点,您必需在 axis2.war 文件内的 axis2.xml 文件中启用此支持(请拜见清单 35),但可以在参考资料部门获取有关此主题的更多信息,曾经有许多人强烈地批评缺乏对二进制数据的及时支持,同时,然后将其从头压缩成 .war 文件,第一种选择是将二进制数据实际包括在您的文档中,Axis2 提供了使用 SOA 数据的这个要领的支持,第二种选择是直接引用该数据, SOAP、二进制数据和 Axis2 在 SOAP 文档中使用 XOP 的历程称为 MTOM(即 SOAP 动静传输优化机制——Message Transmission Optimization Mechanism), 清单 35. 将 XOP 与 Axis2 一起使用 <axisconfig> <!-- ================================================= --> <!-- Parameters --> <!-- ================================================= --> <parameter locked="false">true</parameter> <parameter locked="false">true</parameter> <parameter locked="false">true</parameter> <!-- Uncomment this to enable REST support --> <!-- <parameter locked="false">true</parameter>--> <parameter locked="false">admin</parameter> <parameter locked="false">axis2</parameter> ... 假如有须要,可以提取 axis2.war 文件,以便处理惩罚该文档的应用措施能够找到此数据,请使用清单 36 中所示的 URL 会见 Geronimo 控制台,但由于此刻某些扩展范例要求使用附件。
二进制数据和 XML 尽管 XML 是基于文本的格局,并单击 Application>Web App WARs,而但愿将其作为二进制文档从字处理惩罚措施添加。
其事情的成就就是 XML 二进制优化打包(XML-binary Optimized Packages, 清单 34. 使用 XOP MIME-Version: 1.0 Content-Type: Multipart/Related;boundary=MIME_boundary; type="application/xop+xml"; start="<soapmsg.xml@daily-moon.com>"; start-info="text/xml" Content-Description: An XML document with binary data in it --MIME_boundary Content-Type: application/xop+xml; charset=UTF-8; type="text/xml" Content-Transfer-Encoding: 8bit Content-ID: <soapmsg.xml@daily-moon.com> <env:Envelope xmlns:env="http://www.w3.org/2003/05/SOAP-envelope"> <env:Header> </env:Header> <env:Body> <cms:addArticle xmlns:cms="http://www.daily-moon.com/cms"> <cms:category>classifieds</category> <cms:subcategory>forsale </cms:subcategory> <cms:articleHeadline><cms:articleHeadline> <cms:articleText><xop:Include xmlns:xop='http://www.w3.org/2004/08/xop/include' href='cid:' /></cms:articleText> </cms:addArticle> </env:Body> </env:Envelope> --MIME_boundary Content-Type: application/vnd.oasis.openoffice Content-Transfer-Encoding: binary Content-ID: <> // binary octets for the word processing file --MIME_boundary-- 请注意,然后使用一个引用其新位置的 Include 元素将其替换。
而不是纯文本 SOAP 动静,SOAP with Attachments 范例划定二进制数据可以作为多部门 MIME 文档的的一部门发送,还不答允对文档进行选择性优化或对包括二进制数据的现有文档进行回溯处理惩罚,会由于两个或更多的因素而导致其尺寸增大,例如,则为 object 元素),而二进制数据作为附加部门添加到个中,险些充斥着不满的声音,假如将该内容包括在动静体中, 具体来说, 清单 36. Geronimo 控制台 :8080/console 作为 system/manager 登录,这样做的问题在于,将会有需要向 Web 处事通报或从其检索二进制信息的环境,执行此步调后,因此您必需对其进行处理惩罚,将其添加到多部门 MIME 动静中(个中也包罗您的 SOAP 动静)并显式地对其进行引用,操作这种机制可选择性地提取要优化的信息,这种环境的一个例子是将 Microsoft Word 文档另存为 XML 文件时, 可以回收两种方法中的一种来处理惩罚这种环境, 简朴 SOAP 动静的另一个变体是附件,必需从头加载 Web 处事,假定员工不想将新文章作为文本元素添加。
SOAP 文档也是这样,多年来人们早已耳熟能详,它将使用更多的带宽。
XOP 划定对数据进行提取,=qw-enr7w8b64b03278- ANDLOTSMOREBASE64ENCODEDDATAHERE</cms:articleText> </cms:addArticle> </env:Body> </env:Envelope> 相反,由 XML 数据构成第一部门,这就带来了一个很是实际的问题,在 Axis2 的 0.95 版之前的版本上可能不会凭据预期事情。
回收了更为先进的技能,此刻要发送的是此动静,如清单 33 中所示:_ 清单 33. 添加二进制文档 <?xml version='1.0' ?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/SOAP-envelope"> <env:Header> </env:Header> <env:Body> <cms:addArticle xmlns:cms="http://www.daily-moon.com/cms"> <cms:category>classifieds</category> <cms:subcategory>forsale </cms:subcategory> <cms:articleHeadline><cms:articleHeadline> <cms:articleText>wvetwenptiubnweoirntuwopeirt4m[456n09ew7nv sa0tv043u6y304o5mu60ew9rebtm45bm4-69nw-0er9utnv3094nb-26204 95u6-49kv6-m34956h-wb09emjb-0n67u-340v,XOP),Include 元素中指定的位置与 Content-ID 减去协议 cid: 的值匹配,该元素包括一个 src 属性。
XHTML 文本包括一个 img 元素(大概,假如在该文档中嵌入了任何图形。
Word 会将其作为二进制数据嵌入到 XML 文档中(回收 Base64 编码),如果,如清单 34 中所示,(请记着,正因为如此,可以将该数据嵌入在有效负载中,谨防上当被骗! ,或可以想步伐引用该数据, XOP 通过提供一个非凡的机制来改造这种环境,将十分杂乱,在已往的两三年,有两个选择,但却不能忽略实际上是回收二进制进行暗示的,个中有指向实际数据的 URL,让我们看一个例子,本站不在评论栏推荐任何网店、经销商,。