发布WebService的方法很多。如XFire,CFX等。现在首先介绍下怎样通过CFX来发部一个WebService。

(1) 首先,是从Apache官方网站获取CFX的Java包。其地址是:http://cxf.apache.org/download.html。 在该网页上可以下载最新的CFX 的Java开发包。

(2) 其次,新建一个简单的java工程,不必是web工程,只是通过eclipse或者myeclipse新建一个java project。将CFX的java开发包复制到该工程的classpath目录下。

当新建的是一个web工程时,只需要将该工程复制到lib文件夹中。

(3) 在该工程中新建一个普通的接口。

package com.example.webservice;
import javax.jws.WebParam;
import javax.jws.WebService; @WebService
public interface HelloWorldService { public String sayHello(@WebParam(name="userName")String userName); }

注意到:上面的接口中有一个注解:@WebService,该注解表示这个是一个WebService服务

(4) 同时新建一个类,HelloWorldServiceImpl实现该接口。

package com.example.webservice;
import javax.jws.WebMethod;
import javax.jws.WebService; @WebService(endpointInterface="com.example.webservice.HelloWorldService", serviceName="helloWorldService")
public class HelloWorldServiceImpl implements HelloWorldService { @WebMethod
public String sayHello(String userName) {
System.out.println("HelloWorldServiceImp.sayHello("+userName+")");
return "Hello,"+userName;
} }

注意:这个实现类中,也有注解,一个是@WebService注解,该注解中有2个部分,一个是endpointInterface="com.example.webservice.HelloWorldService",

这里的内容是上面的接口的完整包名和接口名组成的。另一个是serviceName="helloWorldService",这个是用来现实该webService的入口的,即该webservice的名称为

helloWorldService。当调用该webservice时,其地址应该是:htt://IpAddress:port/helloWorldService

还有另一个注解:@WebMethod,该注解用来标识了webService的实现方法。

现在主要的webservice的功能已经实现了,所要做的是将webservice进行发布。发布该webservice的方法有好几种,可以用Spring发布,也可以直接运行一个main还是发布。

现在演示的是用一个main函数发布该webservice。

新建一个类,该类中有一个main函数。

import javax.xml.ws.Endpoint;

import com.lenovo.webservice.HelloWorldServiceImpl;

public class ServerTest {

    public static void main(String[] args) {
System.out.println("Starting Server");
HelloWorldServiceImpl helloWorldServiceImpl=new HelloWorldServiceImpl();
String address="http://localhost:8090/helloWorldService";
Endpoint.publish(address, helloWorldServiceImpl);
System.out.println("Start success"); } }

运行该类之后,该webservice就已经发布了。

此时,可以在其他的程序中调用该webservice了。

通过CFX发布WebService(一)的更多相关文章

  1. springboot+cfx实现webservice功能

    一.开发服务端 1.新建工程 cfx-webservice ,最终的完整工程如下: pom.xml如下: <?xml version="1.0" encoding=" ...

  2. 使用CXF发布WebService

    这里普及一下WebService和cxf的知识.关于webservice和cxf:   WebService.各种提供服务的组件     .企业总线.通讯总线(ESB)CXF:是一个SOA框架,Axi ...

  3. CXF发布webService服务以及客户端调用

    这篇随笔内容是CXF发布webService服务以及客户端调用的方法 CXF是什么? 开发工作之前需要下载CXF和安装 下载地址:http://cxf.apache.org 安装过程: <1&g ...

  4. Web环境使用相对路径发布Webservice

    常我们的Webservice服务的发布地址都将是一个相对路径,在与Spring一起使用时我们需要引入Cxf配置Webservice的schema,如jaxws,用以定义对应的Webservice. & ...

  5. VS2015发布Webservice

    第一步:开启IIs:在控制面板程序——>程序功能——>打开或关闭windows功能,把“Internet信息服务”下面的“FTP服务器”.“Web管理工具”.“万维网服务”全部勾上,然后点 ...

  6. Spring整合CXF之发布WebService服务

    今天我们来讲下如何用Spring来整合CXF,来发布WebService服务: 给下官方文档地址:http://cxf.apache.org/docs/writing-a-service-with-s ...

  7. 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService

    WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-R ...

  8. CXF整合Spring发布WebService实例

    一.说明: 上一篇简单介绍了CXF以及如何使用CXF来发布一个简单的WebService服务,并且介绍了客户端的调用. 这一篇介绍如何使用CXF与spring在Web项目中来发布WebService服 ...

  9. 使用CXF发布WebService服务简单实例

    一.说明: 前面介绍了使用axis2来发布Webservice服务,现在介绍一种更popular,更高效的Webservice服务发布技术:CXF Apache CXF = Celtix + XFir ...

随机推荐

  1. simple fix 主从不一致滴error

    Last_SQL_Error: Error 'Unknown table 'bb'' on query. Default database: 'test'. Query: 'DROP TABLE `b ...

  2. Python学习笔记(五)OOP

    模块 使用模块import 模块名.有的仅仅导入了某个模块的一个类或者函数,使用from 模块名 import 函数或类名实现.为了避免模块名冲突.Python引入了按文件夹来组织模块的方法,称为包( ...

  3. Python Scrapy 自动爬虫注意细节(1)

    一.首次爬取模拟浏览器 在爬虫文件中,添加start_request函数.如: def start_requests(self): ua = {"User-Agent": 'Moz ...

  4. oracle中的内连接和外连接区别

    表t_user1,t_user2,t_user3,各有id,name两列 id name 1 10A 2 20A id name 1 10B 3 30B id name 1 10C 4 40C 连接分 ...

  5. linux解压和压缩

    1.压缩命令: 命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名 可先切换到当前目录下.压缩文件名和被压缩文件名都可加入路径. 2.解压缩命令: 命令格式:tar  -z ...

  6. Nginx(一)-- 初体验

    1.概念 Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器. Nginx提供基本http服务,可以作 ...

  7. Python3 抓取豆瓣电影Top250

    利用 requests 抓取豆瓣电影 Top 250: import re import requests def main(url): global num headers = {"Use ...

  8. React如何进行事件传参

    今天在学习React的es6语法的时候,发现了个有趣的现象,就是this的指向问题.es6的this不同于es5,它在创立函数伊始便已经存在了,而不是像es5一样,睡调用的函数,this指向谁.但是这 ...

  9. PHP中new static()与new self()的区别异同

    self - 就是这个类,是代码段里面的这个类. static - PHP 5.3加进来的只得是当前这个类,有点像$this的意思,从堆内存中提取出来,访问的是当前实例化的那个类,那么 static ...

  10. 【BZOJ1500】[NOI2005]维修数列 Splay

    [BZOJ1500][NOI2005]维修数列 Description Input 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目.第2行 ...