一.web service基本概念

Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

二.C#开发XML web service

简单举一个例子:在VS(任何版本)中新建一个网站,选择"ASP.NET Web服务"。将项目建好后,命名为Service。建好后你会发现VS已经将框架搭建好了

这时你运行这个程序,会在你的默认浏览器出现以下效果:

一个默认的HelloWorld链接。

然后就可以编写自己需要发布的函数了,在工程App_code文件下编写这些需要发布的函数,需要在函数前面添加声明[WebMethod]。写完以后就可以发布了。

打开asmx文件如下<%@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" class="Service" %>,是一些配置信息,就是通过这个配置信息调用Service.cs中的函数发布。
如果用IIS发布得需要安装IIS,不同版本的操作系统安装方法不同,百度一下有很多教程。IIS安装完成后,在默认网站点右键,打开属性,把主目录改为你写的这个工程的目录,并修改权限之类的,启动IIS就可以了。在浏览器的输入框中输入 http://服务器地址:端口/Service.asmx,就可以查看服务了。我写的服务效果如下:

点击期中一个函数:

点击调用,可以看到调用后的返回值:

三.用JAVA开发web service

用JAVA开发webservice的方式有很多种,我采用了最简单的一种,比较适合发布简单的服务。就是以servlet的方式将服务发布出去,为了方便起见,我将下载了一个Eclipse的Tomcat插件,将这个插件拷到eclipse的plugins文件夹下,打开Eclipse就可以看见tomcat的图标了,然后再windows->Preferences里配置一下tomcat 的版本与位置即可,这样eclipse就有些类似于Myeclipse了。

我建立了一个Tomcat project(装了上述插件才会有),在WEB-INF/src文件下添加类,我添加了两个类,一个MyService.java,一个WebServiceStarter.java。其中,MyService类用来写各种需要发布的服务,需要引进的包有:

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

还需要在这个类前声明:

@WebService(targetNamespace = "http://jdk.study.hermit.org/client")
@SOAPBinding(style = SOAPBinding.Style.RPC)

在类中,每个要发布的函数前面都要加上声明:

@WebMethod

写好这个类后,写一个servlet类:

import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.xml.ws.Endpoint;
public class WebServiceStarter extends HttpServlet {
     private static final long serialVersionUID = 5870534239093709659L;
    
     public WebServiceStarter() {
                  super();
            }
          
             public void destroy() {
                 super.destroy();
              }
          
             public void init() throws ServletException {
                  System.out.println("准备启动服务");
                  Endpoint.publish("http://localhost:8080/MyService", new MyService());
                  System.out.println("服务启动完毕");
             }
}
然后点击Tomcat小图标就可以在Tomcat下运行了,在浏览器中输入:http://127.0.0.1:8080/MyService?wsdl,看到以下结果:

发布成功!

C# 开发XML Web Service与Java开发WebService的更多相关文章

  1. 用Jersey为Android客户端开发Restful Web Service

    平时在做Android客户端的时候经常要与服务器之间通信,客户端通过服务端提供的接口获取数据,然后再展示在客户端的界面上,作为Android开发者,我们平时更多的是关注客户端的开发,而对服务端开发的关 ...

  2. Web Service学习-CXF开发Web Service实例demo(一)

    Web Service是什么? Web Service不是框架.更甚至不是一种技术. 而是一种跨平台,跨语言的规范 Web Service解决什么问题: 为了解决不同平台,不同语言所编写的应用之间怎样 ...

  3. Web Service简介与开发实例

    简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的 ...

  4. 构建安全的Xml Web Service系列之wse之证书存储位置

    原文:构建安全的Xml Web Service系列之wse之证书存储位置 我们在前几天对xml web service的安全性提出了一些建议,大家可以通过以下地址访问: 构建安全的Xml Web Se ...

  5. 构建安全的Xml Web Service系列之初探使用Soap头

    原文:构建安全的Xml Web Service系列之初探使用Soap头 Xml Web Service 从诞生那天就说自己都么都么好,还津津乐道的说internet也会因此而进入一个新纪元,可5年多来 ...

  6. 构建安全的Xml Web Service系列之如何察看SoapMessage

    原文:构建安全的Xml Web Service系列之如何察看SoapMessage 上一篇文章地址:构建安全的Xml Web Service系列一之初探使用Soap头 (5-22 12:53)     ...

  7. 构建安全的Xml Web Service系列之wse之错误代码详解

    原文:构建安全的Xml Web Service系列之wse之错误代码详解 WSE3.0现在还没有中文版的可以下载,使用英文版的过程中,难免会遇到各种各样的错误,而面对一堆毫无头绪的错误异常,常常会感到 ...

  8. 构建安全的Xml Web Service系列之SSL篇

    原文:构建安全的Xml Web Service系列之SSL篇 首先介绍一下SSL, SSL 的英文全称是 "Secure Sockets Layer" ,中文名为 "安全 ...

  9. 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告

    2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...

随机推荐

  1. Asp.NET设置Session过期时间的四种方式

    在Asp.net中,可以有四处设置Session的过期时间: 一.全局网站(即服务器)级 IIS-网站-属性-Asp.net-编辑配置-状态管理-会话超时(分钟)-设置为120,即为2小时,即120分 ...

  2. fedora 14安装经验

    初学linux系统,在win7 系统上安装VMware9.0,并用虚拟机安装fedora.安装了好几次,虽然还是没有彻底通透,但也有一点点心得,特地分享一下: 我安装fedora用于嵌入式ARM开发练 ...

  3. PacBio软件总览 - 初级分析

    PacBio® RS Software Overview PacBio运行的整个流程是什么?每一步都用到了什么软件? PacBio软件套件 RS Remote:Design runs remotely ...

  4. SAP标准价格修改

    标准MR21修改前期的价格,不会影响到当期. 相关配置 事务码OMRN. 如企业账期已经开到 2015 年 2 月,会计账期还可对 1月记账,配置后可修改1月物料价格.

  5. tcp服务的测试程序开源

    开源的是一个测试客户端,可以用来检验服务器端程序的并发处理能力. 使用方法为: python epolltest.py --host=192.168.15.128 --port=8809 --degr ...

  6. Android LayoutParams

    LayoutParams继承于Android.View.ViewGroup.LayoutParams,就是布局. LayoutParams相当于一个Layout的信息包,它封装了Layout的位置.高 ...

  7. sass less

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...

  8. centos nginx 安装

    1.下载 wget http://nginx.org/download/nginx-1.7.8.tar.gz 2.解压 tar -zxvf nginx-1.7.8.tar.gz 3.切换目录 cd n ...

  9. 一些不认识的开源js(更新ing。。。)

    孟星魂和小蝶归隐山林曾经说过,我们不问江湖事,但是不能不知道江湖事,因为我们是老伯的人(大概意思),所以有些东西可以用不到,但是一定要了解点... (首先不能人云亦云,但是有个主观观点也没啥大问题) ...

  10. [转载]SOAPUI压力测试的参数配置

    原文地址:SOAPUI压力测试的参数配置作者:goooooodlife The different Load Strategies available in soapUI and soapUI Pro ...