【问题标题】:Soap Action error in WSO2 ESB Task configurationWSO2 ESB 任务配置中的肥皂操作错误
【发布时间】:2015-07-13 14:00:15
【问题描述】:

我已经部署了一个运行良好的 WSO2 ESB 代理服务:它发送一个数据集请求,在代理服务的 outSequence 中我在一个文件中发送响应(我设置了一个执行顺序),我还可以可视化SOAP UI(或 ESB 的“试用此服务”页面)中的响应。

如果我设置了一个计划任务它不起作用:我设置了消息(我在 SOAP UI 中正确工作的 xml 消息)、injectTo(代理)、proxyName(我的代理名称)、格式(我的格式)和 SoapAction。 ..

我确定 SoapAction 的名称是正确的,但是服务器的响应是“服务器 SOAPAction 无法识别 HTTP 标头值:xxxx”,其中 xxxx 是正确的肥皂动作名称。

这发生在我尝试使用另一个更简单的代理服务的另一项任务中,一切都是正确的,直到我在计划任务中使用代理服务。
看不懂。

【问题讨论】:

  • 我认为由于任务类损坏可能会出现错误......上周它运行良好,我真的什么都没改变,现在它不起作用。有人知道如何在 WSO2ESB 中恢复正确的任务类吗?

标签: web-services soap proxy scheduled-tasks wso2esb


【解决方案1】:

您必须像这样添加“soapAction”标题:

<property name="Code" value="1234"/>
                <header name="soapAction" scope="transport" value="http://tempuri.org/MyService/GetAddress"/>
                <payloadFactory media-type="xml">
                    <format>
                        <soapenv:Envelope
                            xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
                            <soapenv:Header/>
                            <soapenv:Body>
                                <tem:GetAddress>
                                    <tem:Code>$1</tem:Code>
                                </tem:GetAddress>
                            </soapenv:Body>
                        </soapenv:Envelope>
                    </format>
                    <args>
                        <arg evaluator="xml" expression="get-property('Code')"/>
                    </args>
                </payloadFactory>
                <send>
                    <endpoint>
                        <address format="soap11" uri="http://192.168.1.1/Services/ShakouriService.svc?wsdl"/>
                    </endpoint>
                </send>

【讨论】:

    【解决方案2】:

    检查您是在序列中还是在外序列中收到此错误.. 另外,当您发回响应时,您是使用&lt;send/&gt; 还是提供特定端点。

    【讨论】:

    • 每个调用的 web 服务都返回我的响应,解释说肥皂动作无法识别,我认为问题出在 inSequence 因为 outSequence 以正确的方式工作:将 web 服务的答案发送到文件“example.xml”,通过在 outSequence 中添加“core-send”,我可以在控制台中看到结果。
    • “无法处理请求。无法识别操作 'CodiceComune'”。我插入了相同的肥皂消息,该消息通过 esb 获得了 SOAPUI 的正确答案......我无法理解。字段有proxy、inject to、message xml、soapAction和format,每一个都是正确的。
    • 尝试使用标头中介在 inSequence 中添加操作。并在 scheduleTask soapAction 字段中添加您在代理服务 wsdl 中看到的操作。
    • 谢谢,但是我应该在 header mediator 中放入什么样的 header 来描述动作?
    • 使用这个:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多