mule2.1.2 初始认识 发布cxf 和axis服务
mule2.1.2 初步认识 发布cxf 和axis服务
- <?xml version="1.0" encoding="UTF-8"?>
- <mule xmlns="http://www.mulesource.org/schema/mule/core/2.1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:spring="http://www.springframework.org/schema/beans"
- xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.1"
- xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.1"
- xmlns:axis="http://www.mulesource.org/schema/mule/axis/2.1"
- xmlns:smtps="http://www.mulesource.org/schema/mule/smtps/2.1"
- xmlns:http="http://www.mulesource.org/schema/mule/http/2.1"
- xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.1"
- xmlns:soap="http://www.mulesource.org/schema/mule/soap/2.1"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.mulesource.org/schema/mule/core/2.1 http://www.mulesource.org/schema/mule/core/2.1/mule.xsd
- http://www.mulesource.org/schema/mule/stdio/2.1 http://www.mulesource.org/schema/mule/stdio/2.1/mule-stdio.xsd
- http://www.mulesource.org/schema/mule/vm/2.1 http://www.mulesource.org/schema/mule/vm/2.1/mule-vm.xsd
- http://www.mulesource.org/schema/mule/cxf/2.1 http://www.mulesource.org/schema/mule/cxf/2.1/mule-cxf.xsd
- http://www.mulesource.org/schema/mule/axis/2.1 http://www.mulesource.org/schema/mule/axis/2.1/mule-axis.xsd
- http://www.mulesource.org/schema/mule/smtps/2.1 http://www.mulesource.org/schema/mule/smtps/2.1/mule-smtps.xsd
- http://www.mulesource.org/schema/mule/soap/2.1 http://www.mulesource.org/schema/mule/soap/2.1/mule-soap.xsd
- http://www.mulesource.org/schema/mule/http/2.1 http://www.mulesource.org/schema/mule/http/2.1/mule-http.xsd
- ">
- <description>
- eagleMule demo which shows how to publish web services over CXF.
- </description>
- <model name="eagleMule">
- <service name="testMuleService">
- <inbound>
- <axis:inbound-endpoint address="http://localhost:8899/services/testMuleService">
- <soap:http-to-soap-request-transformer />
- </axis:inbound-endpoint>
- <cxf:inbound-endpoint address="http://localhost:8898/services/testMuleService">
- <soap:http-to-soap-request-transformer />
- </cxf:inbound-endpoint>
- </inbound>
- <component class="com.eagle.mule.test.imp.MuleServiceImp">
- </component>
- </service>
- </model>
- </mule>
<?xml version="1.0" encoding="UTF-8"?> <mule xmlns="http://www.mulesource.org/schema/mule/core/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.1" xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.1" xmlns:axis="http://www.mulesource.org/schema/mule/axis/2.1" xmlns:smtps="http://www.mulesource.org/schema/mule/smtps/2.1" xmlns:http="http://www.mulesource.org/schema/mule/http/2.1" xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.1" xmlns:soap="http://www.mulesource.org/schema/mule/soap/2.1" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.mulesource.org/schema/mule/core/2.1 http://www.mulesource.org/schema/mule/core/2.1/mule.xsd http://www.mulesource.org/schema/mule/stdio/2.1 http://www.mulesource.org/schema/mule/stdio/2.1/mule-stdio.xsd http://www.mulesource.org/schema/mule/vm/2.1 http://www.mulesource.org/schema/mule/vm/2.1/mule-vm.xsd http://www.mulesource.org/schema/mule/cxf/2.1 http://www.mulesource.org/schema/mule/cxf/2.1/mule-cxf.xsd http://www.mulesource.org/schema/mule/axis/2.1 http://www.mulesource.org/schema/mule/axis/2.1/mule-axis.xsd http://www.mulesource.org/schema/mule/smtps/2.1 http://www.mulesource.org/schema/mule/smtps/2.1/mule-smtps.xsd http://www.mulesource.org/schema/mule/soap/2.1 http://www.mulesource.org/schema/mule/soap/2.1/mule-soap.xsd http://www.mulesource.org/schema/mule/http/2.1 http://www.mulesource.org/schema/mule/http/2.1/mule-http.xsd "> <description> eagleMule demo which shows how to publish web services over CXF. </description> <model name="eagleMule"> <service name="testMuleService"> <inbound> <axis:inbound-endpoint address="http://localhost:8899/services/testMuleService"> <soap:http-to-soap-request-transformer /> </axis:inbound-endpoint> <cxf:inbound-endpoint address="http://localhost:8898/services/testMuleService"> <soap:http-to-soap-request-transformer /> </cxf:inbound-endpoint> </inbound> <component class="com.eagle.mule.test.imp.MuleServiceImp"> </component> </service> </model> </mule>
一个简单的 接口 为了先跑同就这样把。
MuleService.java
- @WebService
- public interface MuleService {
- public String testMule(@WebParam(name="str")String str);
- }
@WebService public interface MuleService { public String testMule(@WebParam(name="str")String str); }
MuleServiceImp.java
- @WebService(serviceName="eagleMuleService",
- endpointInterface="com.eagle.mule.test.MuleService")
- public class MuleServiceImp implements MuleService {
- public String testMule(String str) {
- System.out.println("----service---");
- return "hello--"+str;
- }
- }
@WebService(serviceName="eagleMuleService", endpointInterface="com.eagle.mule.test.MuleService") public class MuleServiceImp implements MuleService { public String testMule(String str) { System.out.println("----service---"); return "hello--"+str; } }
启动服务:
- public class EagleMuleMain {
- public static void main(String[] args) throws ConfigurationException, InitialisationException {
- try {
- String configFile = "com/eagle/mule/test/mule_config.xml";
- String[] configFileArr = new String[] { configFile };
- MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
- MuleContext context = muleContextFactory
- .createMuleContext(new SpringXmlConfigurationBuilder(
- configFileArr));
- context.start();
- } catch (MuleException t) {
- t.printStackTrace();
- }
- }
- }
public class EagleMuleMain { public static void main(String[] args) throws ConfigurationException, InitialisationException { try { String configFile = "com/eagle/mule/test/mule_config.xml"; String[] configFileArr = new String[] { configFile }; MuleContextFactory muleContextFactory = new DefaultMuleContextFactory(); MuleContext context = muleContextFactory .createMuleContext(new SpringXmlConfigurationBuilder( configFileArr)); context.start(); } catch (MuleException t) { t.printStackTrace(); } } }
测试
- package com.eagle.mule.test.clint;
- import java.io.IOException;
- import java.io.InputStream;
- import org.apache.commons.io.IOUtils;
- import org.mule.api.MuleException;
- import org.mule.api.MuleMessage;
- import org.mule.module.client.MuleClient;
- public class Client {
- public static void main(String[] args){
- MuleClient client = null;
- try {
- client = new MuleClient();
- String url = "axis:http://localhost:8899/services/testMuleService?wsdl&method=testMule";
- MuleMessage message = client.send(url, "eagle", null);
- Object obj = message.getPayload();
- System.out.println("--------------obj---------"+obj.getClass().getName());
- if(obj instanceof String){
- System.out.println("---------str--------------"+obj);
- }
- } catch (MuleException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }finally{
- client.dispose();
- }
- }
- }
- 注意 这里需要把mule 下lib中 endorsed mule opt 文件夹中的jar都加进去。如果不发布cxf的服务 可以不用添加endorsed文件夹中的jar。