mule发布webservice

使用mule esb消息总线发布和调用webservice都非常精简,mule包装了所有操作,你只需要拖控件配置就可以,下面讲解mule发布:

1.下面是flow,http监听接口,CXF发布webservice,java用来引用webservice的方法。

2.xml代码如下:

    <flow name="webService">
     <http:listener config-ref="HTTP_Listener_Configuration" path="hello" doc:name="HTTP"/>
     <cxf:jaxws-service serviceClass="com.test.HelloWorld" doc:name="CXF"/>
     <component class="com.test.HelloWorldImpl" doc:name="Java"/>
    </flow>

3.java代码如下:

①Impl实现类

package com.test;

import javax.jws.WebService;

@WebService(endpointInterface = "com.test.HelloWorld",  
serviceName = "HelloWorld")
public class HelloWorldImpl implements HelloWorld{ @Override
public String sayHi(String text) {
// TODO Auto-generated method stub
return "Hello " + text;  
} }

②Impl实现类

package com.test;

import javax.jws.WebService;

@WebService(endpointInterface = "com.test.HelloWorld",  
serviceName = "HelloWorld")
public class HelloWorldImpl implements HelloWorld{ @Override
public String sayHi(String text) {
// TODO Auto-generated method stub
return "Hello " + text;  
} }

4.Java控件引用Class Name: com.test.HelloWorldImpl。

启用mule服务,访问http://localhost:8080/api/hello?wsdl 结果如下:

至此,发布成功。

mule请求webservice

使用mule esb请求webservice非常简单,只需要使用Web Service Consumer控件就可以,下面讲解请求webservice:

1.下面是flow,http请求监听接口,Web Service Consumer调用接口,Set Payload传递参数。

2.请求webservice需要使用一个工具来拼装请求的body:SoapUI-5.2.1.exe,下载链接在附件,使用方法如下:

我们只需要<soap:Body>里面的参数,需要把xmlns:web="http://Mozi.com/Webservices/"  粘贴到<web:PostPatientRequest> 请求里,如下:

<web:PostPatientRequest xmlns:web="http://Mozi.com/Webservices/">

<!--Optional:?里面是你的参数-->

<web:requestContent>?</web:requestContent>

</web:PostPatientRequest>

3.xml代码如下:

  <http:listener-config name="HTTP_Listener_Configuration8081" host="localhost" port="8081" doc:name="HTTP Listener Configuration"/>
    <ws:consumer-config name="Web_Service_Consumer" wsdlLocation="http://localhost:8080/api/hello?wsdl" service="HelloWorldService" port="HelloWorldPort" serviceAddress="http://localhost:8080/api/hello" doc:name="Web Service Consumer"/>
    <flow name="customerFlow">
        <http:listener config-ref="HTTP_Listener_Configuration8081" path="/webService" doc:name="HTTP"/>
        <set-payload value="      &lt;web:PostPatientRequest  xmlns:web=&quot;http://Mozi.com/Webservices/&quot;&gt;
         &lt;web:requestContent&gt;#[json:]&lt;/web:requestContent&gt;
      &lt;/web:PostPatientRequest&gt;" doc:name="Set Payload" encoding="UTF-8" mimeType="application/xml"/>
        <ws:consumer config-ref="Web_Service_Consumer" operation="sayHi" doc:name="Web Service Consumer"/>
        <json:xml-to-json-transformer doc:name="XML to JSON"/>
    </flow>

至此,请求webservice发布成功!

mule发布调用webservice的更多相关文章

  1. 使用vs2010创建、发布、部署、调用 WebService

    原文地址:使用vs2010创建.发布.部署.调用 WebService作者:吴超 一 使用vs2010创建 WebService 1 打开VS2010,菜单    文件->新建->项目2 ...

  2. 发布WebService到IIS和调用WebService

    一:在项目上右键单击,选择发布,如图 二:可以单击重命名,自定义网站的名字,发布方式为:文件系统,目标路径为要发布的文件的位置,它需要放到IIS的目录下面的 三:打开IIS管理器,右键单击网站,添加网 ...

  3. Java调用IIS发布的WebService

    之前的一篇博客说了一个实例,就是用VS2005在IIS上发布WebService.今天我们来实现在Eclipse上用Java来调用昨天发布的WebService. 首先咋在浏览器中输入http://1 ...

  4. 在IIS上发布一个WebService,再发布一个网站调用这个WebService(实例)

    首先描述一下先决条件:IIS可用,VS2005可用. 好,现在开始: 首先写一个WebService并把它发布到IIS上: 在IIS上的默认网站下新建一个“虚拟目录”,取名为“webservice1” ...

  5. java程序调用xfire发布的webService服务(二)

    在上一篇的调用xfire发布的webService服务中,我只是从服务端返回了一个字符串给客户端,却没有测试从客户端传递数据给服务端.而实际应用中一般是不太可能只出现这样的应用场景的,因此我便更进一步 ...

  6. Axis 发布、调用WebService(转)

    一.JWS方法发布WebService 1.在官方网站下载axis的工程(这个等下就有用的)和源码.jar包等,下载地址是: http://www.apache.org/dyn/closer.cgi/ ...

  7. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  8. 如何调用别人发布的WebService程序

    这篇经验会告诉我们如何调用别人发布的WebService,并且需要注意的事项.现在就拿获取天气预报的接口举例,因为文中不允许有链接,所以在下文图中有WebService链接的地址. 工具/原料   V ...

  9. Spring整合CXF发布及调用WebService

    这几天终于把webService搞定,下面给大家分享一下发布webService和调用webService的方法 添加jar包 (官方下载地址:http://cxf.apache.org/downlo ...

随机推荐

  1. java编程思想之面向对象

    面向对象和面向过程 面向对象(Object Oriented),简称OO,是软件开发方法的一种,我们都知道java是基于面向对象开发的,但是说到面向对象,我们不得不提一提面向过程开发,面向过程,又称结 ...

  2. Codeforces Round #563 (Div. 2)C

    C. Ehab and a Special Coloring Problem 题目链接:http://codeforces.com/contest/1174/problem/C 题目 You're g ...

  3. 新补充 JSSSS

    条件语句 补充: var a=“hello world” a这个变量是字符串了 对于里面每一个字母来说 他是字节 里面有11个字节 字节总数用length表示 如下: 根据上面的内容咱们又发现了一个运 ...

  4. python函数之 range()

      Python range() 函数用法 python range() 函数可创建一个整数列表,一般用在 for 循环中. 函数语法 range(start, stop[, step]) 参数说明: ...

  5. 数据库root密码删除

    1 打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址   2 打开cmd命令提示符,进入上一步mysql.exe所在的文件夹.   3 输入命令  mysqld --skip-g ...

  6. java获取config下文件

    private static final String keystore="keystore.jks"; InputStream is=Thread.currentThread() ...

  7. scrapy基础知识之防止爬虫被反的几个策略::

    动态设置User-Agent(随机切换User-Agent,模拟不同用户的浏览器信息) 禁用Cookies(也就是不启用cookies middleware,不向Server发送cookies,有些网 ...

  8. 《An Attentive Survey of Attention Models》阅读笔记

    本文是对文献 <An Attentive Survey of Attention Models> 的总结,详细内容请参照原文. 引言 注意力模型现在已经成为神经网络中的一个重要概念,并已经 ...

  9. 7.30考试password

    先说地球人都看得出来的,该数列所有数都是p的斐波那契数列中所对应的数的次幂,所以一开始都以为是道水题,然而斐波那契数列增长很快,92以后就爆long long ,所以要另谋出路,于是乎向Ren_iva ...

  10. springcloud-注册中心快速构建

    1. 场景描述 springcloud提供了一整套可行的构建分布式系统的方案,使的企业/开发人员能够快速沟通分布式系统,今天快速构建下springcloud的注册中心Eureka. 2. 解决方案 2 ...