您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 电子商务 > 软件工程1307班_3901130721_谭淇蔚_SOA实验3
《SOA原理与技术》实验报告项目名称实验3《MuleESB》专业班级软件工程1307班学号3901130721姓名谭淇蔚实验成绩:批阅教师:邝砾2015年12月18日中南大学软件学院实验报告课程名称SOA原理与技术实验项目名称实验3《MuleESB》学生姓名专业班级学号实验成绩日期实验学时:2每组人数:1实验类型:1(1:基础性2:综合性3:设计性4:研究性)实验要求:1(1:必修2:选修3:其它)实验类别:2(1:基础2:专业基础3:专业4:其它)一、实验目的掌握利用Mulestudio作为ESB,将一个外部的WebService集成到MuleESB当中.使用户可以通过调用暴露在外面的Muleesb的服务端口来调用部署在其它容器上的WebService1.1、掌握Mulestudio基本控件的使用1.2、掌握利用Mulestudio组件,实现外部WebService服务集成二、实验内容2.1、掌握在Mulestudio的基本控件的用法具体内容:使用Mulestudio创建并发布一个简单的服务(例如:发布sayHello服务)2.2、掌握Mulestudio集成WebService服务具体内容:用soap组件实现中国邮政编码查询代理服务的调用,通过file组件将结果保存到txt文件中。(中国邮政编码服务)三、实验要求:要求每个学生独立完成实验任务。四、实验报告1.实验结果与分析2.1、掌握在Mulestudio的基本控件的用法具体内容:使用Mulestudio创建并发布一个简单的服务(例如:发布sayHello服务)(1)创建mudeStudio工程点finish目录大纲如下:(2)创建sayHello的接口等服务方法这是IHelloWorld接口的源码:packagetraining;importjavax.jws.WebService;@WebServicepublicinterfaceIHelloWorld{publicStringsayHello(Stringname);}这是HelloWorld的源码packagetraining;importjavax.ws.rs.Produces;publicclassHelloWorldimplementsIHelloWorld{@Produces(application/json)publicStringsayHello(Stringname){//TODOAuto-generatedmethodstubreturnhello+name;}}(3)创建服务流流程大概如此配置HTTP,双击后点击Java组件或双击(4)运行服务运行会报错,出错情况解决方案已经在心得体会处解决。解决上面错误后,出现版本错误然后按照心得体会里面的解决方案,接着修改好后,再运行。显示运行成功。然后打开浏览器输入下面是生成的WSDL文件内容?xmlversion=1.0encoding=UTF-8?wsdl:definitionsname=IHelloWorldServicetargetNamespace=:ns1=:soap=:tns=:wsdl=:xsd=:typesxs:schemaelementFormDefault=unqualifiedtargetNamespace==1.0xmlns:tns=:xs=:elementname=sayHellotype=tns:sayHello/xs:elementname=sayHelloResponsetype=tns:sayHelloResponse/xs:complexTypename=sayHelloxs:sequencexs:elementminOccurs=0name=arg0type=xs:string//xs:sequence/xs:complexTypexs:complexTypename=sayHelloResponsexs:sequencexs:elementminOccurs=0name=returntype=xs:string//xs:sequence/xs:complexType/xs:schema/wsdl:typeswsdl:messagename=sayHelloResponsewsdl:partelement=tns:sayHelloResponsename=parameters/wsdl:part/wsdl:messagewsdl:messagename=sayHellowsdl:partelement=tns:sayHelloname=parameters/wsdl:part/wsdl:messagewsdl:portTypename=IHelloWorldwsdl:operationname=sayHellowsdl:inputmessage=tns:sayHelloname=sayHello/wsdl:inputwsdl:outputmessage=tns:sayHelloResponsename=sayHelloResponse/wsdl:output/wsdl:operation/wsdl:portTypewsdl:bindingname=IHelloWorldServiceSoapBindingtype=tns:IHelloWorldsoap:bindingstyle=documenttransport=:operationname=sayHellosoap:operationsoapAction=style=document/wsdl:inputname=sayHellosoap:bodyuse=literal//wsdl:inputwsdl:outputname=sayHelloResponsesoap:bodyuse=literal//wsdl:output/wsdl:operation/wsdl:bindingwsdl:servicename=IHelloWorldServicewsdl:portbinding=tns:IHelloWorldServiceSoapBindingname=IHelloWorldPortsoap:addresslocation=:port/wsdl:service/wsdl:definitions接着打开SOAPUI创建一个SOAP项目成功输出hellotqw实验内容一,结束。2.2(更换题目)查询IP的那个服务,不要用代理的方法,然后把结果保存到txt中创建一个工程1)拖入流(主流)2)加入HTTP组件3)设置HTTP组件的属性4)创建子流5)在子流中添加SOAP组件6)点击SOAP组件的属性,设置SOAP,点击GeneratefromWSDL7)输入URL和Package的名称,我设置为training8)生成侧边的一系列代码9)点击SOAP控件,把JAX-WSService变成JAX-WSclient10)查看SOAPUI可以知道端口函数和信息11)修改SOAP组件的属性如下,把serviceclass的内容删除掉:12)定义输出单,添加HTTP组件13)修改HTTP组件的一些属性,点击HTTP选择Adanced属性Address的输入值参考wsdl文件此处输入address的值为:)然后把General中的host和port都删除掉,如下:15)加入SetPayload组件,结构如下图所示:16)设置SetPayload的值17)使用flowreference组件把两个流结合起来,如下图所示:18)点击flowreference设置引用19)添加Objecttoxml的组件,结构如下所示:20)添加file组件加完后如下所示:21)设置file组件的值22)运行结果23)Txt为:24)txt里面的内容是:training.IPInformationcountryUnitedStates/countryorganization/organizationlatitude38.0/latitudelongitude-97.0/longitudeareaCode0/areaCodetimeZone/timeZonehasDaylightSavingsfalse/hasDaylightSavingscertainty90/certaintyregionName/regionNamecountryCodeUS/countryCode/training.IPInformation2.心得体会错误:1.运行时报错原因是接口没有配置,即SOAP没有把IHelloWorld包括。在Serviceclass设置解决:解决:2.版本错误1)由于提供的muleStudio不支持java1.8版本2)所以需要更换3)更换步骤很简单4)首先先去官网下载1.7版本的java5)然后进行版本的更换,版本更换如下先在应用程序上,卸载1.8的版本然后在系统环境变量配上1.7的java版本的路径6)然后运行时还得配置一下环境7)点击windows下面的Preference修改为:心得学会使用了mulestudio画mflow文件在学习过程中,让我受益的是,原先做实验一无法成功的SOAP,可以通过mule做出来。用SOAPUI可以进行检测非常值得一提的是,mule有很多组件,每一个组件都有一定的设置,在学习过程中,我们学会了调用webservice的很多方式,其中mule是以java的类图,不用stub代理的模式进行的,也不是通过http访问协议而获取到的,而是通过了一系列组件,通过流程而进行的。我在这个实验中还学会了如何使用SOAPUI去检测webservice如何进行调用和发送请求。一款很实用的软件。
本文标题:软件工程1307班_3901130721_谭淇蔚_SOA实验3
链接地址:https://www.777doc.com/doc-1990798 .html