如何将WSO2调用中的文本/纯文本强制到端点

时间:2018-06-21 16:55:31

标签: wso2

我的序列中有一个丰富的介体,其值以纯文本显示。我已经用log验证了该值,并确保它是文本。但是,当我在功能丰富(请参阅下文)之后进行调用时,API会以JSON的形式接收有效负载,且其密钥始终为“ test”:然后是纯文本值。

下面的API需要任何值,它只是将正文保存到文件中。当我尝试在调用状态消息type = text / plain之前设置属性时,它只是挂起,不执行调用吗?

问题:WSO2介体(wso2框架)本质上是否期望该主体为JSON或XML?不允许文本/纯文本。如果是这样,那么我必须更改我的API来处理我认为的这个问题。

如果有人可以回答这个问题,我想我会做的。因为当我使用带有相同选项的Java类介体调用相同的API时,它工作正常。

<call>
    <endpoint>
       <http method="POST" uri-template="http://xxxxxxx.38:8280/writefile"/>
    </endpoint>
</call>

2 个答案:

答案 0 :(得分:1)

感谢您的更新。我以前曾尝试过,当我知道该进程已挂起并且不会调用api时。这是我们所做的工作:

<payloadFactory media-type="xml">
        <format>
            <text xmlns="http://ws.apache.org/commons/ns/payload">$1</text>
        </format>
        <args>
            <arg evaluator="xml" expression="get-property('fileContent')"/>
        </args>
</payloadFactory>
<property name="messageType" scope="axis2" type="STRING" value="text/plain"/>

感谢大家的更新。第一次问一个问题,很高兴看到尽快得到答复。将尝试贡献我的学习并寻求帮助。

答案 1 :(得分:0)

call中介者之前添加它。

<property name="messageType" value="text/plain" scope="axis2"/>