So easy Webservice 6.使用EndPoint发布webservice服务

创建第一个Web服务:

@WebService    // 添加了此注解,代表是一个WebService
public class HelloWorld {
    // 非 static final private 方法默认会发布
    public String sayHi(String name) {
        return "hello" + name;
    }
}

发布web服务:

public static void main(String[] args) {
        String address="http://127.0.0.1:9999/helloworld";
        // 注册并且发布一个服务,arg0: 服务地址 , arg1:要发布的服务对象
        Endpoint endPoint=Endpoint.publish(address,new HelloWorld());
        // 可以停止服务,或者手动停止
        //endPoint.stop();
    }

获取发布web服务的信息

访问wsdl网址为: http://127.0.0.1:9999/helloworld?wsdl
通过wsimport生成Java代码:
Wsimport -s . -p a.b.c http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?WSDL

将生成的java文件拷贝到项目中,或者打包成jar,放入项目:

jar -cvf mobile.jar .  // 把当前路径打包成jar文件, 包名为mobile.jar

调用第一个WebService服务

public static void main(String[] args) {
        HelloWorldService helloWorldService=new HelloWorldService();
        HelloWorld helloWorld=helloWorldService.getHelloWorldPort();
        System.out.println(helloWorld.sayHi("china"));
}
结果:hello,china

注意事项:

  1. 在类上添加@WebService注解,代表发布一个WebService服务
  2. 通过EndPoint(端点服务)发布一个webService。Endpoint也是jdk提供的一个专门用于发布服务的类,它的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。它位于javax.xml.ws.*包中。
  3. Endpoint.publish(String address, Object implementor) 静态方法在给定地址处针对指定的实现者对象创建并发布端点
  4. 给类添加上@WebService注解后,类中所有的非静态方法都将会对外公布
  5. 如果希望某个方法不对外公开,可以在方法上添加@WebMethod(exclude=true),阻止对外公开。
  6. 如果一个类上,被添加了@WebService注解,则必须此类至少有一个可以公开的方法,否则将会启动失败。
  7. protected、private、final、static方法不能对外公开 代码如下:
  8. @WebService    // 添加了此注解,代表是一个WebService
    public class HelloWorld {
        // 非 static final private 方法默认会发布
        public String sayHi(String name) {
            return "hello" + name;
        }
        @WebMethod(exclude=true)
        public void exclude(){
            // 被注解排除的方法
        }
        protected void protected1(){
            //受保护的方法默认不发布
        }
        private void private1(){
            // 私有方法默认不发布
        }
        public static void static1(){
            // static 方法默认不发布
        }
        public final void final1(){
            // final 方法默认不发布
        }
    }
时间: 2024-10-11 00:21:15

So easy Webservice 6.使用EndPoint发布webservice服务的相关文章

SpringBoot整合cxf发布webService

1. 看看项目结构图 2. cxf的pom依赖 1 <dependency>2 <groupId>org.apache.cxf</groupId>3 <artifactId>cxf-spring-boot-starter-jaxws</artifactId>4 <version>3.2.4</version>5 </dependency> 3. 开始编写webService服务端3.1 实体类entity 1

So easy Webservice 7.CXF 发布WebService

(一)使用ServerFactoryBean 方式实现发布WS服务 1.新建项目,添加cxf jar包到项目中 2.编写服务实现类 /** * CXF WebService * 不用注解 * @author mlxs * */ public class CXFWebService { public String sayHello(String name){ return "hello," + name; } } 3.编写服务发布类 /** * CXF 使用ServerFactoryBe

用JAXWS-RI在Tomcat中发布WebService

JDK中已经内置了Webservice发布,不过要用Tomcat等Web服务器发布WebService,还需要用第三方Webservice框架.Axis2和CXF是目前最流行的Webservice框架,这两个框架各有优点,不过都属于重量级框架. JAXWS-RI是JAX WebService参考实现.相对于Axis2和CXF,JAXWS-RI是一个轻量级的框架.虽然是个轻量级框架,JAXWS-RI也提供了在Web服务器中发布Webservice的功能.官网地址https://jax-ws.jav

JAVA项目中发布WebService服务——简单实例

1,在Java项目中发布一个WebService服务: 如何发布? --JDK1.6中JAX-WS规范定义了如何发布一个WebService服务: (1)用jdk1.6.0_21以后的版本发布: (2)与Web服务相关的类,都位于Javax.jws.*包中 @WebService--此注解用在类上指定将此类发布成一个WebService: EndPoint--此类为端点服务类,其中publish()方法用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上,用于发布. 2,例子

WebService -- Java 实现之 CXF ( 使用:Spring+CXF+Tomcat发布webService)

1. 新建一个Maven项目,选择webapp模板,命名为WS_Spring_CXF_Tomcat 2. 在POM.xml中添加Spring和CXF的依赖 <!-- 添加 Spring dependency --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.7.R

Spring整合CXF之发布WebService服务

今天我们来讲下如何用Spring来整合CXF,来发布WebService服务: 给下官方文档地址:http://cxf.apache.org/docs/writing-a-service-with-spring.html 根据官方文档.我们把前面的实例用Spring整合CXF来处理下.会简化很多: 首先我们来建一个Maven项目 WebService_CXF 建好项目第一步,我们打开pom.xml 我们来添加下Spring支持: <!-- 添加Spring支持 --> <dependen

使用Servlet发布WebService

首先感谢熔岩的文章: http://lavasoft.blog.51cto.com/62575/227988 1.Eclipse安装上tomcat插件,http://www.eclipsetotale.com/tomcatPlugin.html下载后解压者eclipse的plugin目录 2.建立一个WebService: package com.garfield.webservice; import javax.jws.WebService; /** * Java6开发的WebService服

发布WebService 1.1

webservice1.1是基于jdk发布的 1 package cn.itcast.service01; 2 3 import javax.jws.WebService; 4 import javax.xml.ws.Endpoint; 5 6 @WebService 7 public class HelloService { 8 9 public String sayHello(String name) 10 { 11 System.out.println("say hello called&

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

WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-RPC到现在成熟的.支持RPC调用与消息传递的JAX-WS都经过了市场的考验,十分成熟,而且使用JAX-WS开发WebService的收益是很大的,它是轻量级的. 我们使用JAX-WS开发WebService只需要很简单的几个步骤:写接口和实现=>发布=>生成客户端(测试或使用). 而在开发阶段我们