当我在HTTP端点url中使用带有Rest服务后HTTP方法的send mediator创建代理时。选择端点作为代理上的HTTP端点并在没有soap信封的情况下发布请求xml,这完美地起作用并在响应窗口中获得响应。
但是当我使用具有相同HTTP端点url配置的调用介体时,这不起作用。我想知道我们可以使用调用中介来进行Post HTTP方法吗?当我为GET HTTP方法使用Call mediator时,它只需要查询参数,并且不需要任何请求xml,这绝对没问题。
以下是进一步的信息:
但是,通过在callmediator中使用地址端点可以解决问题。当我从外部Restt客户端或Soap UI调用代理时,它确实有效。如果我在wso2中使用Try this Service选项,则ESB将失败,结果为1.当选择Soap12端点时,选择HTTP端点时为2,如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="postIDMPCall"
transports="https http"
startOnLoad="true"
trace="disable">
<description/>
<target>
<inSequence>
<property name="ContentType" value="text/xml" scope="axis2" type="STRING"/>
<property name="HTTP_METHOD" value="POST" scope="axis2" type="STRING"/>
<payloadFactory media-type="xml">
<format>
<organizationList xmlns="">
<xml content>
</organizationList>
</format>
<args/>
</payloadFactory>
<header name="_user" scope="transport" value="username"/>
<header name="_password" scope="transport" value="Password"/>
<call blocking="true">
<endpoint>
<address uri="http://<ip-address>:<port>/<resource-path>/UpdateOrganization"
format="rest"/>
</endpoint>
</call>
</inSequence>
</target>
</proxy>
输出:选择soap12端点时 虽然发布了正确的xml服务,但没有为soap12端点重新定义正确的xml格式。
失败 记录未成功处理。请提供有效的Request XML
[2016-04-21 12:07:50,179] INFO - HTTPSender无法将viaPost发送到url [http://:// UpdateOrganization / mediate]
java.net.SocketTimeoutException:读取超时 在java.net.SocketInputStream.socketRead0(本机方法)
答案 0 :(得分:0)
我认为我们不能为此目的使用呼叫中介,因为呼叫中介是上下文无意识的中介。
答案 1 :(得分:0)
您的电话应该已经开箱即用。
如果您希望简单的xml作为响应,您是否尝试设置format="pox"