创建web项目
添加webservice支持,使用xfire
添加支持以后,MyEclipse自动配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- start 添加webservice支持以后,Myeclipse自动配置XFire --> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <!-- end 添加webservice支持以后,Myeclipse自动配置XFire --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
创建接口
package com.hx.webservice; public interface IWebServiceTest { public String getStr(); }
创建实现类
package com.hx.webservice.imp; import com.hx.webservice.IWebServiceTest; public class WebServiceTest implements IWebServiceTest{ public String getStr() { // TODO Auto-generated method stub return "webservice 调用成功!"; } }
配置service文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <!-- webserviceq名称,调用时需要指定这个 --> <name>testService</name> <!-- 自己服务的地址 --> <namespace>http://localhost:8080/WebService</namespace> <!-- 接口类 --> <serviceClass>com.hx.webservice.IWebServiceTest</serviceClass> <!-- 实现类 --> <implementationClass>com.hx.webservice.imp.WebServiceTest</implementationClass> </service> </beans>
启动Tomcat,地址栏输入:http://localhost:8080/WebService/services/testService?wsdl
部署成功。
创建client端,访问webservice服务:
package com.hx.client; import java.net.MalformedURLException; import org.codehaus.xfire.XFireFactory; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; import com.hx.webservice.IWebServiceTest; public class Client { public static void main(String agrs[]){ //这里是创建一个service,需要传入一个接口类,因为我们后面必须调用相应的接口方法 Service srcModel = new ObjectServiceFactory().create(IWebServiceTest.class); //代理工厂,这里是为了后面创建相应的接口类 XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire()); //webservice地址,不需要加wsdl String testServiceUrl = "http://localhost:8080/WebService/services/testService"; //利用工厂返回相应的接口类 IWebServiceTest iTest = null; try { iTest = (IWebServiceTest)factory.create(srcModel,testServiceUrl); String str = iTest.getStr(); System.out.println(str); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
出现错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/RequestEntity at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at java.lang.Class.getConstructor0(Class.java:2714) at java.lang.Class.getConstructor(Class.java:1674) at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:108) at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48) at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26) at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131) at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79) at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114) at org.codehaus.xfire.client.Client.invoke(Client.java:336) at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77) at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57) at $Proxy0.getStr(Unknown Source) at com.hx.client.Client.main(Client.java:26) Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.methods.RequestEntity at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 15 more
添加包commons-httpclient-3.0.jar,继续运行:
成功,几分钟搞定。说到底任何技术都是方便我们使用。更多的精力还是要花在业务上面。
相关推荐
Myeclipse中创建webservice工程~~客户端和服务器端均有创建。 希望对大家有所帮助。
利用myeclipse自带的功能开发的webservice,共有两个项目,模拟实现服务端和客户端数据交互。
java 使用使用Myeclipse 创建WebService 项目服务端 工程源码内包含所用的各种包
MyEclipse开发WebService教程,详尽的介绍了Webservice的开发过程,很详细,一看就懂,你肯定学得会
Myeclipse创建WebService实例-很好用.doc 验证成功
myeclipse下配置webservice
本实例包含php调用webservice及myeclipse创建webservice实例全部代码,简单易懂,运行绝对没有问题,文件齐全,导入即可运行,适合webservice初学者
myeclipse开发Java WebService.zip
axis2+myeclipse开发webService!axis2+myeclipse开发webService
Myeclipse创建的webservice应用源码
利用Myeclipse中的JAX-WS发布webservice十分方便,直接部署tomcat即可完成webservice的发布。
axis2 1.6 MyEclipse8.6 插件 webservice 复制到MyEclipse文件夹下得dropins目录,重启MyEclipse 即可,X:\Genuitec\MyEclipse-8.6\dropins
使用 Myeclipse 2014新建 WebService服务端和客户端
使用MyEclipse9.0开发WebService
还需要再部署一下webservice,这样的话在实际情况中可能出现一些问题,如:tomcat可能会重启频繁一些,但是如果重启一次tomcat就要重新部署一下webservice,显然不是很好,这里的myeclipse开发的webservice把...
原创, 教你一步一步用MyEclipse创建WebService服务端和客户端的步骤.
myeclipse xfire 开发webservice实例
MYECLIPSE开发webservice的步骤详解, 自己摸索出来的套路 适合初学者
myEclipse 6.5 webservice 服务器端和客户端代码 配合开发工具