WSO2 ESB任务配置中的Soap操作错误



我已经部署了一个工作良好的WSO2 ESB代理服务:它发送对数据集的请求,在代理服务的outSequence中,我在文件中发送响应(我设置了响应的序列),并且我还可以在SOAP UI中可视化响应(或在ESB的"尝试此服务"页面中)。

如果我设置一个计划任务它不工作:我设置消息(我的xml在SOAP UI正确工作的消息),injectTo(代理),proxyName(我的代理名称),format(我的格式)和SoapAction…

我确信SoapAction的名称是正确的,但是服务器的响应是"服务器SoapAction: xxxx无法识别HTTP报头值",其中xxxx是正确的soap操作名称。

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

您必须像这样添加"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>

检查是否在insequence或outsequence中收到此错误。另外,当您发送响应返回时,您是使用<send/>还是提供特定的端点。

最新更新