webservice 入门学习

1、什么是webservice?

webservice基于web的服务,使用HTTP方式,接收和响应外部系统的某种请求从而实现程序与程序之间的调用。
1、从工作模式上理解:它跟普通的web程序(如:asp,jsp等)并没有本质的区别,都是基于HTTP传输协议的程序。
2、使用的数据均是基于XML格式的。主要采用SOAP协议。SOAP协议实际上就是一种基于xml编码的文本协议。

2、如何发布一个webservice

1、用Jdk1.6.0_21以后的版本发布一个WebService服务.并通过地址栏查看它的wsdl文档. 
2、通过wsimport生成客户端代码,调用并查看运行的结果.(学会如何调用是我们的重点).需要注意的是,jdk1.6._07以后jdk版本发布WebService时必须要完整的对代码进行注解,如果使用的是jdk1.6.0_21以后版本,因为它已经内含了ws2.1所以,可以只对类添加@WebService的注解. 

例如:在jdk1.6.0_13 上发布webservice:需要注解@webservice,@SOAPBinding,@webmethod
在jdk1.6.0_24 上发布,只需要注释@webservice

3、Wsimport命令生成客户端java代码

wsimport是jdk自带的,可以根据wsdl文档生成客户端调用代码的工具.当然,无论服务器端的WebService是用什么语言写的,都将在客户端生成Java代码.服务器端用什么写的并不重要.
wsimport.exe位于JAVA_HOME\bin目录下.
 常用参数为:
• -d<目录> - 将生成.class文件。默认参数。
• -s<目录> - 将生成.java文件。
• -p<生成的新包名> -将生成的类,放于指定的包下。

例如 wsimport -s F:\working\GiveMeWords\src -p com.lc.service -keep http://localhost:9001/Service/Function?wsdl

4、WebService与普通Web程序的区别

1、 WebService只采用HTTP POST方式传输数据,不使用GET方式;
1) Http post的contentType为 application/x-www-form-urlencoded
2) WebService的contentType为 Text/xml soap1.1 application/soap+xml –soap1.2
2、WebService从数据传输格式上作了限定。WebService所使用的数据均是基于XML格式的。目前标准的WebService在数据格式上主要采用SOAP协议。SOAP协议实际上就是一种基于XML编码规范的文本协议。

5、WebService和web服务器的区别:

我们可以把WebService看作是Web服务器上应用;反过来说,Web服务器是WebService运行时所必需的容器。这就是它们的区别和联系。

6、WebService的特点:

1、 WebService通过HTTP POST方式接受客户的请求
2、 WebService与客户端之间一般使用SOAP协议传输XML数据.
3、它本身就是为了跨平台或跨语言而设计的。
步骤:
1、编写我的第一个webservice程序:

package com.lc.function;

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

@WebService
public class FirstWebService {

    public String theFirstWebMethod(){
        return "hello ,this is the first webservice";
    }

    public static void main(String args[]){
        //发布第一个webservice 地址
        Endpoint.publish("http://localhost:9001/webService/firstWebService", new FirstWebService());
        System.out.println("publish successfully...");
    }
}

2、运行FirstWebService 的main方法,将其发布,控制台出现publish successfully…即为发布成功

3、使用cmd命令中的wsimport 命令生成客户端代码

这里写图片描述

4、编写客户端代码

public class Test {

    /**
     * @description :
     * @date 2016-12-19
     * @author liucong
     * @param args
     * 
     * 
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        FirstWebService first = new FirstWebServiceService().getFirstWebServicePort();
        System.out.println(first.theFirstWebMethod());

    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值