Myeclipse开发WebService接口服务端和客户端
MyEclipse下开发Web_Service(Axis2)
如何将基于Axis2的Web Service集成到自己的webapp本文主要描述如何使用Apache开源项目Axis提供的API来实现Web Services并集成到我们的应用程序当中。
本文的读者应有JAVA web 应用开发基础。
应该具有看过WSDL,SOAP,XML等的基本规范。
熟悉Eclipse+MyEclipse开发环境。
一、环境准备使用Axis来开发Web services 需要准备 web 服务器,Axis API。
本文使用的Web container 是Tomcat5.5, Axis API 采用版本2。
1.1软件下载准备Tomcat下载地址:/download-55.cgi#5.5.20Axis标准包:/ws/axis2/1_5_1/axis2-1.5.1-bin.zipAxis War包:/ws/axis2/1_5_1/axis2-1.5.1-war.zip Eclipse+MyEclipse:可以到官方网站下载(本文为3.3+6.5GA)1.2安装A.首先搭建开发环境,需要将下载到的Eclipse解压缩到一个目录。
B.安装MyEclipse6.5GA。
然后启动MyEclipse。
C.下面开始搭建Web Services的部署环境。
将下载的tomcat包解压缩到一个目录。
完成web container的安装。
E.将axis2.war包拷贝到tomcat安装目录下的webapps目录中。
F.启动Tomcat(windows 下为TOMCA_HOME/bin中的startup.bat;Linux,unix环境为startup.sh文件),打开浏览器输入并访问:http://ip:port/axis2来查看。
(如果没有进行配臵文件的修改此地址应该为http://localhost:8080/axis2),如果能看到下面的页面则说明已经安装完成。
二、Quick Start环境准备好后,先从一个简单的例子开始。
myeclipse service方法
myeclipse service方法(实用版3篇)篇1 目录1.MyEclipse 简介2.MyEclipse Service 方法的作用3.MyEclipse Service 方法的分类4.MyEclipse Service 方法的使用示例5.总结篇1正文1.MyEclipse 简介MyEclipse 是一款流行的 Java 集成开发环境 (IDE),它为开发人员提供了一系列强大的工具,以帮助他们更高效地开发和维护 Java 应用程序。
MyEclipse 基于 Eclipse 框架,并添加了许多功能强大的插件,如数据库连接、Web 开发、UML 建模等。
2.MyEclipse Service 方法的作用在 MyEclipse 中,Service 方法是指一系列用于执行特定任务的API(应用程序编程接口)。
这些方法可以执行各种操作,如文件操作、编辑器操作、调试操作等。
Service 方法的主要作用是为开发人员提供一种快速、简便的方式来执行常见的任务,从而提高开发效率。
3.MyEclipse Service 方法的分类MyEclipse Service 方法可以分为以下几类:- 文件操作:包括打开文件、保存文件、关闭文件等。
- 编辑器操作:包括光标定位、文本选择、复制粘贴等。
- 项目操作:包括导入项目、导出项目、删除项目等。
- 调试操作:包括启动调试、停止调试、查看变量值等。
- UML 操作:包括创建 UML 图、编辑 UML 图、导出 UML 图等。
- 数据库操作:包括连接数据库、执行 SQL 语句、查看数据库表结构等。
4.MyEclipse Service 方法的使用示例以打开一个 Java 文件为例,可以使用以下 Service 方法:```java// 导入 MyEclipse APIimport org.myeclipse.jdt.ui.JDTUIFactory;import org.myeclipse.jdt.ui.JDTUIPlugin;// 创建一个 JDTUIFactory 实例JDTUIFactory factory = new JDTUIFactory();// 使用 JDTUIFactory 打开 Java 文件JDTUIPlugin plugin = factory.create(JDTUIPlugin.ID);plugin.openFile("path/to/your/java/file.java");```5.总结MyEclipse Service 方法为开发人员提供了一种快速、简便的方式来执行常见的任务,如文件操作、编辑器操作、调试操作等。
MyEclipse开发一个webservice接口
MyEclipse开发⼀个webservice接⼝
⼀直以来对于接⼝这个东西都很好奇,各种客户也⼀直在说那个什么什么数据我们提供给你们⼀个接⼝就好了,结果还是不是很明⽩.于是乎就有了下⾯的⼩故事,接下来我们就进⼊正⽂吧
---⼤概可以分为这样的步骤
1:新建webservice project,Framework版本选择JAX-WS
2:编写测试类,写⼀个简单的AddUser⽅法
3:在webservice project 上⾯ new webservice
确定后,在project和接⼝主类同⼀⽬录会⽣成⼀个Delegate.Java
4:加⼊JAX-WS-2.1 ⽀持包
5:启动tomcat,发布webservice project
从上⾯可以看到接⼝返回了⼀个定义好的XML格式的⽂件,⾥⾯正是我们接⼝类⾥⾯写的对象adduser通过URL可以访问接⼝并且返回XML格式则说明接⼝开发完毕。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
MyEclipse开发webservice的几个问题
MyEclipse开发webservice的几个问题最近学着用MyEclipse开发webservice服务。
自己做了个例子,这个例子既是webservice服务端,同时又是另一个webservice的客户端,原因是双方需要互相调用。
期间遇到了几个问题。
问题一:如果用JDK1.4运行没问题,如果用JDK1.5,最后运行时报错:javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found。
原因:是由tomcat 里D:\Program Files\Apache Software Foundation\Tomcat 5.0\common\endorsed下的两个有关xml的jar文件和JDK1.5里的xml解析器冲突造成的,endorsed下有两个jar包:xercesImpl.jar和xml-apis.jar,其中的类 javax.xml.transform.TransformerFactory 与jdk1.5中的类,org.apache.xalan.processor.TransformerFactoryImpl其实是同一个类。
解决办法1:下载xalan.jar包,下载地址/Code/JarDownload/xalan.jar.zip解决办法2:将xml-apis.jar移出endorsed文件夹。
问题二:如果我将新建的HelloWorld同时作为另一个webservice的客户端,可以将另一个客户端的wsdl地址在Jbuilder中自动生成客户端,然后拷贝到HelloWorld中。
由于Jbuilder中自动生成客户端中调用了一些方法,因此需要引用如下几个包:axis.jar、commons-discovery.jar、jaxrpc.jar、junit.jar 和unittest.jar。
使用MYECLIPSE创建WEBSERVICE实例
使用Myeclipse8.5开发基于JAX-WS的Web service实例本文为Web service开发入门篇,主要介绍在Myeclipse8.5环境下开发Web service的服务程序和客户端程序的基本流程。
在Weblogic10.3.4中部署Web service服务。
开发环境如下:JAVA IDE:Myeclipse8.5Web server:Weblogic10.3.4开发Web service服务程序,需要了解以下相关内容,WSDL,SOAP,XML。
这些是组成Web service的基础。
在Myeclipse8.5下开发Web service程序,目前系统支持的开发框架有3个,JAX-WS,REST(JAX-RS),XFire。
其中系统建议不要使用XFire的框架,可能是要被淘汰了(deprecated)。
我们选择的是JAX-WS框架。
这个需要Java EE5.0的支持。
所以后面选择Web server容器的时候,是要能支持Java EE5.0的才可以部署成功。
(一)Web service服务端开发1.新建一个Web service project,菜单File->New->Web Service Project,在上面的框中输入项目名myWebSvc,框架选择JAX-WS,J2EE只能选择Java EE5.0。
Finish完成项目新建。
2.新建一个Java Bean,就是一个普通的Class,File–>New->Class,包名输入com.myweb.ws,类名输入SayHello,Finish结束新建类。
在类中加入一个方法sayHaha如下,package com.myweb.ws;public class SayHello{public String sayHaha(String request){return"Haha,"+request+",O.K.!";}}3.新建一个Web service,菜单File–>New->Other->MyEclipse->Web Services-> Web Service,Next进入下一步,选择Create web service from java class(Bottom-up scenario),Next进入下一步,Java class输入com.myweb.ws.SayHello,选中Generate WSDL in project选项,Finish结束新建。
WebService入门
myEclipse开发webservice入门(2007-06-29 11:09:52)转载分类:技术参考说明:myeclipse5.1提供webservice开发插件,采用xfire引擎,另有apache的引擎Axis,两者实现方式略有差异,xfire的插件包在myEclipse安装目录MyEclipse\eclipse\plugins\com.genuitec.eclipse.ws.xfire_5.1.0下.首先:创建web service project1.新建project,选择web service project2.填写project name 和 web root folder,二者名字最好一致-->next3.默认显示需要添加的XFireServlet和services.xml,保持默认值即可-->next4.选择需要添加的包,xFire 1.2 Core Library-<MyEclipse Library>,该包默认选择.如果要在工程中开发一个客户端应用, XFire HTTP Client Libraries也是需要的.-->finish,web service project创建完成5.说明,web service project 的目录结构与web project 类似.多了一级WebServices,及该目录下的services.xml文件.还有多引用xFire 1.2 Core Libararies包.services.xml 用来注册添加的webservice其次:创建web service 实现类1.选择上述建好工程的WebServices,右键单击,依次选择new-->other-->MyEclipse-->Web Services-->Web Service-->next2.选择webservice部署的web service project(若多个web service project的话),勾选Create new Java Bean-->next3.填写如下信息:Web Service name:创建的web service 名字,即web service 类名Java Package:选择或新建web service 类所在包名将自动创建两个类,一个为类名前加I命名的接口,另一个是类名后加Impl命名的实现类,两个类的类名可修改.其它信息保持默认值即可-->finish4.创建完成后,自动将配置信息保存到services.xml文件里.5.可以根据需要修改生成的两个类,添加功能实现方法6.重复1-5可以在一个web service project工程里添加任意多个web service最后:调用web service1.如果要直接在当前应用下添加测试类调用web service的话,首先要添加调用包.方法:右键工程-->选择property-->Java Build Path-->Libraries-->Add Libraries-->MyEclipse Libraries-->XFire 1.2 HTTP Client Libraries2.新建一测试类,添加如下代码/**远程调用*/package com.capinfo.dao;import .MalformedURLException;import org.apache.axis.client.Call;import org.apache.axis.client.Service;import com.capinfo.vo.PersonVo;public class TranslateDaoImpl {/*** 调用service方法,实现翻译功能* @param originalText* @return*/public String translate(String originalText) {String translateText ="";try {/**TranslateWebService是webservice在services.xml注册的名字*/String endpoint ="http://localhost:8080/webservice_test/services/TranslateWebService"; Service service = new Service();Call call = (Call) service.createCall();call.setTargetEndpointAddress(new .URL(endpoint));/** 调用service的方法名*/call.setOperationName("translate");/** invoke方法的参数是Object数组,该数组元素个数与方法参数一致*/translateText= (String) call.invoke(new Object[] {originalText}); }catch (Exception e) {}return translateText;}}/**本地测试类调用的话,如下实现代码即可*/public static void main(String[] args) {// TODO Auto-generated method stubService srvcModel = newObjectServiceFactory().create(ITranslateWebService.class);XFireProxyFactory factory =new XFireProxyFactory(XFireFactory.newInstance().getXFire());String helloWorldURL ="http://localhost:8080/webservice_test/services/TranslateWebService";try{ITranslateWebService srvc = (ITranslateWebService)factory.create(srvcModel, helloWorldURL);String result = srvc.translate("hello world ljm");System.out.print(result);} catch (MalformedURLException e){e.printStackTrace();}}。
MyEclipse 开发Web Service步骤
MyEclipse 开发Web Service步骤一、创建web service服务:1.新建一个web项目.2.在项目中增加Web Services capabilities.所有的操作都按默认即可(前两个步骤也可以通过直接选择新建web service项目,其他选项同上,如下图)LoginService接口:代码如下:LoginService.javapackage service;/*** 登录验证服务的接口* @author Administrator**/public interface LoginService {/*** 登录验证的方法* @param name* @param pass* @return*/public boolean checkLogin (String name, String pass); }LoginServiceImpl接口实现类:LoginServiceImpl.javapackage service.impl;import service.LoginService;public class LoginServiceImpl implements LoginService {/* (non-Javadoc)* @see service.LoginService#checkLogin(ng.String, ng.String) */public boolean checkLogin(String name, String pass) {if(name.equals("accp") && pass.equals("accp")){return true;}else{return false;}}}4.新建一个web Service填写一个Web Service name 并选择先前创建的接口&实现类,单击finish完成。
Myeclipse开发WebService接口服务端和客户端
查看了网上的各类用Java开发WebService接口的方法,有些麻烦而且行不通,自己实践后,将实践过程记录如下,以备以后之用。
一、服务端发布WebService接口1、在Myeclipse中,选择File->new->Web Service Project,然后输入项目名称,框中内容按如下所示选择即可,然后点击next。
2.点击next后,出现如下画面:3、再点击next,勾选两个框。
4、点击2次next后出现如下界面,勾选所有框5、点击Finish完成后。
在该项目上的Java Build Path,选择Libraries标签,点击Add Libirary,在弹出框中,选择MyEclipse Library,如下图所示:6、点击next后,在弹出框中选择JAX-WS 2.1 Libraries,并点击Finish,检查Libraries标签中是否已经添加上了刚添加的Lib7、在下面这个页面上全部勾选:8、在TestServiceDemo/src目录下,新建如下图结构的类:其中IServiceHello类为接口,ServiceHelloImpl类为实现,具体代码如下:IServiceHello类:package com.mf5.app.service;public interface IServiceHellopublic String sayHello();public String sayHelloName(String name);}ServiceHelloImpl类:package com.mf5.app.serviceimpl;import javax.jws.WebMethod;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import com.mf5.app.service.IServiceHello;@WebService(targetNamespace="http://demo.webservice",name="Hello")@SOAPBinding(style=SOAPBinding.Style.RPC)public class ServiceHelloImpl implements IServiceHello{public final String str = "WebService服务器返回消息...";@WebMethodpublic String sayHello(){return str+"Hello!";}@WebMethodpublic String sayHelloName(String name){return str+name;}}9、在WEB-INF目录下,新建一个文件,名称为:sun-jaxws.xm,其中内容如下:<?xml version="1.0" encoding="UTF-8"?><endpoints xmlns="/xml/ns/jax-ws/ri/runtime" version="2.0"><endpoint name="IServiceHello"implementation="com.mf5.app.serviceimpl.ServiceHelloImpl"url-pattern="/testservice"></endpoint></endpoints>10、在web.xml文件中,在<display-name>TestServiceDemo</display-name> 下面添加如下代码:注意的是,在sun-jaxws.xm中的url-pattern的值与web.xml中的servlet-mapping中映射的url-pattern的值必须是一样的。
开发webservice的基本步骤
开发webservice的基本步骤为1、编写服务器端,要点有①导入WebService包和WebMethod包import javax.jws.WebService;import javax.jws.WebMethod;②实现的服务类前加@WebService符号③为了代码清晰,类提供的公开方法前加@WebMethod符号,这个不写对编译也没影响,2、编译服务器端,要点为①javac命令的classpath选项中要有javaee.jar的路径,如javac -classpath d:/Sun/SDK/lib/javaee.jar -d ./build src/endpoint/Hello.java②用wsgen命令生成wsdl文件.③将服务器端打包注意如果是sun的服务器,那么把service类直接编译到javaee5安装目录\domains\domain1\autodeploy 下,可以自动完成②和③的工作。
我们介绍的sun自带的入门脚本就是这么做的。
3、在客户端机器上自动生成stub类,要点为①客户机上必须也装有jdk和javaee5②用wsimport工具将服务器传过来的wsdl文件转换成本地的stub类4、编写客户端调用代码,要点:①导入WebServiceRef包import javax.xml.ws.WebServiceRef;②导入本地生成的stub类,如import endpoint.HelloService;import endpoint.Hello;③指明服务器的wsdl路径@WebServiceRef(wsdlLocation="http://localhost:8080/myhello/HelloService?WSDL")④声明一个静态的service对象static HelloService service;⑤对要调用的远程方法声明一个代理对象,通过代理来调用真正的远程方法Hello port = service.getHelloPort();String ret = port.getHello(System.getProperty(""));5、编译客户端调用程序,注意classpath参数中要有①stub类的路径②javaee.jar的路径③appserv-ws.jar的路径6、用appclient执行客户端程序,要点为①进入到客户端程序的上级目录②把APPCPATH的值设置为当前目录" . "③appclient 的第一个参数为客户端程序名,后面的参数是传给客户端程序本身的命令行参数。
WebService的编写和调用
编写、发布、调用编写新建一个web 项目,为项目添加Hibernate功能。
打开MyEclipse Database Explorer,选择数据库和相关的表,运行反向工程,生成相关的实体和DAO。
新建包ws,就可以开始编写服务了。
在类中只需要编写标记为public的方法,具体的和普通的方法一样,同时也可以在这些方法中使用DAO对已经封装好的数据对象进行操作。
发布1、首先编译打包,把所有的类编译成的class文件,包括POJO,dao,common,service里的类(带包名)和META-INF(里面添加services.xml)以及lib用zip方式打包成aar压缩文件,复制到tomcat\webapp\axis2\WEB-INF\services目录下。
2、将所有Hibernate框架依赖的jar包复制到tomcat\webapp\axis2\WEB-INF\lib目录下,包含hibernate的jar包和mysql连接JDBC的jar。
3、将所有bean文件编译成classes文件即POJO里的类(包括*.hbm.xml文件和hibernate.cfg.xml文件),复制到axis2\WEB-INF\classes目录下。
调用Java方式新建Dynamic Web Project,在其中新建web service client,利用wsdl链接来找到相关方法。
其中Server选:Tomcat 6 ,runtime选Axis2,Client Project就选刚才建立的。
点finish。
这时就会发现其中出现了这个服务类的Stub和Callback Handler。
这是就可以编写文件来调用了。
首先生成桩:UserServiceStub stub =new UserServiceStub() ;然后需要参数的方法首先要实例化,设置相关参数的值:UserServiceStub.Login login =new UserServiceStub.Login();login.setUsername("admin");//. . .boolean result= stub.login(login).get_return();而不需要参数的方法就可以直接调用,如:String role = stub.getUserRole().get_return();自动生成stub遇到的问题Axis2 Codegen Wizard 1.3.0 InvocationTargetException错误的解决Axis2_Codegen_Wizard_1.3.0 和Axis2_Service_Archiver_1.3.0, 是当前能够找到的最新版本. 将二个插件解压成文件夹拷入Eclipse插件目录下后,正常启动.使用Axis2_Codegen_Wizard时出现问题,点击finish时,出现ng.reflect.InvocationTargetException异常解决方法:axis2-1.4.1-war\axis2\WEB-INF\lib目录下,复制backport-util-concurrent-3.1.jar和geronimo-stax-api_1.0_spec-1.0.1.jar两个文件Axis2_Codegen_Wizard_1.3.0\lib下,同时要编辑Axis2_Codegen_Wizard_1.3.0下的plugin.xml,将这两个文件添加进去<library name="lib/backport-util-concurrent-3.1.jar"> <export name="*"/></library><library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar"><export name="*"/></library>插件即可正常生成代码.使用Axis2工具将wsdl文件生成WebService客户端(命令行形式)在命令提示符转到Axis2的安装目录:cd E:\程依\安装软件\axis2-1.5\axis2-1.5\bin执行以下命令,将会生成对应的WebService的处理类wsdl2java.bat -urihttp://localhost:8080/axis2/services/selectcourse?wsdl -o F:\other -p iss.servicehttp://localhost:8080/axis2/services/servicetwo?wsdl,代表WSDL文件的地址iss.service 代表生成的类中的包路径F:\other 代表生成后的java文件存放的路径。
webservice接口的开发和调用
webservice接⼝的开发和调⽤⼀、开发webservice接⼝的⽅式1、使⽤jdk开发2、使⽤第三⽅⼯具,如cxf、shiro等⼆、使⽤jdk开发webservice接⼝以及调⽤⾸先定义⼀个天⽓预报的接⼝,Weather@WebServicepublic interface Weather {String queryWeather();}定义⼀个实现类,实现该接⼝@WebServicepublic class WeatherImpl implements Weather{public String queryWeather() {return "今⽇天⽓为晴,偏北风⼆到三级";}}写⼀个普通的类,使其继承⾃spring的上下⽂监听器,并在初始化⽅法中发布接⼝,这样在容器启动时⾃动会发布public class MyListener extends ContextLoaderListener{public void contextInitialized(ServletContextEvent event) {String address="http://localhost:8080/weather";Endpoint.publish(address, new WeatherImpl());super.contextInitialized(event);}}在web容器中设置该监听器<listener><listener-class>springframe.listener.MyListener</listener-class></listener>启动容器(如果启动过程中报错:出现类似Wrapper class webservice.jaxws.SayHi is not found. Have you run APT to generate them?表⽰发布成功。
eclipse根据wsdl创建webservice服务端
Eclipse根据wsdl创建webservice服务端1、在eclipse中创建一个动态web项目在WebContent下new一个folder:wsdl将wsdl文件放到wsdl文件夹下2、new一个webservice然后点击finish之后会生成类似的类Webservice方法实现在Impl类中,只需在此类中实现相关方法即可3、如果项目有第三方依赖包则需要将依赖包放到WebContent/WEB-INF/lib文件夹中在下面所示的目录中需要添加web-config.wsdd文件在web-config.wsdd文件中有如下所示的参数指向方法实现类4、接口完成后右键项目然后run on server在网页上测试是否发布成功地址一般为:http://localhost:8080/项目名称/services/指定的名称?wsdl可通过http://localhost:8080/项目名称/services查看如果要测试方法则使用http://localhost:8080/WebSer/services/ServiceSoap?method=GenRandom类似路径路径在wsdl文件最下边:命名空间与包名相反在web-config.wsdd中设定发布的服务名5、测试完成后将war包导出即可发布附录:web-config.wsdd<ns1:deployment xmlns="/axis/wsdd/"xmlns:java="h ttp:///axis/wsdd/providers/java"xmlns:ns1="http://xml. /axis/wsdd/"><ns1:globalConfiguration><ns1:parameter name="sendMultiRefs"value="true"/><ns1:parameter name="disablePrettyXML"value="true"/><ns1:parameter name="adminPassword"value="admin"/><ns1:parameter name="attachments.Directory"value="C:\Users\Leung\work space\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps \SUREWSDHCPort\WEB-INF\attachments"/><ns1:parameter name="dotNetSoapEncFix"value="true"/><ns1:parameter name="enableNamespacePrefixOptimization"value="false"/ ><ns1:parameter name="sendXMLDeclaration"value="true"/><ns1:parameter name="sendXsiTypes"value="true"/><ns1:parameter name="attachments.implementation"value="org.apache.axi s.attachments.AttachmentsImpl"/><ns1:requestFlow><ns1:handler type="java:org.apache.axis.handlers.JWSHandler"><ns1:parameter name="scope"value="session"/></ns1:handler><ns1:handler type="java:org.apache.axis.handlers.JWSHandler"><ns1:parameter name="scope"value="request"/><ns1:parameter name="extension"value=".jwr"/></ns1:handler></ns1:requestFlow></ns1:globalConfiguration><ns1:handler name="URLMapper"type="java:org.apache.axis.handlers.http .URLMapper"/><ns1:handler name="Authenticate"type="java:org.apache.axis.handlers.S impleAuthenticationHandler"/><ns1:handler name="LocalResponder"type="java:org.apache.axis.transpor t.local.LocalResponder"/><ns1:service name="AdminService"provider="java:MSG"><ns1:parameter name="allowedMethods"value="AdminService"/><ns1:parameter name="enableRemoteAdmin"value="false"/><ns1:parameter name="className"value="org.apache.axis.utils.Admin"/> <ns1:namespace>/axis/wsdd/</ns1:namespace></ns1:service><ns1:service name="Version"provider="java:RPC"><ns1:parameter name="allowedMethods"value="getVersion"/><ns1:parameter name="className"value="org.apache.axis.Version"/></ns1:service><ns1:service name="ServiceSoap"provider="java:RPC"style="wrapped"use= "literal"><ns1:parameter name="allowedMethods"value="*"/><ns1:parameter name="typeMappingVersion"value="1.2"/><ns1:parameter name="wsdlPortType"value="ServiceSoap"/><ns1:parameter name="className"value="net.suresec.www.ServiceSoapSoap BindingSkeleton"/><ns1:parameter name="wsdlServicePort"value="ServiceSoap"/><ns1:parameter name="schemaQualified"value="/"/ ><ns1:parameter name="wsdlTargetNamespace"value="http://www.suresec.ne t/"/><ns1:parameter name="wsdlServiceElement"value="Service"/></ns1:service><ns1:transport name="http"><ns1:requestFlow><ns1:handler type="URLMapper"/><ns1:handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler "/></ns1:requestFlow><ns1:parameter name="qs:list"value="org.apache.axis.transport.http.QS ListHandler"/><ns1:parameter name="qs:wsdl"value="org.apache.axis.transport.http.QS WSDLHandler"/><ns1:parameter name="qs.list"value="org.apache.axis.transport.http.QS ListHandler"/><ns1:parameter name="qs.method"value="org.apache.axis.transport.http. QSMethodHandler"/><ns1:parameter name="qs:method"value="org.apache.axis.transport.http. QSMethodHandler"/><ns1:parameter name="qs.wsdl"value="org.apache.axis.transport.http.QS WSDLHandler"/></ns1:transport><ns1:transport name="local"><ns1:responseFlow><ns1:handler type="LocalResponder"/></ns1:responseFlow></ns1:transport></ns1:deployment>。
webservices客户端开发-java
WebService客户端开发手册1 概述本文描述Web Service接口客户端的开发流程。
2 开发环境需求2.1服务器端软件环境3 开发流程3.1生成客户端代码1.用Eclipse自动生成webservices客户端的插件,根据所提供的wsdl文件生成客户端代码。
打开MyEclipse选择File->New->Other-Web Services下的Web Service Client,如下图:2.进入下一界面,输入wsdl文件地址(测试用的地址http://10.110.0.202:8800/hljwebservice/services/SynchronizeOrganizationService?wsdl):3.选择一个Client Project(需为web project),4.点击下一步:5.点击完成后,在src下生成五个客户端文件SynchronizeOrganizationService.java SynchronizeOrganizationServiceHttpBindingStub.java SynchronizeOrganizationServiceLocator.java SynchronizeOrganizationServicePortType.java SynchronizeOrganizationServicePortTypeProxy.java3.2编写客户端调用自己编写客户端调用程序,例子如下:import .MalformedURLException;import java.rmi.RemoteException;import java.util.ArrayList;import javax.xml.rpc.ServiceException;importorg.codehaus.xfire.SynchronizeOrganizationService.SynchronizeOrganiza tionServiceLocator;importorg.codehaus.xfire.SynchronizeOrganizationService.SynchronizeOrganiza tionServicePortType;public class Client {/***这个方法调用web服务并返回服务执行的结果*@param*@return*@throws ServiceException*@throws RemoteException*@throws MalformedURLException*/public static String callServer() throws ServiceException, RemoteException, MalformedURLException{SynchronizeOrganizationServiceLocator service = new SynchronizeOrganizationServiceLocator();SynchronizeOrganizationServicePortTypeport=service.getSynchronizeOrganizationServiceHttpPort();String[][] inputParas= new String[2][2];inputParas[0][0] = "aaa";inputParas[0][1] = "bbb";inputParas[1][0] = "ccc";inputParas[1][1] = "ddd";String aa = port.modifyOrgaAuthService(inputParas);System.out.println("aa======"+aa);return aa;}/***//***@param args*@throws ServiceException*@throws RemoteException*@throws MalformedURLException*/public static void main(String[] args) throws RemoteException, ServiceException, MalformedURLException {// TODO Auto-generated method stubClient call = new Client();System.out.println(call.callServer());}}。
MyEclipse开发和测试Web Service实例详解
使用MyEclipse Web Service来迅速开发和测试一个HelloWorld Web Service,其中包括:1. 介绍了MyEclipse Web Services的基本概念2. 创建一个MyEclipse Web Services工程3. 创建一个简单的HelloWorld Web Service4. 在Web容器中,如Tomcat 5中部署Web Service5. 使用Web Services Explorer来测试部署的Web ServicesXFire Java SOAP框架概述MyEclipse Web Services是建立在XFire Java SOAP框架和工具基础上的, XFire 是一款开源的Java SOAP框架。
它拥有一个轻量级的信息处理模块,通过STAX 来与SOAP信息相结合。
提供了一个工作在Web Services下的简单API,支持POJO 和schema开发. XFire支持 Web Services standards,Spring 整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP, In-memory 传输协议.一. 创建Web Service工程在MyEclipse 5.0中引入了一个新的工程类型即Web Service工程,该工程扩展了MyEclipse Web Project来支持额外的Web Service配置,开发和部署.本部分将使用Web Services Project wizard来创建和配置一个新的Web Service Projects Web Service Wizard将完成下列的动作:创建MyEclipse J2EE Web Project在工程中的web.xml文件中配置XFire Servlet创建XFire services.xml配置文件在工程中的构建路径中添加MyEclipse-XFire类库添加一个指定的MyEclipse web project builder到.projects文件,以便部署services.xml文件到它合适的位置.如: /WEB-INF/classes/META-INF/xfire/运行Web Service Project Wizard该向导包括三个页面, Page-1搜集Web Project配置细节, Page-2搜集XFire 配置细节, Page-3在新建的构建路径中配置XFire类库1. 执行Web Services Project Wizard.1). 选择File>New>Other2). 扩展MyEclipse种类按照J2EE工程的种类3). 选择Web Services Project然后点击Next,如图所示Figure-1: New Project Wizard Launcher2. 添加Project Name,点击NextFigure-2: Page-2, Collecting web configuration details3.在向导的Page-2中添加XFire servlet和service.xml文件的配置信息,按照默认的值即可.Figure-3: XFire servlet and services.xml configuration4.在向导的Page-3中选择类库添加到工程的构建路径中,其中XFire Core Library是需要的,如果要在工程中开发一个客户端应用, XFire HTTP Client Libraries也是需要的.Figure-4: Selecting XFire libraries to add to new web service project buildpath5选择Finish完成Web Service工程的创建过程Figure-5,显示了新创建的HelloWorld Web Service工程的组织结构,Web Service 工程和一个标准的MyEclipse Web工程很相似. XFire Web Service配置元素如图红色区域显示:Figure-5: Web services artifacts of a new web service project二. MyEclipse开发之创建Web Service-Code-first Strategy在这部分将用 MyEclipse Web Service Wizard并通过使用Code-first Strategy 来创建一个HelloWorldService示例.1.执行MyEclipse Web Service Wizard,有两种方法来执行MyEclipse Web Service Wizard方法1.从MyEclipse perspective toolbar中来执行向导在打开的Web Service Wizard上的workbench上来选择新Web Service按钮方法2.从workbench menubar执行向导从workbench menubar选择: File>New>Other>MyEclipse>Web ServiceFigure-6: Launching Web Service Wizard2.在Page-1选择HelloWorld 工程并选择Create web service from Java bean3.选择Next到Page-24.填写Web Service的名字HelloWorldService5.选择Java Source folder或者选择New按钮来新建一个source folder6.填写Java package或者通过选择Browse按钮来选择一个已经存在的package.也可以选择New按钮来新建一个Java package注意:对Service接口和Service执行的类的默认值是基于所填入Web Service名字来产生的.7.选择Next来初始化Web Service的创建过程Figure-8: Page-2 of new web service wizard.该向导产生了IHelloWorldService Java接口和HelloWorldServiceImpl Java 类.并且在services.xml配置文件中创建了一个实体(如图所示),注意到example(String message)方法在接口类中产生,当Web Service部署后作为一个测试操作.Figure-9: Newly created HelloWorld interface and implementation class 三. MyEclipse开发之部署Web Service ProjectWeb Service可以部署在任何MyEclipse支持的J2EE应用服务器上,该部分将演示如何在Tomcat 5 Web容器上部署HelloWorld工程.3.1部署HelloWorld Web Service ProjectFigure-10显示了如何部署HelloWorld应用.1. 从Server Manager中选择Deployer按钮(step-1)2. 在Server Deployments对话框中选择Add to create a new deployment (step-2)3. 在New Deployment对话框中选择HelloWorld工程并选择Exploded Archive 选项4. 在New Deployment对话框选择Finish来将HelloWorld在Tomcat 5默认的位置中打包为WAR5. 选择OK完成部署Figure-10: Three-step deployment process新HelloWorld WAR部署将出现在Server Manager视图中Tomcat 5节点下.Figure-11: Servers Manager View depicting deployed HelloWorld web service project四. MyEclipse开发之启动Tomcat服务器五. MyEclipse开发之使用Web Service Explorer测试Web Service MyEclipse提供了一个Web Service Explorer来测试Web Service.1. 在MyEclipse perspective中选择toolbar button来执行Web Service ExplorerFigure-15: Web Services Explorer launch button on workbench toolbar2. 选择WSDL模式(Figure-16)3. 在活动面板中键入HelloWorldService WSDL文档的URLhttp://localhost:8080/HelloWorld/services/HelloWorldService?WSDL,W eb Service Explorer将下载自动产生的WSDL文档,该WSDL文档由XFire framework,并产生一系列的操作能够调用service.4. 在活动面板中选择example操作并在in0域中键入HelloWorld5. 选择Go按钮来调用在HelloWorldService上的example操作,,结果出现在Status面板上Figure-16: Web Services Explorer testing HelloWorldService六. MyEclipse开发之创建Java Test客户端XFire提供了一个动态的代理框架,能够读取WSDL文档和创建潜在的消息服务使Java类来执行在Web Service的行为.该部分将为HelloWorld Web Service写一个Java Web Service客户端6.1增加XFire类库配置为了使example client能够在HelloWorld工程中运行,需要增加XFire HTTP Client类库到工程的构建路径中.1. 在Package Explore视图中右击HelloWorld工程选择Build Path>Add Library2. 选择MyEclipse Libraries3. 选择XFire HTTP Client LibrariesFigure-17: Choosing the XFire HTTP Client Libraries4. 选择Finish6.2创建HelloWorldClient类执行Java类向导来创建HelloWorldClient类Figure-18: HelloWorldClient defined in New Java Class Wizard. 代码如下:1.public static void main(String[] args) ...{2.Service srvcModel = new3.ObjectServiceFactory().create(IHelloWorldService.class);4.XFireProxyFactory factory =5.new XFireProxyFactory(XFireFactory.newInstance().getXFire());6.String helloWorldURL ="7.http://localhost:8080/HelloWorld/services/HelloWorldService8.";9. try ...{10. IHelloWorldService srvc = (IHelloWorldService)factory.create(srvcModel, helloWorldURL);11. String result = srvc.example("hello world");12. System.out.print(result);13.} catch (MalformedURLException e) ...{14. e.printStackTrace();15. }16.}该段代码定义了创建一个XFire web service proxy的过程,该代理支持POJO IHelloWorldService接口右键点击Run As>Java Application或者Debug As>JavaApplication来运行或调试该程序。
webservice开发说明(流程步骤)
webservice开发说明:--20100512--lihw1.流程webservice是内控web修改过来的一个web包,同样运行在tomcat里,该包命名为hsdc。
部署时可拷贝一份内控tomcat到另台机子,并将部署后的hsdc文件夹放到tomcat/webapps 下,启动和内控web一样;或者将hsdc文件夹放到tomcat/webapps里面与hsicpweb在一个文件夹下,和内控一起启动。
源代码在myeclipse开发完成后,在myeclipse里部署到配置的用于开发的tomcat5.5里,测试正确后将webapps里面的hsdc拷贝到风控的tomcat/webapp里面。
2.安装1.1 myeclipse和tomcat●安装jdk1.5 , myeclipse版本6.5.0。
●用于开发的tomcat5.5,拷贝到任意文件夹解压。
在myeclipse中配置这个tomcat5.5。
1.2 源代码导入到myeclipse1. 在myeclipse左侧框点右键,选择“Import”,选择“Existing Projects into Workspace”,然后选择目录选中源代码的hsdc目录。
勾上“Copy projects into workspace”,点击“finish”。
在myeclipse中如下图所示:2.在myeclipse中配置开发的tomcat5.5,将工程hsdc部署上去。
如下图所示:3.开发--以下开发说明基于国海证券的基金净值webservice。
需求:客户传入日期(oc_date)、基金代码(jjdm),数据中心通过webservice返回该日期下该基金代码的基金净值。
2.1 编写WSDL文件注:WSDL(网络服务描述语言,Web Services Description Language)是一门基于XML 的语言,用于描述Web Services 以及如何对它们进行访问。
myeclipse10使用axis2开发webservice
1. 下载Axis2插件和部署环境Axis2官方网站:/axis2/java/core/index.html2. 为MyEclipse10安装Axis2开发插件,解压codegen-1.6.2.zip和service-1.6.2.zip,复制解压后的文件到MyEclipse10安装目录的dropins目录下,并新建一个记事本文件,命名为:axis2.link,写入内容:path=D:\\Program Files\\MyEclipse 10.1\\MyEclipse 10\\dropins。
重启MyEclipse10,即可看到Axis2插件已经安装成功3. 配置部署环境。
解压axis2-1.6.2-war.zip文件,把得到的axis2.war文件复制到Tomcat安装目录下的webapp文件夹下,并启动Tomcat。
在浏览器输入网址:http://localhost:8080/axis2/,看到如下界面,表示部署环境配置成功。
4. 开发webservice服务端。
新建web project(不能是java project)。
并添加com.server包,在包下建立两个类:DoubleArith.java和FloatArith.java,并写入以下内容。
生成Axis2服务端部署文件,DoubleArith.aar和FloatArith.aar。
先运行Axis2Server,使程序在classes文件夹下生成DoubleArith.class和FloatArith.class文件,因为这两个文件是生成aar 文件的必备文件这样就在D:\Run目录下生成DoubleArith.aar文件。
同理,可以生成FloatArith.aar。
把DoubleArith.aar和FloatArith.aar文件从D:\Run文件夹复制到Tomcat\webapp\axis2\WEB-INF\services目录下。
myeclipse中创建webservice客户端
myeclipse中创建webservice客户端1、创建web工程2、为web工程添加webservice能力3、一般不用配置,直接点next4、添加webservice的jar包,除了已经过时的1.1JAXB1外,全选。
5、在提供webservice的wsdl描述文件上面右键,新建webservice客户端。
6、可以指定webservice的客户端所在的包为mzh j.wsclient7、生成的webservice客户端文件如下图,有2个包:com.cintel.ics 中的是wsdl中描述的webservice对象;mzhj.wsclient中的是webservice测试的客户端。
8、ICSServiceClient的main方法可以调用webservice的方法了。
//发送给webservice的参数ICSClass iCSClass=new ICSClass();Method method=new Method();method.setName("AddBlackNum");iCSClass.setMethod(method);iCSClass.setName("ICSService");//用ICS的方法发送参数,就能得到响应对象了service.ics(iCSClass);public static void main(String[] args) {ICSServiceClient client = new ICSServiceClient();//create a default service endpointICS service = client.getIcsSend();//TODO: Add custom client code here////service.yourServiceOperationHere();System.out.println("test client completed");System.exit(0);}。
MyEclipse开发WebService(基于JAX-WS框架)
MyEclipse开发WebService(基于JAX-WS框架)在这里,我们使用JAX-WS方式。
JAX-WSJax-WS是Java1.6中才有的,新的WebService模式,基于注解的方式配置WebService,很类似Asp中的WebService,难度已经比Xfire方式的配置降低了很多.REST(JAX-RS)用的比较少Xfire(已过时)配置比较繁琐一、新加Web Service ProjectStep 1:Step 2: 选择WebServices Framework为JAX-WSStep 3: 选择JAX-WS版本为2.1Step 4:Step 5:Step 6: 选择JAX-WS Library为MyEclipse LibraryStep 7: 勾取所有jar包二、编写业务代码Step 1:编写业务接口(可选项,不写接口也可以)Step 2: 编写业务类三、根据Java类,创建Web ServiceStep 1: 新建Web Service-截图1Step 2: 新建Web Service-截图2Step 3: 选择from Java classStep 4: 选择已写的业务Java类Step 5: 指定代理类的名称及WSDL相关项(使用默认也可以)Step 6: 查看新生成的代理类及配置文件sun-jaxws.xml,还有web.xml中的添加内容Step 7: 部署后启动Step 8 : 根据web.xml中的url映射测试http://localhost:9090/Calculator/CalculatorPort?WSDL四、生成客户端代码-----测试调用WebService Step 1: 新建一个Java Project, 命名工程为ClientStep 2:创建Web Service ClientStep 3: 指定工程名称为已存在的Client工程Step 4: 指定WebService客户端对应的WSDB URL及代码存放的包名Step 5: WSDL路径验证成功后点击Finish完成(请确保WebService服务端正在运行,可访问到)Step 6: 自动生成的代码结构如下:其中CalculatorService为客户端需要实例化的类Step 7: 编写客户端调用代码,并运行: 控制台中的输出结果正确。
Eclipse3.2+MyEclipse5.5M1+axis2_1.1.1+tomcat5.5 开发Web Services
在网上看到的由--呼必斯哈拉图--写的"Apache AXIS 开发Web Services Step By Step",跟着做了一遍。
非常感谢呼必斯哈拉图,写得非常的详细,图文并茂。
但是,我的环境和他文中的不太一样,所以根据自己的环境重写如下。
一、环境准备1.1软件下载准备Tomcat 5.5下载地址:/download-55.cgi#5.5.20Axis War包:/apache/ws/axis2/1_1_1/axis2.warAxis Eclipse plug-in(代码生成工具和打包工具):/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip /ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wiz ard.zipEclipse 3.2:/MyEclipse5.5M1:/1.2安装A.首先搭建开发环境,将下载的Eclipse解压缩到一个目录,D:eclipse-SDK-3.2-win32。
B.将下载到的Axis 的两个plug-in解压缩到D:Axis-Plugin-Direclipseplugins目录下。
C.在eclipse目录下创建D:eclipse-SDK-3.2-win32eclipselinks,新建文件名为:axis-eclipse-plugin.link内容为:path=D:Axis-Plugin-DirD.安装MyEclipse5.5M1,将eclipse目录指向D:eclipse-SDK-3.2-win32,删除D:eclipse-SDK-3.2-win32eclipseconfiguration下的org.eclipse.update目录。
然后启动MyEclipse,选择“File->New->Other”可以看到如下的两个界面。
【案例】Springboot开发WebService服务端和客户端
【案例】Springboot开发WebService服务端和客户端环境说明Java JDK 1.8、Spring boot 2.1.6、Apache CXF 3.1.6POM依赖<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.1.6</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>3.1.6</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-transports-http</artifactId><version>3.1.6</version></dependency></dependencies>服务端webService接⼝使⽤@WebService声明式注解声明这是⼀个webService接⼝,并设置:name:服务名称targetNamespace:命名空间,通常是接⼝的包名倒序注解@WebMethod是声明接⼝⽅法,可以通过operationName为接⼝⽅法设置别名,默认是⽅法名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
查看了网上的各类用Java开发WebService接口的方法,有些麻烦而且行不通,自己实践后,将实践过程记录如下,以备以后之用。
一、服务端发布WebService接口
1、在Myeclipse中,选择File->new->Web Service Project,然后输入项目名称,框中内容按如下所示选择即可,然后点击next。
2.点击next后,出现如下画面:
3、再点击next,勾选两个框。
4、点击2次next后出现如下界面,勾选所有框
5、点击Finish完成后。
在该项目上的Java Build Path,选择Libraries标签,点击Add Libirary,在弹出框中,选择MyEclipse Library,如下图所示:
6、点击next后,在弹出框中选择JAX-WS 2.1 Libraries,并点击Finish,检查Libraries标签中是否已经添加上了刚添加的Lib
7、在下面这个页面上全部勾选:
8、在TestServiceDemo/src目录下,新建如下图结构的类:
其中IServiceHello类为接口,ServiceHelloImpl类为实现,具体代码如下:IServiceHello类:
package com.mf5.app.service;
public interface IServiceHello
public String sayHello();
public String sayHelloName(String name);
}
ServiceHelloImpl类:
package com.mf5.app.serviceimpl;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import com.mf5.app.service.IServiceHello;
@WebService(targetNamespace="http://demo.webservice",name="Hello") @SOAPBinding(style=SOAPBinding.Style.RPC)
public class ServiceHelloImpl implements IServiceHello
{
public final String str = "WebService服务器返回消息...";
@WebMethod
public String sayHello()
{
return str+"Hello!";
}
@WebMethod
public String sayHelloName(String name)
{
return str+name;
}
}
9、在WEB-INF目录下,新建一个文件,名称为:sun-jaxws.xm,其中内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name="IServiceHello"
implementation="com.mf5.app.serviceimpl.ServiceHelloImpl"
url-pattern="/testservice">
</endpoint>
</endpoints>
10、在web.xml文件中,在<display-name>TestServiceDemo</display-name> 下面添加如下代码:注意的是,在sun-jaxws.xm中的url-pattern的
值与web.xml中的servlet-mapping中映射的url-pattern的值必须是一样
的。
<listener>
<listener-
class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener<
/listener-class>
</listener>
<servlet>
<servlet-name>testservice</servlet-name>
<servlet-
class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>testservice</servlet-name>
<url-pattern>/testservice</url-pattern>
</servlet-mapping>
11、可将TestServiceDemo部署在Myeclipse自带的Tomcat中,并启动
tomcat服务器。
启动成功后,访
问:http://localhost:8080/TestServiceDemo/testservice,如果出现如下
页面,则说明WebService部署成功。
点击页面中的WSDL连接地址,访问的是该WebService的wsdl文件内容:
二、在Myeclipse上编写客户端,访问接口
1、同样新建一个Web Service Project工程,名字为TestClient。
2、打开cmd命令,进入到项目的src目录下,输入以下命令:
wsimport -keep http://localhost:8080/TestServiceDemo/testservice?wsdl
回车后就会将wsdl上的接口信息生成java类文件,放在src目录下。
3、刷新项目,可看到src目录下有新文件生成。
4、编写DemoTest类,测试是否能调用接口。
代码如下:
package com.mf5.test;
import webservice.demo.Hello;
import webservice.demo.ServiceHelloImplService;
public class DemoTest
{
public static void main(String[] args)
{
//创建一个用于产生WebServiceImpl实例的工厂,WebServiceImplService类是wsimport工具生成的
ServiceHelloImplService factory = new ServiceHelloImplService();
//通过工厂生成一个WebServiceImpl实例,WebServiceImpl是wsimport工具生成的
Hello wsImpl = factory.getHelloPort();
//调用WebService的sayHello方法
String resResult = wsImpl.sayHello();
System.out.println("调用WebService的sayHello方法返回的结果是:"+resResult);
System.out.println("---------------------------------------------------");
//调用WebService的sayHelloName方法
^`
resResult = wsImpl.sayHelloName("寒冰非一日之冻");
System.out.println("调用WebService的save方法返回的结果是:"+resResult);
}
}
5、运行该DemoTest,检查console如下结果,为成功访问接口。