首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JAX和MTOM/XOP重写“Content”标头和MIME边界

用JAX和MTOM/XOP重写“Content”标头和MIME边界
EN

Stack Overflow用户
提问于 2015-07-08 09:15:45
回答 1查看 1.1K关注 0票数 0

我需要遵守一个规范,它在使用MTOM/XOP提供和使用Web服务时(出于历史原因)提出了一些非常不寻常的要求:

总之,内容类型HTTP报头必须编码如下:开始信息和操作必须编码为内容类型:start-info="application/soap+xml";action="urn:ihe:iti:2007:RetrieveDocumentSet"的单独参数。

  • 与此形成对照的是,MTOM/XOP规范要求:

Content-Type: multipart/related;start="...";type="application/xop+xml";boundary="...";start-info="application/soap+xml;action=\"urn:ihe:iti:2007:RetrieveDocumentSet\""

  • 因此,"action“包含在"start-info”参数中并转义。我们正在使用JAX来提供和使用web服务,我看不出改变标头和MIME边界以满足规范要求的可行解决方案。

这同样适用于与web服务消息一起发送的MIME边界。

Java7和Java7 8包含的JAX实现似乎以不同的方式处理这个问题,即:Java7按照我需要遵守的规范进行编码,而Java8则按照MTOM/XOP规范进行编码。我不能回到Java8,因为我使用的其他库需要Java8

有没有一种方法可以修改JAX的行为,或者在到达另一个系统之前拦截和更改标头/ MIME边界?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-09 06:06:39

同时,我们找到了一个答案:可以在应用程序中使用自定义TubeFactory。然后,这可以返回一个标准的HttpTransportPipe,其中包含一个经过修改的Codec实现,该实现修改了getStaticContentType(Packet)方法中的Content标头。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31288328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档