您的位置:首页 > 编程语言 > Java开发

CXF+MyEclipse 开发webservice入门实例之HelloWorld

2015-10-26 16:14 627 查看
按照CXF的用户文档上的描述,来写一个helloworld的webservice小实例!

第一步,新建一个名为“CXF_HelloWorld”的web project,加入如下jar包。



另外还需要加入spring的jar包。

第二步,配置web.xml,把CXFServlet配置到web.xml中

代码如下:

[xhtml] view
plaincopy

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>

<description>Apache CXF Endpoint</description>

<display-name>cxf</display-name>

<servlet-name>cxf</servlet-name>

<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>cxf</servlet-name>

<url-pattern>/services/*</url-pattern>

</servlet-mapping>

<session-config>

<session-timeout>60</session-timeout>

</session-config>

</web-app>

第三步,编写webservice

HelloWorld.java

[java] view
plaincopy

package cxf.server;

import javax.jws.WebMethod;

import javax.jws.WebParam;

import javax.jws.WebService;

@WebService

public interface HelloWorld {

@WebMethod

public String sayHello(@WebParam String message);

}

HelloWorldImpl.java

[c-sharp] view
plaincopy

package cxf.server;

public class HelloWorldImpl implements HelloWorld{

@Override

public String sayHello(String message) {

// TODO Auto-generated method stub

return message;

}

}

第四步,把编写好的服务部署到cxf-servlet.xml中

cxf-servlet.xmls放在web-inf目录下

[c-sharp] view
plaincopy

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:jaxws="http://cxf.apache.org/jaxws"

xmlns:soap="http://cxf.apache.org/bindings/soap"

xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:server id="HelloWorld" serviceClass="cxf.server.HelloWorld">

<jaxws:serviceBean>

<bean class="cxf.server.HelloWorldImpl" />

</jaxws:serviceBean>

</jaxws:server>

</beans>

第五步,编写客户端调用webservice

客户端HelloWorldClient.java

[c-sharp] view
plaincopy

package cxf.client;

import org.apache.cxf.interceptor.LoggingInInterceptor;

import org.apache.cxf.interceptor.LoggingOutInterceptor;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

import cxf.server.HelloWorld;

public class HelloWorld {

public static void main(String[] args) {

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

factory.getInInterceptors().add(new LoggingInInterceptor());

factory.getOutInterceptors().add(new LoggingOutInterceptor());

factory.setServiceClass(HelloWorld.class);

factory.setAddress("http://localhost:8080/CXF_HelloWorld/services/HelloWorld");

HelloWorld client = (HelloWorld) factory.create();

String reply = client.sayHello("hello world!");

System.out.println(reply);

}

}

第六步,部署,运行

把项目部署到tomcat上,启动tomcat,运行HelloWorldClient.java

控制台成功输出hello world!

版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: