mule发布调用webservice
mule发布webservice
使用mule esb消息总线发布和调用webservice都非常精简,mule包装了所有操作,你只需要拖控件配置就可以,下面讲解mule发布:
1.下面是flow,http监听接口,CXF发布webservice,java用来引用webservice的方法。
2.xml代码如下:
<flowname="webService"><http:listenerconfig-ref="HTTP_Listener_Configuration"path="hello"doc:name="HTTP"/><cxf:jaxws-serviceserviceClass="com.test.HelloWorld"doc:name="CXF"/><componentclass="com.test.HelloWorldImpl"doc:name="Java"/></flow>
3.java代码如下:
①Impl实现类
packagecom.test;importjavax.jws.WebService;@WebService(endpointInterface="com.test.HelloWorld",serviceName="HelloWorld")publicclassHelloWorldImplimplementsHelloWorld{@OverridepublicStringsayHi(Stringtext){//TODOAuto-generatedmethodstubreturn"Hello"+text;}}
②Impl实现类
packagecom.test;importjavax.jws.WebService;@WebService(endpointInterface="com.test.HelloWorld",serviceName="HelloWorld")publicclassHelloWorldImplimplementsHelloWorld{@OverridepublicStringsayHi(Stringtext){//TODOAuto-generatedmethodstubreturn"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-configname="HTTP_Listener_Configuration8081"host="localhost"port="8081"doc:name="HTTPListenerConfiguration"/><ws:consumer-configname="Web_Service_Consumer"wsdlLocation="http://localhost:8080/api/hello?wsdl"service="HelloWorldService"port="HelloWorldPort"serviceAddress="http://localhost:8080/api/hello"doc:name="WebServiceConsumer"/><flowname="customerFlow"><http:listenerconfig-ref="HTTP_Listener_Configuration8081"path="/webService"doc:name="HTTP"/><set-payloadvalue="<web:PostPatientRequestxmlns:web="http://Mozi.com/Webservices/"><web:requestContent>#[json:]</web:requestContent></web:PostPatientRequest>"doc:name="SetPayload"encoding="UTF-8"mimeType="application/xml"/><ws:consumerconfig-ref="Web_Service_Consumer"operation="sayHi"doc:name="WebServiceConsumer"/><json:xml-to-json-transformerdoc:name="XMLtoJSON"/></flow>
至此,请求webservice发布成功!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。