【问题标题】:Transform Binary to XML in OutSequence from WCF Service Proxy in WSO2 ESB从 WSO2 ESB 中的 WCF 服务代理将二进制转换为 OutSequence 中的 XML
【发布时间】:2013-04-18 16:59:24
【问题描述】:

我在 WSO2 ESB 中的 REST api 和 WCF 服务之间使用代理服务。我正在调用的 WCF 服务接受并返回一个 XElement 对象。当 WCF 服务的响应进入代理的出序列时,结果是二进制的。

<?xml version='1.0' encoding='utf-8'?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <soapenv:Body>
            <axis2ns43:binary xmlns:axis2ns43="http://ws.apache.org/commons/ns/payload"></axis2ns43:binary>
        </soapenv:Body>
    </soapenv:Envelope>

soap 正文中的消息应该类似于

<?xml version='1.0' encoding='utf-8'?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <soapenv:Body>
            <Location><Result>Success</Result></Location>
        </soapenv:Body>
    </soapenv:Envelope>

如何将二进制消息转换为应有的实际 XML?我猜我需要使用格式化或构建器调解器来完成此操作,我只是不确定如何。

【问题讨论】:

    标签: wcf wso2 wso2esb xelement


    【解决方案1】:

    ESB 4..6.0,默认情况下它使用 passthru 传输,它不构建消息.. 但是使用您的二进制输出,我可以确认 ESB 没有收到任何消息..(即:“成功”消息) 如果收到, 你可以看到,类似的东西;

      <axis2ns43:binary xmlns:axis2ns43="http://ws.apache.org/commons/ns/payload">6Ly9zY2hlbWFzLnhtbHNvY</axis2ns43:binary>
    

    能否切换回 NIO 传输(您需要在 axi2.xml 中启用传输发送方和接收方),看看您实际接收的是什么?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      相关资源
      最近更新 更多