wso2am 4.0.0 自动soap to rest转换问题
wso2am 4.0.0 automatically soap to rest conversion problem
我有一个 SOAP 服务。使用 WSO2 API 管理器,我从中自动创建了一个 REST API。除一个功能外,所有功能均有效;当我使用下面的命令时,我的 soap 服务没有得到数字 2 而得到 0。
curl -X GET 'http://localhost:8280/rest/2/getUser?arg0=2' \
-H 'accept: application/json' \
-H 'Internal-Key: S.TH.'
这是wso2am 4.0.0自动生成的:
<header description="SOAPAction" name="SOAPAction" scope="transport" value=""/>
<property name="REST_URL_POSTFIX" scope="axis2" action="remove"/>
<property expression="$url:arg0" name="req.var.arg0"/>
<payloadFactory description="transform" media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:web="http://user.ws.xxx.com/">
<soapenv:Header/>
<soapenv:Body>
<web:getUser xmlns:web="http://user.ws.xxx.com/">
<web:arg0></web:arg0>
</web:getUser>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args>
<arg evaluator="xml" expression="get-property('req.var.arg0')"/>
</args>
</payloadFactory>
<property description="messageProperty" name="messageType" scope="axis2" type="STRING" value="application/soap+xml"/>
当我发送这个服务时,我的服务工作正常。服务器获取数字 2 并使用用户 2 数据进行响应。
curl -X POST "http://localhost:9090/user-service" \
-H 'Content-Type: application/soap+xml;charset=UTF-8' \
-d '
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:user="http://user.ws.xxx.com/">
<soap:Header/>
<soap:Body>
<user:getUser>
<arg0>2</arg0>
</user:getUser>
</soap:Body>
</soap:Envelope>'
在payloadFactory中,我修改了
<web:arg0></web:arg0>
至
<arg0 xmlns=""></arg0>
而且有效。
我有一个 SOAP 服务。使用 WSO2 API 管理器,我从中自动创建了一个 REST API。除一个功能外,所有功能均有效;当我使用下面的命令时,我的 soap 服务没有得到数字 2 而得到 0。
curl -X GET 'http://localhost:8280/rest/2/getUser?arg0=2' \
-H 'accept: application/json' \
-H 'Internal-Key: S.TH.'
这是wso2am 4.0.0自动生成的:
<header description="SOAPAction" name="SOAPAction" scope="transport" value=""/>
<property name="REST_URL_POSTFIX" scope="axis2" action="remove"/>
<property expression="$url:arg0" name="req.var.arg0"/>
<payloadFactory description="transform" media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:web="http://user.ws.xxx.com/">
<soapenv:Header/>
<soapenv:Body>
<web:getUser xmlns:web="http://user.ws.xxx.com/">
<web:arg0></web:arg0>
</web:getUser>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args>
<arg evaluator="xml" expression="get-property('req.var.arg0')"/>
</args>
</payloadFactory>
<property description="messageProperty" name="messageType" scope="axis2" type="STRING" value="application/soap+xml"/>
当我发送这个服务时,我的服务工作正常。服务器获取数字 2 并使用用户 2 数据进行响应。
curl -X POST "http://localhost:9090/user-service" \
-H 'Content-Type: application/soap+xml;charset=UTF-8' \
-d '
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:user="http://user.ws.xxx.com/">
<soap:Header/>
<soap:Body>
<user:getUser>
<arg0>2</arg0>
</user:getUser>
</soap:Body>
</soap:Envelope>'
在payloadFactory中,我修改了
<web:arg0></web:arg0>
至
<arg0 xmlns=""></arg0>
而且有效。