【发布时间】:2016-04-18 12:20:56
【问题描述】:
当我在 HTTP 端点 url 中使用带有 Rest 服务 Post HTTP 方法的发送中介创建代理时。选择端点作为代理上的 HTTP 端点并在没有肥皂信封的情况下发布请求 xml,这完美地工作并在响应窗口中获得响应。
但是当我使用具有相同 HTTP 端点 url 配置的调用中介时,这不起作用。我想知道我们可以将调用中介用于 Post HTTP 方法吗?当我为 GET HTTP 方法使用 Call 调解器时,它只需要查询参数并且不需要任何请求 xml,这绝对可以正常工作。
这里是更多信息:
但是,通过在 callmediator 中使用地址端点可以解决问题。当我从外部 Restt 客户端或 Soap UI 调用代理时,它确实有效。如果我在 wso2 中使用 Try this Service 选项,ESB 将失败,结果为 1. 选择 Soap12 端点时和 2 选择 HTTP 端点时,如下所示。
<?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 格式。
失败 记录未成功处理。请提供有效的请求 XML
- 选择 Http 端点时
[2016-04-21 12:07:50,179] 信息 - HTTPSender 无法将ViaPost 发送到 url[http://UpdateOrganization/mediate]
java.net.SocketTimeoutException: 读取超时 在 java.net.SocketInputStream.socketRead0(Native Method)
【问题讨论】:
-
能否详细说明。错误是什么?您的代理是什么样的?
-
你能分享你的代理代码吗?