Java WebService接口生成和调用 图文详解

webservice简介:
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制

一、 WebService生成

1.在eclipse或myclipse新建一个Web项目,并新建一个class类,用于发布;
这里写图片描述

2.编写供客户端调用的方法,即编译方法代码;
示例:

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

/**
* Title: ServiceHello
* Description: 基于jdk1.6以上的javax.jws 发布webservice接口
                @WebService - 它是一个注解,用在类上指定将此类发布成一个ws。
                Endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解
                对象绑定到一个地址的端口上。 
* Version:1.0.0  
* @author panchengming
 */
@WebService  
public class JwsServiceHello {

    /** 供客户端调用方法  该方法是非静态的,会被发布
     * @param name  传入参数
     * @return String 返回结果
     * */
    public String getValue(String name){
        return "欢迎你! "+name;
    }

    /**
     * 方法上加@WebMentod(exclude=true)后,此方法不被发布;
     * @param name
     * @return
     */
    @WebMethod(exclude=true)  
    public String getHello(String name){
        return "你好! "+name;
    }

    /** 静态方法不会被发布
     * @param name
     * @return
     */
    public static String getString(String name){
        return "再见!"+name;
    }


     //通过EndPoint(端点服务)发布一个WebService
    public static void main(String[] args) {
     /*参数:1,本地的服务地址;
           2,提供服务的类;
      */
     Endpoint.publish("http://192.168.1.105:8080/Service/ServiceHello", new JwsServiceHello());
     System.out.println("发布成功!");
     //发布成功后 在浏览器输入 http://192.168.1.105:8080/Service/ServiceHello?wsdl
    }
}

3.进行编译运行(注:失败检查jdk版本)
这里写图片描述
4.将所设地址加上?wsdl到浏览器上访问,如出现XML格式代码,则发布成功,反之,则否;(url: http://192.168.1.105:8080/Service/ServiceHello?wsdl)
这里写图片描述

二、WebService调用方法

生成代码方式一

1.新建一个class类,用于调用webservice。右键src,找到Web Service Client,并输入wsdl地址,选择下载代码的路径;(url: http://192.168.1.105:8080/Service/ServiceHello?wsdl)
这里写图片描述
这里写图片描述
这里写图片描述
2.将地址上的文件下载下来(注意和发布JDK一致);
3.写调用方法调用下载下来的WebService中的java类中的方法;
示例:

import com.pcm.ws.jws.JwsServiceHello;
import com.pcm.ws.jws.JwsServiceHelloService;

/**
 * 
* Title: JwsClientHello
* Description: webService 客户端调用
* Version:1.0.0  
* @author panchengming
 */
public class JwsClientHello {

    public static void main(String[] args) {
         //调用webservice
        JwsServiceHello hello=new JwsServiceHelloService().getJwsServiceHelloPort();
        String name=hello.getValue("panchengming");
        System.out.println(name);
    }
}

这里写图片描述

生成代码方式二
1.创建Web Service Project,命名为TheClient。
2.在dos命令下输入 wsimport -s “src目录” -p “生成类所在包名” -keep “wsdl发布地址”
示例:wsimport -s G:\workspace\webService\webService_Project\src -p com.pcm.ws.jws -keep http://192.168.1.105:8080/Service/ServiceHello?wsdl
3.成功则返回 parsing WSDL…
generating code…
compiling code…
4.刷新项目,生成类;
5,写调用方法(同上);

三、总结:

如何发布一个Web服务:
a,在类上添加@WebService注解
(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中)
b,通过EndPoint(端点服务)发布一个WebService
(注:EndPoint是jdk提供的一个专门用于发布服务的类,该类的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。位于 javax.xml.ws.Endpoint包中)
c,注:
类上添加注解@WebService,类中所有非静态方法都会被发布;
静态方法和final方法不能被发布;
方法上加@WebMentod(exclude=true)后,此方法不被发布;

该demo我放在github上了,https://github.com/xuwujing/webservice_project。 有兴趣的可以看看。

  • 61
    点赞
  • 440
    收藏
    觉得还不错? 一键收藏
  • 54
    评论
### 回答1: Java WebService 接口调用是指在 Java 代码中调用 WebService 服务的接口。要调用 WebService 接口,首先需要使用 Java 中的 WebService 客户端工具生成客户端代码,然后在代码中使用生成的代码调用 WebService 接口Java调用 WebService 接口的步骤如下: 1. 使用 wsimport 工具生成客户端代码。wsimport 工具是 Java WebService 的标准工具,可以根据 WSDL 文件生成客户端代码。例如,可以使用以下命令生成客户端代码: ``` wsimport -s [生成代码存放路径] [WSDL 文件路径] ``` 2. 在 Java 代码中使用生成的客户端代码调用 WebService 接口生成的客户端代码包括了 WebService 接口的方法和参数,可以直接调用。 ``` MyWebService service = new MyWebService(); MyWebServicePortType port = service.getMyWebServicePort(); port.callWebServiceMethod(param1, param2); ``` 其中,MyWebService 是根据 WSDL 文件生成的客户端代码类名,MyWebServicePortType 是客户端代码中 WebService 接口接口名,callWebServiceMethod 是 WebService 接口中的方法名,param1 和 param2 是调用方法时传入的参数。 以上是 Java WebService 接口调用的基本步骤,具体实现方式还需要根据具体的 WebService 服务接口和实际需求进行调整。 ### 回答2: Java Web Service是一种基于SOAP标准的Web服务协议,它使用XML和HTTP作为基础,并支持WSDL标准描述语言,以实现与应用程序不同语言和平台之间的互操作性。Java Web Service允许在分布式环境中进行应用程序之间的通信,并可实现跨不同网络和不同操作系统平台上的数据交换。Java Web Service接口调用Java应用程序与Web服务之间的一种通信方式,通常用于实现不同应用程序之间的集成和数据共享。 Java Web Service接口调用主要包含以下步骤: 1. 创建Web服务客户端:在Java应用程序中创建Web服务客户端,即建立一个SOAP协议请求,发送给Web服务提供者。 2. 生成Web服务客户端代理:为了方便Java应用程序调用Web服务,需要在客户端生成Web服务客户端代理(Proxy),这个代理包含了Web服务的所有信息,如接口、端点、操作等。 3. 构造SOAP消息:在Java应用程序中构造SOAP消息体,该消息体包含了请求的参数和方法名等信息,通过Web服务客户端代理发送给Web服务提供者。 4. 发送SOAP消息:通过Web服务客户端代理将构造好的SOAP消息发送给Web服务提供者,Web服务提供者将根据SOAP消息中的请求,返回响应数据。 5. 解析SOAP消息:Web服务客户端代理将Web服务提供者返回的SOAP消息进行解析,得到响应数据,返回给Java应用程序,实现Java Web Service接口调用Java Web Service接口调用的优点包括: 1. 实现了不同操作系统平台和编程语言之间的互操作性,扩大了应用程序的范围和灵活性。 2. 简化了应用程序之间的通信方式,只需要通过SOAP协议进行数据交换,而无需为不同的网络和操作系统进行适配。 3. 提供了良好的扩展性和可伸缩性,可以轻松地添加新的Web服务和功能,以满足不同需求。 总之,Java Web Service接口调用是一种方便、便捷的通信方式,可以使得应用程序之间的数据交换更加简单和高效,实现了跨网络、平台和语言的互操作性,为应用程序开发的广阔前景提供了支持。 ### 回答3: Java Webservice是一种基于XML协议进行网络数据传输的技术,通过调用Webservice接口可以实现不同系统之间的数据交互。Java在实现Webservice接口时使用的是JAX-WS(Java API for XML Web Services)协议,其包含了一系列的API,可用于创建和管理基于SOAP(Simple Object Access Protocol)协议的Web服务。 Java Webservice接口调用过程中一般分为以下几步: 1. 创建Webservice客户端:使用JAX-WS提供的工具或自己手动创建客户端代码,这个客户端代码会连接Webservice服务端,并向服务端发送请求和接收响应。 2. 构造SOAP消息:SOAP消息是Webservice接口通信的载体,可以使用SOAPUI或JAX-WS提供的工具来构造SOAP消息体中的header和body部分。 3. 调用Webservice方法:客户端通过调用Webservice接口中定义的方法进行交互,客户端把SOAP消息作为参数传递给该方法,服务端接收到请求后解析SOAP消息,执行相应的业务逻辑。 4. 处理返回值:服务端处理完业务逻辑后,把响应数据封装成SOAP消息返回给客户端,客户端接收到响应数据后进行解析处理,获得调用结果。 需要注意的是,不同的Webservice服务会有不同的调用方式,同时还会涉及到安全性、性能等问题。因此,在实际应用中,需要根据具体需求选择适合的Webservice服务,并且根据服务提供方提供的文档进行调用。此外,Java Webservice还需要注意生成webservice stub类的目标服务器,在编译期生成对应的文件在开发环境完成以及对客户端传递的AOP授权和安全认证措施的落实。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值