【发布时间】:2012-08-16 14:51:41
【问题描述】:
您好,我尝试创建一个指向以下端点的代理“myfirst_proxy”:test_myapp
这个端点指向http://server1/myapp/service/test.php?wsdl(我测试了url,它返回成功)
我创建了一个序列:log and drop,并将其添加到代理配置中的 Out Sequence。
为了测试,我添加了一个计划任务,在 9 点后每 2 分钟运行一次:
<task name="testtask" class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz">
<trigger cron="0 0/2 9 * * ?"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="message">
<sendText xmlns=""/>
</property>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="to" value="http://myesbserver:8280/services/myfirst_proxy"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="soapAction" value="urn:MYAPP#sendText"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="format" value="soap11"/>
</task>
现在当我访问http://myesbserver:8280/services/myfirst_proxy 时,我将收到以下错误:未找到操作的端点引用 (EPR) 是 /services/myfirst_proxy 并且 WSA 操作 = null。如果此 EPR 以前可以访问
但是当我在末尾添加 ?wsdl 时,我会看到 WSDL 文件。
在日志文件中,我看到执行了以下计划任务:
INFO - LogMediator To: http://myesbserver:8280/services/myfirst_proxy, WSAction: urn:MYAPP#sendText, SOAPAction: urn:SLATE#sendText, MessageID: urn:uuid:87b2695a-ce95-43fa-b7d2-3d638c3d5f20, Direction: request, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><sendApproval/></soapenv:Body></soapenv:Envelope>
我检查了应用服务器是否收到来自 ESB 代理的任何请求,但没有,我使用 ESB 附带的 Try 工具,将字符串放在正文标签之间并运行它。响应成功。
所以我的问题是,我是否错过了允许我的任务与远程 WSDL 对话的步骤?
干杯。
【问题讨论】:
-
你能提供你的代理配置吗?
-
@Ratha 这是代理配置:
<proxy name="myfirst_proxy" transports="http" startOnLoad="true" trace="enable"> <target endpoint="test_myapp" inSequence="log_and_drop" faultSequence="fault"/> <publishWSDL uri="http://server1/myapp/service/test.php?wsdl"/> <policy key="conf:/repository/axis2/service-groups/myfirst_proxy/services/myfirst_proxy/policies/RMPolicy"/> <parameter name="Action">sendText</parameter> <parameter name="interface">MYAPPPortType</parameter> <parameter name="serviceType">proxy</parameter> <enableRM/> </proxy> -
您的端点配置是什么?
-
`
server1/myapp/service/test.php?wsdl" statistics="enable" format="soap11"/> `
标签: wso2 task wso2esb esb endpoint