近公司需要写这样一个功能。也就是需要一个esb消息总线。初步的功能是提供webservice的消息管理以后还会增加很多的功能。。以前本来在soa esb上面的东西就是个空白。在Google上找了一天最后由我自己觉得用mule2.1.2。让后就疯狂的找些好的帖子。希望能够很快的入门。但发现不 是那么一回事。找到的很多都是1.X的版本。2.1.2 的少得很。经过近半周的研究。。终于自己写了一个小的test。贴上来给新入门的朋友希望有帮助。深入的研究以后还会继续。
配置文件:mule_config.xml
Java代码
1.
2. "http://www.mulesource.org/schema/mule/core/2.1"
3. "http://www.w3.org/2001/XMLSchema-instance"
4. "http://www.springframework.org/schema/beans"
5. "http://www.mulesource.org/schema/mule/vm/2.1"
6. "http://www.mulesource.org/schema/mule/cxf/2.1"
7. "http://www.mulesource.org/schema/mule/axis/2.1"
8. "http://www.mulesource.org/schema/mule/smtps/2.1"
9. "http://www.mulesource.org/schema/mule/http/2.1"
10. "http://www.mulesource.org/schema/mule/stdio/2.1"
11. "http://www.mulesource.org/schema/mule/soap/2.1"
12. xsi:schemaLocation="
13. //www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
14. //www.mulesource.org/schema/mule/core/2.1 http://www.mulesource.org/schema/mule/core/2.1/mule.xsd
15. //www.mulesource.org/schema/mule/stdio/2.1 http://www.mulesource.org/schema/mule/stdio/2.1/mule-stdio.xsd
16. //www.mulesource.org/schema/mule/vm/2.1 http://www.mulesource.org/schema/mule/vm/2.1/mule-vm.xsd
17. //www.mulesource.org/schema/mule/cxf/2.1 http://www.mulesource.org/schema/mule/cxf/2.1/mule-cxf.xsd
18. //www.mulesource.org/schema/mule/axis/2.1 http://www.mulesource.org/schema/mule/axis/2.1/mule-axis.xsd
19. //www.mulesource.org/schema/mule/smtps/2.1 http://www.mulesource.org/schema/mule/smtps/2.1/mule-smtps.xsd
20. //www.mulesource.org/schema/mule/soap/2.1 http://www.mulesource.org/schema/mule/soap/2.1/mule-soap.xsd
21. //www.mulesource.org/schema/mule/http/2.1 http://www.mulesource.org/schema/mule/http/2.1/mule-http.xsd
22. ">
23.
24. eagleMule demo which shows how to publish web services over CXF.
25.
26. "eagleMule">
27. "testMuleService">
28.
29. "http://localhost:8899/services/testMuleService">
30.
31.
32. "http://localhost:8898/services/testMuleService">
33.
34.
35.
36. class="com.eagle.mule.test.imp.MuleServiceImp">
37.
38.
39.
40.
一个简单的 接口 为了先跑同就这样把。
MuleService.java
Java代码
1. @WebService
2. public interface
3. public String testMule(@WebParam(name="str")String str);
4. }
MuleServiceImp.java
Java代码
1. @WebService(serviceName="eagleMuleService",
2. "com.eagle.mule.test.MuleService")
3. public class MuleServiceImp implements
4.
5. public
6. "----service---");
7. return "hello--"+str;
8. }
9. }
启动服务:
Java代码
1. public class
2. public static void main(String[] args) throws
3. try
4. "com/eagle/mule/test/mule_config.xml";
5. new
6. new
7. MuleContext context = muleContextFactory
8. new
9. configFileArr));
10. context.start();
11. catch
12. t.printStackTrace();
13. }
14. }
15. }
测试
Java代码
1. package
2.
3. import
4. import
5.
6. import
7. import
8. import
9. import
10.
11. public class
12. public static void
13. null;
14. try
15. new
16. "axis:http://localhost:8899/services/testMuleService/testMuleService?method=testMule";
17.
18. "eagle", null);
19. Object obj = message.getPayload();
20. "--------------obj---------"+obj.getClass().getName());
21. if(obj instanceof
22. "---------str--------------"+obj);
23. }
24. catch
25. // TODO Auto-generated catch block
26. e.printStackTrace();
27. finally{
28. client.dispose();
29. }
30.
31. }
32. }
- 注意 这里需要把mule 下lib中 endorsed mule opt 文件夹中的jar都加进去。如果不发布cxf的服务 可以不用添加endorsed文件夹中的jar。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net