微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

修改 OSB 响应管道中的标头

如何解决修改 OSB 响应管道中的标头

我正在调用 Oracle Service Bus 12c 中的业务服务,该服务返回 SOAP 响应。但是,它包含的标头将 Content-Type 指定为“text/xml”。:

# curl -i "http://third.party.com:2345/api?action=sendmessage&username=myuser&password=mypass&recipient=123456&originator=1234&messagedata=Test123"
HTTP/1.1 200 OK
Cache-Control: no-cache,must-revalidate
Pragma: no-cache
Content-Length: 492
Content-Type: text/xml
Last-Modified: Sun,27 Dec 2020 20:03:46 GMT
Server: OzekiNG/4.1.12 Microsoft-HTTPAPI/2.0
Date: Sun,27 Dec 2020 15:03:45 GMT

<?xml version="1.0" encoding="utf-8"?>

<response>
  <action>sendmessage</action>
  <data>
    <acceptreport>
      <statuscode>0</statuscode>
      <statusmessage>Message accepted for delivery</statusmessage>
      <messageid>2994bd84-2699-4344-bee4-93ce21aa5202</messageid>
      <originator>1234</originator>
      <recipient>123456</recipient>
      <messagetype>TEXT</messagetype>
      <messagedata>Test123</messagedata>
    </acceptreport>
  </data>
</response>

OSB 对此抛出异常:

<Dec 27,2020 10:06:09,409 PM PKT> <Error> <oracle.osb.resources.service.service> <OSB-398000> <Exception in OutboundRestHandler.handleResponse,com.bea.alsb.ws.codec.CodecException: No acceptable representation for response with "text/xml" media type was found
com.bea.alsb.ws.codec.CodecException: No acceptable representation for response with "text/xml" media type was found
        at com.bea.wli.sb.service.handlerchain.handlers.OutboundWsdlRestHandler$AbstractResponseMessage.getPart(OutboundWsdlRestHandler.java:375)
        at com.bea.wli.sb.service.handlerchain.handlers.OutboundWsdlRestHandler$AbstractResponseMessage.getPart(OutboundWsdlRestHandler.java:318)

我正在尝试通过使用替换操作来替换它,我尝试将其放置在 Pipeline Pare Node1 和 RouteNode1 中:

Location: header
          $inbound/ctx:transport/ctx:response/tp:headers/http:Content-Type
Value: "application/xml"
Replace node contents

到目前为止没有帮助。显然响应头需要在路由节点看到之前修改

那么我应该在哪里更改它,以及如何更改?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?