Json 如何在WSO2中托管和转换SOAP消息

Json 如何在WSO2中托管和转换SOAP消息,json,xml,rest,soap,wso2,Json,Xml,Rest,Soap,Wso2,我在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-templa

我在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格式接收返回的消息。 有人能帮我吗?我问这个问题是因为我正在为初学者搜索教程,已经有一个多星期了,但我没能解决我的问题。 另一个问题是,在RESTAPI项目中是否可以这样做

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

您的帖子有点不清楚,但我将尝试在您开发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,以便调用者知道您的服务提供什么样的数据和操作。 请参阅此处的更多信息:

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

您的文章有点不清楚,但我将尝试总结输入接口的典型常见组合,开发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,以便调用者知道您的服务提供什么样的数据和操作。 请参阅此处的更多信息:

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

首先,非常感谢您的回复Jang Vijay Singh。您的回答很有解释性,这正是我所需要的,因为我对服务的所有理论部分都有困难。但在所有这些中,我有一个问题。我如何向我的项目解释我正在接收SOAP并将这些数据转换为xml或任何东西。例如,我可以用我的代码做我想做的事情,但将其转换为代理服务?@FelipeF,你不必显式地“解释”任何事情-你的代理只接收有效负载。在您的in序列中,您可以使用该负载执行任何您想要的操作。示例:-请注意顺序,因为您暴露了SOAP接口,您的代理将在设计期间访问,请考虑如果您的要求是简单地在XML(API)中接收消息或公开WSDL定义的Web服务接口。他们有不同的目标和不同的复杂程度/好处/权衡谢谢大家。我将在代理服务中尝试我的代码,并将尝试为SoapUi测试SOAP请求。如果有用的话,我结束这个问题。首先,非常感谢你的回答张维杰·辛格。您的回答很有解释性,这正是我所需要的,因为我对服务的所有理论部分都有困难。但在所有这些中,我有一个问题。我如何向我的项目解释我正在接收SOAP并将这些数据转换为xml或任何东西。例如,我可以用我的代码做我想做的事情,但将其转换为代理服务?@FelipeF,你不必显式地“解释”任何事情-你的代理只接收有效负载。在您的in序列中,您可以使用该负载执行任何您想要的操作。示例:-请注意顺序,因为您暴露了SOAP接口,您的代理将在设计期间访问,请考虑如果您的要求是简单地在XML(API)中接收消息或公开WSDL定义的Web服务接口。他们有不同的目标和不同的复杂程度/好处/权衡谢谢大家。我将在代理服务中尝试我的代码,并尝试