webService

WEBSERVICE连接ORACLE 这个过程分三步走: 一创建WEBSERVICE(C#) 二 C#连接ORACLE (PS:我开发WEBSERVICE用的是C#); 三 VS下MFC程序调用WEBSERVICE。 现将其中碰到的问题及解决过程记录如下: 一 IIS的配置及WEBSERVICE的初实例:    刚开始就需要用到IIS及WEBSERVICE,折腾了我一周,深表恶心。关于IIS及WEBSERVICE的问题,在 阅读详情

WebService

标签(空格分隔): webService


一、什么是webService:
webService即WEB服务。它使一种跨编程语言和操作系统的远程调用技术。

1、采用标准的SOAP(Simple Object Access Protocol)协议传输。SOAP属于w3c标准。
2、采用wsdl作为描述语言的webService使用说明书,wsdl属于w3c标准。
3、xml是webService跨平台的基础。

二、webService的使用场景

1、多个异构系统的集成
2、发布公共的服务接口

三、webService的三要素

1、SOAP
    SOAP是一种简单对象访问协议(Simple Object Access Protocol)是一种简单的基于XML的协议。它使用成语通过HTTP来交换信息,可以理解为:SOAP = HTTP + XML。
SOAP不是webService的专有协议,其他应用协议也使用SOAP传输数据。如:SMTP等。
2、WSDL(webService description language)
    是基于xml的御用描述webService及函数,参数,返回值。也就是说wsdl是webService的使用说明书。
3、UDDI
    UDDI是一种目录服务,企业经自己开发的webService注册在UDDI,也可以使用别的企业在UDDI上注册的服务,从而达到资源共享,促进全球经济合作。

四、使用JAX-WS开发webService

    JAX-WS 的全称为 Java API for XML-Based Webservices ,早期的基于SOAP 的JAVA 的Web 服务规范JAX-RPC(Java API For XML-RemoteProcedure Call)目前已经被JAX-WS 规范取代。从java5开始支持JAX-WS2.0版本,Jdk1.6.0_13以后的版本支持2.1版本,jdk1.7支持2.2版本。
  • 编程思路
    1、编写SEI(Service Endpoint Interface)
    2、发布服务类
    3、根据服务地址查看wsdl(使用说明书)
    4、根据wsdl生成客户端代码
    使用命令:wsimport -s . -p 包名 wsdl地址
    5、客户端调用
  • 编码

    1. 编写SEI(ServiceEndpoint Interface),SEI在webservice中称为portType,在java中称为接口

      /**
       * 天气服务接口
       * @author MOTUI
       *
       */
      public interface WeatherService {
      
          /**
           * 根据城市名称获得天气情况
           * @param cityName
           * @return
           */
          public String getWeather(String cityName);
      }
    2. 编写SEI实现类,此类作为webservice提供服务类

      /**
       * 服务接口实现类
       * @author MOTUI
       *
       */
      @WebService
      public class WeatherServiceImpl implements WeatherService {
      
          @Override
          public String getWeather(String cityName) {
              if ("北京".equals(cityName)) {
                  return "阴转多云,18~25摄氏度";
              }
              return "其他地区正在完善";
          }
      }
      
    3. 发布服务

       /**
       * 发布服务
       * @author MOTUI
       */
      public class TestPublishService {
      
          public static void main(String[] args) {
              System.out.println("发布Service");
              /**
               * 两个参数
               * 参数1:对外访问地址
               * 参数2:发布的Service实现类
               * 地址中的端口号自己定义,只要不冲突即可
               */
              Endpoint.publish("http://localhost:9999/ws", new WeatherServiceImpl());
          }
      }
      
    4. 测试服务是否发送成功
      这里写图片描述

    5. wsdl的阅读
      a.wsdl从上往下阅读
      b.首先在wsdl中找到service 的name 也就是服务视图名
      c.通过服务视图名找到对应的binding,通过binding找到对应的type
      d.通过type找到对应的portType,要调用的方法,参数,返回值,描述都在PortType中

      这里写图片描述

    6. 生成客户端代码
      a.Wsimport介绍

           wsimport是jdk自带的webservice客户端工具,可以根据wsdl文档生成客户端调用代码(java代码).当然,无论服务器端的WebService是用什么语言写的,都可以生成调用webservice的客户端代码,服务端通过客户端代码调用webservice。
           wsimport.exe位于JAVA_HOME\bin目录下.
      

      b.常用参数为:

       -d<目录>  - 将生成.class文件。默认参数。
       -s<目录> - 将生成.java文件。
       -p<生成的新包名> -将生成的类,放于指定的包下。
       (wsdlurl) http://server:port/service?wsdl,必须的参数。
      
       示例:wsimport -s . -p 包名 wsdlurl
       注意:-s不能分开,-s后面有个小点
      
    7. 客户端调用
      方式一:

       /**
       * 测试客户端
       * @author MOTUI
       *
       */
      public class TestClient {
      
          public static void main(String[] args) {
              //获得WeatherServiceImplService对象
              WeatherServiceImplService serviceImplService = new  WeatherServiceImplService();
              //通过WeatherServiceImplService对象获得WeatherServiceImpl核心类
              WeatherServiceImpl serviceImplPort = serviceImplService.getWeatherServiceImplPort();
              //调用方法
              String weather = serviceImplPort.getWeather("北京");
              System.out.println(weather);
          }
      }

      方式二【标准的webService调用方式】:

      /**
       * 测试客户端
       * @author MOTUI
       *
       */
      public class TestClient1 {
      
          public static void main(String[] args) throws Exception {
              //服务器地址
              URL url = new URL("http://localhost:9999/ws?wsdl");
              /**
               * 参数1:wsdl 中的targetNamespace
               * 参数2:wsdl 中的服务视图名称
               */
              QName qName = new QName("http://service.motui.com/","WeatherServiceImplService");
      
              /**
               * 参数1:wsdl 地址
               * 参数2:QName
               */
              //创建服务器对象
              Service service = Service.create(url,qName);
              //获取protType
              WeatherServiceImpl port = service.getPort(WeatherServiceImpl.class);
              //调用方法
              String weather = port.getWeather("北京");
              System.out.println(weather);
          }
      }

    五、webService的优缺点
    优点:

    1、采用xml支持跨平台远程调用
    2、基于http的SOAP协议,可跨越防火墙
    3、支持面向对象开发
    4、有利于软件和数据的重用,实现松耦合。
    

    缺点:

    由于SOAP是基于xml传递数据,xml本身传递数据时会传输一些无关数据从而效率不高,随着SOAP协议的不断完善,SOAP协议增加了许多内容,这样那个就导致了使用SOAP协议去完成简单的数据传输的效率不高。
    
ASP调用WEBSERVICE文档 ASP调用WEBSERVICE----INDEX----1. soap请求方式2. post请求方式3. SHOWALLNODE函数(关于节点各属性和数据显示)---------------------一.SOAP请求示例下面是一个 SOAP 请求示例。所显示的占位符需要由实际值替换。POST /WebService1/UserSignOn.asmx HTTP/1.1Host: 192.100.1 阅读详情

相关推荐

什么是WEBService,实现WEBService有哪些框架

这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能,本篇分享的是: 【 什么是WEBService,实现WEBService有哪些框架】 github:https://ptteng.github.io/PPT/PPT-java/Java-task2-webservice....

IT修真院:初学者转行到互联网的聚集地 1657

WebService全面详解

https://blog.youkuaiyun.com/ITITII/article/details/79609073

renxingzhadan的专栏 5万+

WebService

WebService接口开发

WebService最详细教程

WebService相关概念 基础概念 WebService是一种跨编程语言和跨操作系统平台的远程调用技术,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行 所谓远程调用,就是一台计算机a上 的一个程序可以调用到另外一台计算机b上的一个对象的方法无论它们所使用的语言、 平台或内部协议是什么, 都...

helloloser的博客 1451

WebService, 轻量级WebService

轻量级WebService,打包了轻量级WebService hessian的一个简单demo,还有Xfire的一个简单demo,还有一些PPT文档,相对来说,对于没有入门的童鞋们来说是个不错的资源,免费共享给大家,互相共勉(我也是菜鸟)。

webservice

该文件包含两个项目,及服务器端,客户端,主要涉及到webservice与spring的集成,可供大家参考!

WebService详细讲解

webservice,soap,cxf

wjl187389的博客 1万+

Understanding Lockup Cells

工具会分析扫描链和EDT逻辑之间的控制时序元素的时钟的时序关系,当必须要同步时钟并保持数据完整性时插入边沿触发寄存器(lockup cells)。可以使用report_edt_lockup_cells命令来展示工具已经插入的lockup cells的详细报告。

weixin_44954910的博客 1081

WebService总结

这里远程调用服务端只需要使用WebClient工具类即可完成,他调用请求方法后所返回的返回值为Response对象,该对象可以通过readEntity()方法来获取特定类型的返回值供我们使用。

m0_60027772的博客 2961

CarPlay无线连接开发实战:从蓝牙EIR查询到iAP2认证的完整代码逻辑梳理

本文详细解析了无线CarPlay连接开发的完整流程,从蓝牙EIR查询到iAP2认证的代码实现。重点介绍了蓝牙握手、WiFi Beacon帧配置、热点信息准备等关键环节的实战技巧,帮助开发者快速搭建稳定可靠的无线CarPlay连接系统。

weixin_31534091的博客 321

【Autoware】Autoware.universe安装过程与问题记录

Autoware.universe安装过程与问题记录

DevFrank的博客 2740

WebService详解

WebService 什么是Webservice? Web Service是自包含的、模块化的应用程序,它可以在Web中被描述、发布、查找以及调用。 webservice是基于网络的,分布式的模块化组件,他执行特定的任务,遵守具体的技术规范,这些规范使得webservice能与其他兼任的组件进行操作。 由企业发布的完成其特别商务需求的在线应用服务,其他公司或软件通过Internet来访问并使用这项应用服务 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2MFXviF

qq_43332594的博客 8498

吊打BEVFormer!GaussianBeV实战:用3D高斯开启BEV分割新范式

GaussianBeV是一种基于3D高斯建模的BEV分割新方法,在自动驾驶感知任务中实现了SOTA性能。其核心创新在于将场景元素表示为3D高斯分布,通过均值、协方差和权重精确描述物体位置、形状和置信度,相比传统BEV方法具有更强的空间建模能力。文章详细介绍了GaussianBeV的原理、环境配置、训练推理流程及其在自动驾驶和城市3D重建中的应用,并讨论了优化方向和未来发展趋势。该方法在nuScenes等数据集上表现出色,为BEV分割任务提供了新的解决方案。

m0_71589036的博客 106

关于TUXEDO和WEBSERVICE

TUXEDO和WEBSERVICE

1101的专栏 2512

SQL Server数据库备份与恢复

在 SQL Server 中,数据库备份与恢复是保障数据安全的核心操作。

zjw541806的博客 1876

FFMPEG音视频开发: Linux下采集音频(alsa-lib库)、视频(V4L2框架)数据编码并实时推流到RTMP流媒体服务器,达到直播功能(推流)

一、环境介绍 操作系统: VM虚拟机运行的ubuntu18.04 FFMPEG版本: 4.4.2 摄像头: 罗技USB摄像头、电脑自带摄像头 声卡:电脑自带声卡 二、FFMPEG、X264的安装 参考这里:FFMPEG开发: Linux下采集摄像头数据录制成MP4视频保存到本: 地https://blog.youkuaiyun.com/xiaolong1126626497/article/d...

2991

浅析RPC与WebService

虽然现在非常火的RPC技术以SpringCloud和Dubbo(x)为主流,但是如果做接口调用,还是逃不了要用一些较传统的技术。前几天在做接口调用时恰巧用到了WebService的相关技术(8,9两节是真实的开发),正好都在这里写一写。 1. RPC相关基础 1.1 什么是RPC ----| RPC(Remote Procedure Call),远程过程调用,它是一种通过网络从远程计算机程...

1 1万+

ESD防护设计宝典(十):RE(辐射发射)超标问题排查与解决

RE测试是EMC认证的“头号杀手”。当屏幕上出现一根根超标频谱线时,如何快速定位元凶并有效整改?本讲将带你化身电磁侦探,完成一次完美的RE问题“缉凶”。

m0_56451176的博客 394

Flutter访问webservice

首先要先了解一下webservice(参照以下的链接内容) https://blog.youkuaiyun.com/u011199063/article/details/78550005 以下是我的服务端包结构 服务端有个LoginService的类里面的getWareHouse方法其实就是我真正的想要去调用的方法。 LoginService服务端发布之后,告诉我们访问的网址是 http://localhost:8080/FlutterService/services/LoginService 我的电脑的ip是19

qigaidawang111的博客 993

C语言试题一之计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和

1、题目 计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和 2、源代码实现 #include <stdio.h> #include <math.h> double fun1(int n) { if (n <= 0) return 0; int i; double sum = 0.0; for (i = 1; i <= n;...

码莎拉蒂 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SAP 建立WebService

Web service是一种通用的接口方式,通过WEB实现系统间的通讯,所以掌握WEB SERVICE的接口方式,可以有效的为我们提供接口设计方法。 下面我们开始介绍.NET调用WEB SERVICE的实现方法: 1. 在R3中创建remote enable的RFC 在R/3中创建一个通过参数CARRID获取FLIGHTS数据的RFC: 定义属性为Remote-Enabled 在IMPO

~ Caesar's wish书屋 ~ 816

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ABAP 发布webservice&调用外部webservice

本文讲述了SAP如何发布一个webservice已经如何调用外部的webservice、 1.SE37创建一个函数并且开启远程启用模块 2.se80---->右键创建企业服务 3.SOAMANAGER 去绑定服务 上图框中就是我们的需要提供给第三方的服务地址 将上述地址的网页保存为WSDL的文件,发给第三方系统, 这里开始,我们将自己消费上面发布的webservice 1.SE...

IamRunjiang的博客 4104

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

CPI系列 透传S4的webservice

点击蓝字关注我们一前言CPI是SAP公司提供的云服务,功能类似于PI/PO,用于集成多个系统之间的调用本文主要介绍怎么通过CPI调用S4系统发布的WEBSERVICE.(相当于通过CPI...

ABAP 技巧与实战 2482

WebService与Socket的区别及什么是webservice

WebService与Socket的区别1.区别区别1区别22. 结论3.Socket和WebService应用场景4.WebService 到底是什么?4.1 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。4.2WebService平台技术4.3 WebService开发5.适用场合6.不适用场合 1.区别 区别1 Socket是基于TCP/IP的传输层协议。...

peter_ou的博客 1337
上一篇: spring bean的生命周期
下一篇: webService之Apache CXF
motui
博客等级 码龄10年 84粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值