WSO2 ESB中介SOAP服务 [英] WSO2 ESB mediate SOAP services

查看:110
本文介绍了WSO2 ESB中介SOAP服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在努力使我的消息流在wso2 esb中工作,因此我需要一些帮助来实现基本的通信:

I am struggling to make work my message flow in the wso2 esb so I would need some help to implement a basic communication:

Service1希望接收一个整数 Service2生成随机数

Service1 wants to receive an integer number Service2 Generates random numbers

Service1具有以下顺序:记录,发送(到指定的地址点). OutSequence:记录,发送

Service1 has InSequence: log, send (to addresspoint specified). OutSequence: log, send

这看起来像:

 <proxy name="ClientAskNumber" transports="https http" startOnLoad="true"
        trace="disable">
        <target faultSequence="fault">
            <inSequence>
                <log level="full">
                    <property name="Insequence" value="***" />
                </log>
                <send>
                    <endpoint>
                        <address uri="http://localhost:8280/services/RandomNumbers" />
                    </endpoint>
                </send>
            </inSequence>
            <outSequence>
                <log level="full">
                    <property name="Outsequence" value="***" />
                </log>
                <send />
            </outSequence>
        </target>
    </proxy>

我收到以下答复:<faultstring>System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: urn:mediate. at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()....etc

是什么意思?我还想念其他东西吗?请帮忙.谢谢

What it means? Am I missing something else? Please help. Thank you

我正在研究Wso2 ESB,我只需要了解如何使消息通信变得有效,在此之后,我将尝试添加其他类型的中介.我只是解决问题,因为我是这项技术的新手,正如您所看到的,我真的在努力使其工作...

I am studying the Wso2 ESB and I just need to understand how to make work a message communication, after it I will try to add different kind of mediation. I am just breaking down the problem, because I am new to this technology and as you can see I am really struggling to make it work...

*

<proxy xmlns="http://ws.apache.org/ns/synapse" name="ClientAskNumber" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
   <target endpoint="RandomNumbers">
      <inSequence>
         <log>
            <property name="CLIENTASKS" value="******C_ASKS" />
         </log>
         <send>
            <endpoint key="RandomNumbers" />
         </send>
      </inSequence>
      <outSequence>
         <log>
            <property name="CLIENTRECEIVES" value="*******C_RECEIVES" />
         </log>
      </outSequence>
   </target>
</proxy>

推荐答案

在这种情况下,它可以帮助其他人:"Server did not recognize the value of HTTP Header SOAPAction: urn:mediate..."的问题是我需要添加Header中介程序才能调用我的Web服务方法"getNumbers" ,输入到我的InSequence中,如下所示:

In the case this helps someone else: the problem with "Server did not recognize the value of HTTP Header SOAPAction: urn:mediate..." is that I needed to add an Header mediator in order to call my webservice method "getNumbers", into my InSequence as follows:

 <inSequence>
         <log>
            <property name="CLIENTASKS" value="******C_ASKS" />
         </log>
         <header name="Action" value="http://tempuri.org/getNumbers" />
         <send>
            <endpoint key="RandomNumbers" />
         </send>
      </inSequence>

并通过soapUI发送此请求:

and send this request via soapUI:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Numbers xmlns="http://tempuri.org/" />
  </soap:Body>
</soap:Envelope>

我希望这对使用WSO2ESB的.Net解决方案的其他人有用(不幸的是,这里没有很多示例...

I hope this can be useful to other persons who are using .Net Solutions with WSO2ESB (unfortunately there are not many examples out there...)

P.S.感谢Ratha的帮助

P.S. thanks to Ratha for his help

这篇关于WSO2 ESB中介SOAP服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆