带接口的webservice 的发布

1.接口:(打上service注解)

package ws.qlq.a;

import javax.jws.WebService;

/**
 * 面向接口的webservice发布方式
 *
 *
 */
@WebService
public interface JobService {
    public String getJob();
}

2.实现类(也要打赏注解设置服务端点接口全路径)

package ws.qlq.a;

import javax.jws.WebService;

@WebService(endpointInterface="ws.qlq.a.JobService")//设置服务端点接口 ,指定对外提供服务的接口
public class JobServiceImpl implements JobService {

    @Override
    public String getJob() {
        return "JEE研发工程师|Android研发工程师|数据库工程师|前端工程师|测试工程师|运维工程师";
    }
    public void say(){
        System.out.println("早上好!");
    }
}

3.发布service的类

package ws.qlq.a;

import javax.xml.ws.Endpoint;

public class Test {

    public static void main(String[] args) {
        JobService jobService=new JobServiceImpl();
        String address="http://127.0.0.1:9999/ws/jobservice";
        Endpoint.publish(address, jobService);
        System.out.println("wsdl地址:"+address+"?WSDL");

    }

}

结果:

wsdl地址:http://127.0.0.1:9999/ws/jobservice?WSDL

4.客户端通过wsimport生成本地代理以及打包成jar包

C:\Users\liqiang>cd Desktop

C:\Users\liqiang\Desktop>wsimport http://127.0.0.1:9999/ws/jobservice?WSDL

C:\Users\liqiang\Desktop>jar -cvf test.jar ./ws    (打包之后名字为test.jar,打包的文件夹为当目录的ws文件夹)
已添加清单
正在添加: ws/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: ws/qlq/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: ws/qlq/a/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: ws/qlq/a/GetJob.class(输入 = 411) (输出 = 277)(压缩了 32%)
正在添加: ws/qlq/a/GetJobResponse.class(输入 = 733) (输出 = 414)(压缩了 43%)
正在添加: ws/qlq/a/JobService.class(输入 = 772) (输出 = 430)(压缩了 44%)
正在添加: ws/qlq/a/JobServiceImplService.class(输入 = 2304) (输出 = 1036)(压缩了
 55%)
正在添加: ws/qlq/a/ObjectFactory.class(输入 = 1495) (输出 = 661)(压缩了 55%)
正在添加: ws/qlq/a/package-info.class(输入 = 230) (输出 = 184)(压缩了 20%)

5.客户端测试webservice(将上面打好的jar包加进项目)

package cn;

import ws.qlq.a.JobService;
import ws.qlq.a.JobServiceImplService;

public class JobServiceTest {

    public static void main(String[] args) {
        JobServiceImplService jobServiceImplService = new JobServiceImplService();
        JobService jobServiceImplPort = jobServiceImplService.getJobServiceImplPort();
        String job = jobServiceImplPort.getJob();
        String [] jobs =job.split("\\|");
        for (String s:jobs){
            System.out.println(s);
        }
    }
}

JEE研发工程师
Android研发工程师
数据库工程师
前端工程师
测试工程师
运维工程师

时间: 2024-10-14 11:12:24

带接口的webservice 的发布的相关文章

用cxf 框架发布webService(第二种,ServerFactoryBean带接口)

接口类需要注解 可以添加输入输出拦截器 package cn.itcast.cxf.server; import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; import cn.itcast.webservice.userSer

面向接口的webservice发布方式

import javax.jws.WebService; /**面向接口的webservice发布方式 */ @WebService public interface JobService { public String getJob(); } import javax.jws.WebService; @WebService(endpointInterface="com.oracle.ws.c.JobService")//设置服务端点接口 ,指定对外提供服务的接口 public cla

webservice的 发布

webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口.今天搜索到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包括很多方面的free webservice provider,utilities->global weather就

.net 在不同情况下调用带soapheader的webservice的方式

国庆长假到了,本想出去玩玩,无奈自己屌丝一枚,啥都没有,只能自己宅在家里思考思考人生.不过人生还是过于复杂,一时间也想不出个所以然,只能是整理一下在工作中遇到的一些小问题,首先是关于带soapheader的webservice. 一.webservice大家都用的比较频繁,有时也有一些带soapheader的webservice,首先一种最简单的调用soapheader的情况就是,如果对方的webservice也是用.net写的,可能会是这种方式 [WebMethod] [SoapHeader(

【Java】Java6 WebService的发布

WebService服务发布往往比较混乱,Axis2的发布形式与XFire发布方式差别很大,而Java6 Web服务的发布与Axis2.XFire的Web服务的发布方式也有着天壤之别,它们之间没有经验可以借鉴. 因此,很有必要钻研下Java6的Web服务的发布方式. 从前面两篇文章可以看出Java6对WebService的发布提供了API级别的直接支持,发布只需要一行代码就搞定了.但是作为一个服务,就需要启动,总不能每次启动都去运行一个Main方法来启动吧. 实际中Web服务的发布常常伴随着We

【webservice】发布axis2的webservice服务端

axis2版本:axis2-1.5.4 准备工作:下载axis2-1.5.4-war.zip(生成服务端).axis2-1.5.4-bin.zip(axis2的jar包),jdk5(及以上版本).tomcat(端口我设成8086了) 手把手超级详细介绍axis2的webservice服务端的生成与发布. 1. 解压axis2-1.5.4-war.zip得axis2.war,把axis2.war放到tomcat的webapps目录, 启动tomcat就能加载axis2.war并生成新的axis2目

Java6 WebService的发布

Java6 WebService的发布 WebService服务发布往往比较混乱,Axis2的发布形式与XFire发布方式差别很大,而Java6 Web服务的发布与Axis2.XFire的Web服务的发布方式也有着天壤之别,它们之间没有经验可以借鉴. 因此,很有必要钻研下Java6的Web服务的发布方式. 从前面两篇文章可以看出Java6对WebService的发布提供了API级别的直接支持,发布只需要一行代码就搞定了.但是作为一个服务,就需要启动,总不能每次启动都去运行一个Main方法来启动吧

CXF集成Spring实现webservice的发布与请求

CXF集成Spring实现webservice的发布(服务端) 目录结构: 主要代码: package com.cxf.spring.pojo; public class User { int id ; String name = null; String address = null; String email = null; public int getId() { return id; } public void setId(int id) { this.id = id; } public

Spring AOP 自定义注解获取http接口及WebService接口入参和出参

注解方法实现过程中可以采用如下获取方式:-以下为例  HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 1.定义两个方法注解,分别标记要处理的http接口及Webservice接口: http接口注解 1 2 3 4 5 @Retention(RetentionPolicy.RUNTIME) @Target({ El