java—有没有办法在没有二进制/附件的soap请求上强制使用mtom/xop格式?

disho6za  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(283)

我有一个奇怪的要求,我想不通。我需要以mtom/xop编码发送请求,即使没有附件和二进制数据。这是一个检索附件的请求,iti规范也要求请求在mtom/xop中。如果包含二进制数据,我知道如何发送mtom请求,但是我不知道如何在没有附件的情况下“强制”mtom。我能想到的唯一“解决办法”就是添加一个“虚拟”附件——但我讨厌这个想法。有关规范的详细信息,请参见下文。
来自ihe iti技术框架2010:
3.39.5协议要求[这是xca检索]ihe:retrievedocumentsetrequest/ 元素定义见iti tf-2b:3.43.5。在跨网关中使用时,检索ihe:homecommunityid/ 元素是必需的。这个ihe:retrievedocumentsetresponse/ 元素定义见iti tf-2b:3.43.5。
3.43.5协议要求本交易的实施者应遵守iti tf-2x:附录v:ihe交易的web服务中描述的所有要求。检索文档集事务应使用soap12和带xop编码的mtom(在本规范中标记为mtom/xop)。详见iti tf-2x:附录五。文档存储库应:•接受mtom/xop格式的检索文档集请求消息。•生成mtom/xop格式的检索文档集响应消息文档使用者应:•生成mtom/xop格式的检索文档集请求消息。•接受mtom/xop格式的retrieve document set响应消息。
后来的规格…2019版也是一致的…。。
3.39.53.43.5
编辑:
即使请求没有二进制数据或附件,他们仍然希望它以“multipart”(mtom/xop)格式发送。我发现了一个不相关的样本:
请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.kb.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:downloadImage>
         <arg0>logo.jpg</arg0>
      </ws:downloadImage>
   </soapenv:Body>
</soapenv:Envelope>

他们希望如何发送:

Content-Type: Multipart/Related; start-info="text/xml"; type="application/xop+xml"; boundary="----=_Part_0_1744155.1118953559416"
Content-Length: 3453
SOAPAction: "some-SOAP-action"

------=_Part_1_4558657.1118953559446
Content-Type: application/xop+xml; type="text/xml"; charset=utf-8

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.kb.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:downloadImage>
         <arg0>logo.jpg</arg0>
      </ws:downloadImage>
   </soapenv:Body>
</soapenv:Envelope>

------=_Part_1_4558657.1118953559446

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题