发布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. ios 获取设备相关的信息

    .获取设备的信息 UIDevice *device = [[UIDevice alloc] int]; NSString *name = device.name; //获取设备所有者的名称 NSStr ...

  2. ALM在win7/IE8下无法浏览

    操作系统WIN7 64位. 安装完ALM后,用IE8打开查看,没有登录界面,提示需要安装东西. 按照提示安装,没有响应,然后到网上查了一下资料: ALM/QC11.0在win8/IE11下无法浏览 页 ...

  3. NUC970 U-Boot 使用說明

    U-Boot 使用說明U-Boot 是一個主要用於嵌入式系統的開機載入程式, 可以支援多種不同的計算機系統結構, 包括ARM.MIPS.x86與 68K. 這也是一套在GNU通用公共許可證之下發布的自 ...

  4. PHP之Smarty模板引擎

    前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进. ...

  5. win8.1rtm专业版无法安装net3.5还有iis

    win8.1rtm专业版无法安装net3.5还有iis错误代码:0x800F0906 已解决:dism.exe /online /enable-feature /featurename:NetFX3 ...

  6. poj_3185 反转问题

    题目大意 有20个碗排成一排,有些碗口朝上,有些碗口朝下.每次可以反转其中的一个碗,但是在反转该碗时,该碗左右两边的碗也跟着被反转(如果该碗为边界上的碗,则只有一侧的碗被反转).求最少需要反转几次,可 ...

  7. 广义表操作 (ava实现)——广义表深度、广义表长度、打印广义表信息

    广义表是对线性表的扩展——线性表存储的所有的数据都是原子的(一个数或者不可分割的结构),且所有的数据类型相同.而广义表是允许线性表容纳自身结构的数据结构. 广义表定义: 广义表是由n个元素组成的序列: ...

  8. C++ primer(十三)--类继承、构造函数成员初始化、虚函数、抽象基类

    一.基类     从一个类派生出另一个类时,原始类称为基类,继承类称为派生类. 派生类对自身基类的private成员没有访问权限,对基类对象的protected成员没有访问权限,对派生类对象的(基类之 ...

  9. JQuery事件e参数的方法preventDefault()取消默认行为

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  10. DES加密解密 Java中运用

    DES全称Data Encryption Standard,是一种使用密匙加密的块算法.现在认为是一种不安全的加密算法,因为现在已经有用穷举法攻破DES密码的报道了.尽管如此,该加密算法还是运用非常普 ...