浏览 2851 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-15
从而将外部Web Service注册到esb中。 <cxfbc:consumer wsdl="mycalculate.wsdl" service="calculate:CalculateService" endpoint="soap" targetService="calculate:CalculateService" targetEndpoint="calculate:Calculate" locationURI="http://myserver:8000/Calculate"/> <cxfbc:provider wsdl="mycalculate.wsdl" service="calculate:CalculateService" endpoint="calculate:Calculate" locationURI="http://myserver:8080/services/Calculate"/> 现在, 我已实现了如下流程: 外部客户端 --> cxf consumer --> cxf provider --> 外部web Service 如果我要实现以下流程: 外部客户端 --> cxf consumer--> 路由 --> cxf provider --> 外部web Service 则应该怎么做啦? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-10-26
只需要配置一个eip的sa集合就可以,具体的su下面的xbean.xml中的内容如下:
<eip:content-based-router service="hello:HelloService" endpoint="endpoint"> <eip:rules> <eip:routing-rule> <eip:predicate> <eip:xpath-predicate xpath="count(//test) = 1"/> </eip:predicate> <eip:target> <eip:exchange-target service="hello:HelloService" endpoint="hello:HelloServicePortProxy2"/> </eip:target> </eip:routing-rule> <eip:routing-rule> <eip:target> <eip:exchange-target service="hello:HelloService" endpoint="hello:HelloServicePortProxy" /> </eip:target> </eip:routing-rule> </eip:rules> </eip:content-based-router> 在这里要注意一点,如果通过客户端访问时,方法参数如果是xml格式的字符串,则会让xpath中的表达式不起作用。 |
|
返回顶楼 | |
发表时间:2011-05-13
为什么我的路由规则就是无效,能讲讲这个路由规则的语法吗,比如我暴露的方法是sayHello(String name)
调用的soap 请求消息如下 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://ws.kentop.net" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <q0:sayHello> <q0:name>alan</q0:name> </q0:sayHello> </soapenv:Body> </soapenv:Envelope> EIP的xbean.xml如下 <eip:content-based-router service="ws:routeService" endpoint="ws:routeEndpoint"> <eip:rules> <eip:routing-rule> <eip:predicate> <eip:xpath-predicate XPath="count(//sayHello[name='alan']) = 1"/> </eip:predicate> <eip:target> <eip:exchange-target service="ws:HelloWorldService" endpoint="ws:HelloWorld" /> </eip:target> </eip:routing-rule> <eip:routing-rule> <eip:target> <eip:exchange-target service="test:HelloWorldService" endpoint="test:HelloWorldService" /> </eip:target> </eip:routing-rule> </eip:rules> </eip:content-based-router> 无论我的name是什么值都只会路由到默认的路由上去 能把你的项目发我看看吗,无线感激 7141438@qq.com |
|
返回顶楼 | |