【问题标题】:How to host and transform SOAP message in WSO2如何在 WSO2 中托管和转换 SOAP 消息
【发布时间】:2017-07-11 18:25:11
【问题描述】:

我在 WSO2 中创建服务相对较新,我必须在我工作的企业中做一个项目。首先,我必须接受一条消息,例如 json 并发送 xml。使用以下代码,我能够做到这一点:

<?xml version="1.0" encoding="UTF-8"?>
<api context="/Test" name="JsonToXmlApi" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST" uri-template="/xml/">
        <inSequence>
            <property name="messageType" scope="axis2" type="STRING" value="text/xml"/>
            <header action="remove" name="To" scope="default"/>
            <property name="RESPONSE" scope="default" type="STRING" value="true"/>
            <send/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </resource>
</api>

现在我需要执行以下操作,我必须以 SOAP、XML 格式发送消息,在 SOAP 中使用它并以 JSON 或 XML 格式接收。 有人可以帮助我吗?我问是因为我正在寻找教程,初学者,关于它一个多星期,但无法解决我的问题。 另一个问题,可以在 REST API 项目中执行此操作吗?

如果有人可以帮助我,提供详细的教程或好的视频教学,我将不胜感激。 谢谢。

【问题讨论】:

    标签: json xml rest soap wso2


    【解决方案1】:

    您的帖子有点不清楚,但我会尝试总结一下您在开发 Web 服务时输入接口、wso2 组件和后端服务的典型常见组合。

    Web 服务是您可以通过 http 或 https 调用的服务——您可能有三种类型的接口用于这些服务,并且您可能使用两种类型的 WSO2 ESB 组件(代理和 API)来开发这些服务。

    1) 输入/输出:JSON
    WSO2 组件:API
    后端:任何(JSON/XML/SOAP)

    2) 输入/输出:纯 XML
    WSO2 组件:API
    后端:任何(JSON/XML/SOAP)

    3) 输入/输出:SOAP
    WSO2 组件:代理
    后端:任何(JSON/XML/SOAP)
    任何 SOAP 服务的关键组件之一是 WSDL - WSO2 代理允许您发布 WSDL,以便您的调用者知道您的服务提供什么样的数据和操作. 在此处查看更多信息:https://docs.wso2.com/display/EI611/Working+with+Proxy+Services

    仅因为您的要求而添加此注释: 从技术上讲,您可能能够在 API 组件中接收 SOAP 消息,因为 SOAP 只是一个 XML 文档——但这真的毫无意义。 API 组件的目的是公开资源并允许您对这些资源执行 HTTP 操作(GET、POST 等)(这种模型可以称为 REST)。 基于 SOAP 的 Web 服务的目的是公开在 WSDL 中定义的数据和操作,而 WSO2 代理组件允许您这样做。

    【讨论】:

    • 首先,非常感谢您的回复 Jang-Vijay Singh。您的回答非常具有解释性,这正是我所需要的,因为我在服务的所有理论部分都遇到了困难。但在这一切之中,我有一个问题。我如何向我的项目解释我正在接收 SOAP 并将这些数据转换为 xml 或任何东西。例如,我可以用我的代码做我想做的事,但将其转换为代理服务?
    • @FelipeF ,您不必明确地“解释”任何内容 - 您的代理只需接收有效负载。在您的序列中,您可以使用该有效负载做任何您想做的事情。示例:In this example - 注意 inSequence 此外,由于您公开了 SOAP 接口,因此您的代理将有权访问 additional SOAP related headers
    • 在设计期间,请考虑您的需求是简单地接收 XML (API) 中的消息还是公开由 WSDL 定义的 Web 服务接口。他们有不同的目标和不同程度的复杂性/好处/权衡
    • 谢谢大家直到现在。我将在代理服务中尝试我的代码,并尝试为 SoapUi 测试 SOAP 请求。如果工作,我会结束这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 2011-07-07
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多