mule发布调用webservice
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=" <web:PostPatientRequest xmlns:web="http://Mozi.com/Webservices/">
<web:requestContent>#[json:]</web:requestContent>
</web:PostPatientRequest>" 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的更多相关文章
- 使用vs2010创建、发布、部署、调用 WebService
原文地址:使用vs2010创建.发布.部署.调用 WebService作者:吴超 一 使用vs2010创建 WebService 1 打开VS2010,菜单 文件->新建->项目2 ...
- 发布WebService到IIS和调用WebService
一:在项目上右键单击,选择发布,如图 二:可以单击重命名,自定义网站的名字,发布方式为:文件系统,目标路径为要发布的文件的位置,它需要放到IIS的目录下面的 三:打开IIS管理器,右键单击网站,添加网 ...
- Java调用IIS发布的WebService
之前的一篇博客说了一个实例,就是用VS2005在IIS上发布WebService.今天我们来实现在Eclipse上用Java来调用昨天发布的WebService. 首先咋在浏览器中输入http://1 ...
- 在IIS上发布一个WebService,再发布一个网站调用这个WebService(实例)
首先描述一下先决条件:IIS可用,VS2005可用. 好,现在开始: 首先写一个WebService并把它发布到IIS上: 在IIS上的默认网站下新建一个“虚拟目录”,取名为“webservice1” ...
- java程序调用xfire发布的webService服务(二)
在上一篇的调用xfire发布的webService服务中,我只是从服务端返回了一个字符串给客户端,却没有测试从客户端传递数据给服务端.而实际应用中一般是不太可能只出现这样的应用场景的,因此我便更进一步 ...
- Axis 发布、调用WebService(转)
一.JWS方法发布WebService 1.在官方网站下载axis的工程(这个等下就有用的)和源码.jar包等,下载地址是: http://www.apache.org/dyn/closer.cgi/ ...
- 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 ...
- 如何调用别人发布的WebService程序
这篇经验会告诉我们如何调用别人发布的WebService,并且需要注意的事项.现在就拿获取天气预报的接口举例,因为文中不允许有链接,所以在下文图中有WebService链接的地址. 工具/原料 V ...
- Spring整合CXF发布及调用WebService
这几天终于把webService搞定,下面给大家分享一下发布webService和调用webService的方法 添加jar包 (官方下载地址:http://cxf.apache.org/downlo ...
随机推荐
- js中新增动态属性
var cc = 'hell' var mm = { [cc](){ alert(33) } } mm.hell() 使用的就是数组形式
- Linux五种IO模型 ——Java学习笔记
本文摘自网络: 1.阻塞IO(blocking IO) 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 图1 阻塞IO 当用户进程调用了re ...
- C++ luogu1352没有上司的舞会 from_树形DP
luogu1352没有上司的舞会 分析(树形DP模板题): 没学树形DP的,看一下. 把该题抽象到一颗树中,设i的下属就是他的儿子,则有两种情况: 如果i参加,他的儿子就不能参加. 如果i不参加,他的 ...
- POJ 2887:Big String(分块)
http://poj.org/problem?id=2887 题意:给出一个字符串,还有n个询问,第一种询问是给出一个位置p和字符c,要在位置p的前面插入c(如果p超过字符串长度,自动插在最后),第二 ...
- crontab 中curl命令无法正常执行
这里所指curl无法执行Url情况是针对带参数的链接,方法体中无法获取参数的值. 比如: */7 * * * * curl http://localhost:8088/backening/sysOrd ...
- Java集合对象比对
1. 场景描述 通过java代码从外围接口中获取数据并落地,已经存在的不落地,不存在的落地,因有部分字段变化是正常的,只需比对3个字段相同即为相同. 2. 解决方案 设置定时任务(三个标签完成spri ...
- 《ElasticSearch6.x实战教程》正式推出(附图书抽奖)
经过接近1个月的时间,ElasticSearch6.x实战教程终于成册.这本实战教程小册有很多不足(甚至可能有错误),也是第一次完整推出一个系列的教程. 1年前,我开始真正接触ES,在此之前仅停留在知 ...
- Kubernetes1.15 部署 coredns
coredns.yaml文件如下所示 # __MACHINE_GENERATED_WARNING__ apiVersion: v1 kind: ServiceAccount metadata: nam ...
- STM32F4xx系列_独立看门狗配置
看门狗由内部LSI驱动,LSI是一个内部RC时钟,并不是准确的32kHz,然而看门狗对时间的要求不精确,因此可以接收: 关键字寄存器IWDG_KR: 写入0xCCCCH开启独立看门狗,此时计数器开始从 ...
- 如何进行高效的源码阅读:以Spring Cache扩展为例带你搞清楚
摘要 日常开发中,需要用到各种各样的框架来实现API.系统的构建.作为程序员,除了会使用框架还必须要了解框架工作的原理.这样可以便于我们排查问题,和自定义的扩展.那么如何去学习框架呢.通常我们通过阅读 ...