webservice接口的开发和调用

一、开发webservice接口的方式

1、使用jdk开发

2、使用第三方工具,如cxf、shiro等

二、使用jdk开发webservice接口以及调用

首先定义一个天气预报的接口,Weather

@WebService
public interface Weather {
    String queryWeather();
}

定义一个实现类,实现该接口

@WebService
public class WeatherImpl implements Weather{
    public String queryWeather() {
        return "今日天气为晴,偏北风二到三级";
    }
}

写一个普通的类,使其继承自spring的上下文监听器,并在初始化方法中发布接口,这样在容器启动时自动会发布

public class MyListener extends ContextLoaderListener{

    public void contextInitialized(ServletContextEvent event) {
        String address="http://localhost:8080/weather";
        Endpoint.publish(address, new WeatherImpl());
        super.contextInitialized(event);
    }
}

在web容器中设置该监听器

 <listener>
      <listener-class>springframe.listener.MyListener</listener-class>
  </listener>

启动容器(如果启动过程中报错:出现类似

Wrapper class webservice.jaxws.SayHi is not found. Have you run APT to generate them?

则说明使用的jdk版本过低,请使用jdk1.6或更高),访问http://localhost:8080/weather,结果如下:

表示发布成功。

接下来是如何调用一个发布的webservice接口

新建一个项目test_p

选中项目,鼠标右键,选择NEW,选择other,找到web service client,next,在弹出的框中选择WSDL URL,病输入wsdl的url,这里是http://localhost:8080/weather?wsdl,next,finish

然后为我们生成了一堆类

不过我们只需用到最后两个,Weather_service和Weather

下面写一个main方法

public static void main(String[] args) {
        Weather_Service factory=new Weather_Service();
        Weather wea=factory.getWeatherImplPort();
        System.out.println(wea.queryWeather());
    }

执行,会输出如下的结果:

代表调用成功。

注意:如果webservice用到的端口最好与tomcat的访问端口不一样,否则,会出现无法访问项目。

三、使用cxf开发webservice接口

待定。。

from:https://www.cnblogs.com/yxjdragon/p/6030740.html

原文地址:https://www.cnblogs.com/GarfieldEr007/p/10140879.html

时间: 2024-07-29 22:29:15

webservice接口的开发和调用的相关文章

Jaxb的有点与用法(bean转xml的插件,简化webservice接口的开发工作量)

一.jaxb是什么 JAXB是Java Architecture for XML Binding的缩写.可以将一个Java对象转变成为XML格式,反之亦然.     我们把对象与关系数据库之间的映射称为ORM,其实也可以把对象与XML之间的映射称为OXM(Object XML Mapping).原来JAXB是Java EE的一部分,在JDK1.6中,SUN将其放到了Java SE中,这也是SUN的一贯做法.JDK1.6中自带的这个JAXB版本是2.0,比起1.0(JSR 31)来,JAXB2(J

java axis2 webservice 接口的开发搭建和demo

1.先创建一个web项目,名字叫testAxis2Demo 2.下载axit2 的war包,地址是:http://apache.fayea.com//axis/axis2/java/core/1.6.2/axis2-1.6.2-war.zip 3.将下载axit2中war包下的WEB-INF/lib/ 下所有的jar包,copy下来,放在web项目下的lib目录中 4.在web.xml 中添加如下配置: <servlet> <servlet-name>AxisServlet<

C#开发WEBService服务 C++开发客户端调用WEBService服务

编写程序 http://blog.csdn.net/u011835515/article/details/47615425 遇到问题及解决方法: HTTP 错误 500.19- Internal Server Error 错误解决方法 http://www.jb51.net/article/28160.htm HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容. 如果不希望启用目录浏览,请确保配置了默认文档并且该文件存在. 使用 IIS 管理器启用目录

使用Jmeter测试WebService接口

WebService接口脚本开发步骤 1.使用SoupUI获取详细报文 2.jmeter使用HTTP请求模拟发送请求 一.使用SoupUI获取发送报文 打开SoupUI软件,右键点击Projects>New SOAP Project 输入Project Name和Initial WSDL(原始WSDL地址),点击OK按钮 解析完成之后,会生成该WSDL下的所有接口请求 输入请求参数,点击调试按钮,查看正确的响应报文 点击Raw,查看具体的请求方法和信息头信息 二.使用Jmeter调用HTTP请求

EJBCA开发 webService接口调用

<转载请注明出处> 摸索这个东西好长时间了,资料太少无从下手找了个EJBCA的类似论坛的东西 一点点找入口..... 分享下:http://sourceforge.net/p/ejbca/discussion/132019/,有问题 里面的人很快会回答的,但是 他们是做盈利机构的有些问题.. EJBCA SVN路径:https://svn.cesecore.eu/svn/ejbca/tags/Rel_3_9_7/ejbca   这是3的版本 有其他的自己找吧. 一.先介绍下接口调用: EJBC

利用MyEclipse开发一个调用webservice接口的程序

上一篇文章我们已经学习了如何使用Java 工具MyEclipse开发一个webservice接口,那么接口开发好了如何调用?接下来我们就来解决这个问题. 1:首先随便创建一个Java project选中--New  Webservice Client 2:选中JAX-WS,下一步 3:在WSDL URL里面写入接口的测试地址 ↓接下来WSDL VAlidation竟然报错了,如何解决请往下看 把localhost换位主机IP地址 下一步 ,OK 通过通过验证 客户端会默认给我们选中需要导入的包

基于Axis1.4的webservice接口开发(接口调用)

一.webservice接口代码参考上一篇博客: http://www.cnblogs.com/zhukunqiang/p/7125668.html 二.代码部分 1.新建Web Project工程,取名为axiswebserviceClint,并导入Axis1.4所需jar包(将jar包粘贴到lib目录). 2.新建webservice接口调用类: package com.no8.clint; import java.net.URL; import javax.xml.rpc.ServiceE

php中创建和调用webservice接口示例

这篇文章主要介绍了php中创建和调用webservice接口示例,包括webservice基本知识.webservice服务端例子.webservice客户端例子,需要的朋友可以参考下 作为开发者来讲,要想写webservice接口或者调用别人的webservice接口,首先需要了解什么是webservice.简单说, WebService就是一些站点开放一些服务出来, 也可以是你自己开发的Service, 也就是一些方法, 通过URL,指定某一个方法名,发出请求,站点里的这个服务(方法),接到

python使用suds调用webservice接口

最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds mac: sudo pip install suds linux: easy_install suds 也可以通过去官网下载suds代码,再本地安装 2. 引用初始化 1 >>> from suds.client import Client 2 >>> url = 'http://www.gpsso.co