Web Service 用户使用手册.doc_第1页
Web Service 用户使用手册.doc_第2页
Web Service 用户使用手册.doc_第3页
Web Service 用户使用手册.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Web Service 用户使用手册1 概述Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。可以用任何你喜欢的语言,不同的平台中编写Web service ,而通过Web service的标准来对这些服务进行查询和访问。Web客户端Web 服务Corba 服务防火墙DB 服务Socket 服务WSDL以下是网络拓扑图:2 服务接口2.1 历史数据服务接口介绍:1) 读取各时间点上对应的量测值,主要用在描绘曲线上。public TimeSerie ReadAtTime(long timeStamps, SetUp setups, ItemErrorHolder itemErrors )输入:timeStamps:时间序列,Corba时间,单位是100纳秒。Setups:量测对象序列,ResourceID或者是PathName。输出:itemErrors:错误信息,错误的原因、ResourceID/PathName。TimeSerie:量测对象对应的量测值,类型有double、int、string等。2) 读取某一段时间的量测最大值、最小值、平均值,主要用于数据统计上。public TimeSerie ReadProcessed (TimeInterval interval, long sampleInterval, ProcessedRef itemRefs, ItemErrorHolder itemErrors )输入:Interval:时间段,包含起始时间和截止时间,Corba时间,单位是100纳秒。sampleInterval:时间间隔,单位是秒,等于0取得实时的最大值、最小值、平均值,大于0取得这些时间间隔点上对应的最大值、最小值、平均值。输出:itemErrors:错误信息,错误的原因、ResourceID/PathName。TimeSerie:量测对象对应的量测值,类型有double、int、string等。2.2 图形服务接口介绍:1) 取得图形服务器上所有的图形文件名。public String getGraphList ()输入:无。输出:图形文件名的序列。2) 取得某一图形文件的描述信息,例如:最后一次修改,文件大小等。public GraphDescLocal getGraphDesc(String GraphName)输入:GraphName:图形文件名。输出:图形文件信息:最后一次修改,文件大小等3) 取得某一图形文件的内容,主要用于下载图形到本地。public byte getGraphData(String GraphName, boolean ReadFlag)输入:GraphName:图形文件名。ReadFlag:是否优化处理。输出:图形文件的内容,是二进制值。2.3 实时服务接口介绍:1) 取得量测对象的实时值,主要用于实时数据的监视上。public ItemStateSimpleIO_wsdl read(int data_source, ServerItemIdentification_wsdl ids, ItemErrorsHolder_wsdl errors)输入:data_source:数据来源,来自程序内存、RTU等。ids:量测资源对象信息序列,包括ResourceID/PathName、PropertyID。输出:Errors:错误信息,错误的原因、ResourceID/PathName。ItemStateSimpleIO_wsdl:量测资源的当前值,类型有double、int、string等。3 访问方式服务端代码:class MyService String Hello(String str);客户端访问Web service的方法如下:1) 代理客户端这种方式比较简单,一般是根据Web Service厂家提供的工具先生成客户端代理源码,然后再根据编程规范,利用这些源码编写客户端代码。Axis1-2是Apache公司的Web Service开发包,在已知一个WSDL路径下如下命令取得客户端代理源码:java -classpath %CLASSPATH% org.apache.axis.wsdl.WSDL2Java -p hsdaitemclient 8:8080/axis/services/MyService?wsdl生成如下四个文件:MyService.javaMyService_Service.java。MyService_ServiceLocator.javaMyService_SoapBindingStub.java实现代码,调用Web服务的Hello函数接口:MyService_Service service = new client. MyService_ServiceLocator (); client. MyService client = service.getMyService(); String retValue=client.Hello (zhangsan);还有一些别的Web Service开发包,例如:jwsdp-2.0,利用wscompile和wsdeploy命令进行Web Service的发布和客户端开发。2) 硬编码这种方式是比较复杂的,就是对Web Service非常了解,利用Soap包,自己封装接口调用的输入,自己解析返回值,代码量相当的大。例如一个调用Hello的代码(C+):ISoapSerializerPtr m_spSerializer;ISoapConnectorPtr m_spConnector;/ Begin the message.m_spConnector-PropertySoapAction = MyService;m_spConnector-BeginMessage();m_spSerializer-Init(_variant_t(IUnknown*)m_spConnector-InputStream);/ Build the SOAP Message.m_spSerializer-StartEnvelope(,);m_spSerializer-StartBody();m_spSerializer-StartElement(Hello,);m_spSerializer-StartElement(str,);m_spSerializer-WriteString(_bstr_t(str.local8Bit().data();m_spSerializer-EndElement();m_spSerializer-EndElement();m_spSerializer-EndBody();m_spSerializer-EndEnvelope();/ Send the message to the XML Web service.m_spConnector-EndMessage();/ Read the responseISoapReaderPtr spReader;HRESULT hr = spReader.CreateInstance(_uuidof(SoapReader30);if (hr = CO_E_NOTINITIALIZED)CoInitialize(NULL);hr = spReader.CreateInstance(_uuidof(SoapReader30);/ Connect the reader to the output stream of the connector object.spReader-Load(_variant_t(IUnknown*)m_spConnector-OutputStream), );/ Get the result.b = (QString(spR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论