webservice(什么是webservice,什么情况下使用,如何使用)
本文目录
- 什么是webservice,什么情况下使用,如何使用
- 怎样在myecplise8开发webservice 简单实例
- webservice接口是什么它有什么作用
- WEBService是什么意思
- webservice 返回json 接口 案例
- Node.js 调 webservice 有什么好的例子吗
- webservice到底是怎么一回事
- java webservice例子,例子完整,最好有注释,demo也行!但是一定要完整!谢谢!
什么是webservice,什么情况下使用,如何使用
跨越防火墙的通信如果你的应用程序有成千上万的用户,而且他们都分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。那是因为客户端和服务器之间通常都会有防火墙或者代理服务器。在这种情况下,你想使用DCOM就不是那么简单了,而且,通常你也不愿意把你的客户端程序发布到如此庞大数量的每一个用户手中。于是,你最终选择了用浏览器作为客户端,写下一堆ASP页面,把应用程序的中间层暴露给最终用户。结果呢?运气好的话,只是开发难度大了一些,运气不好的话,就会得到一个根本无法维护的应用程序。想象一下你应该怎么在你的应用程序里面加入一个新的页面:你必须先建立好用户界面(Web页面),以及在这个页面后面,包含相应商业逻辑的中间层组件。这还不够,你还要再建立至少一个ASP页面,用来接受用户输入的信息,调用中间层组件,把结果格式化为HTML形式,最后还要把结果页送回浏览器。要是客户端代码不再如此依赖于HTML表单,客户端的编程不就简单多了吗?还有,建立ASP页面的那一步可以省略掉吗?当然。如果你的中间层组件是Webservice的话,你完全可以从用户界面直接调用中间层组件,从而省掉建立ASP页面的那一步。要调用Webservice,你可以直接使用MicrosoftSOAPToolkit或.NET这样的SOAP客户端,也可以使用你自己开发的SOAP客户端,然后把它和你的应用程序连接起来。这样做,不仅可以缩短开发周期,还可以减少代码的复杂度,并增强整个应用程序的可维护性。同时,你的应用程序也不再需要在每次调用中间层组件时,都跳转到相应的结果页了。
怎样在myecplise8开发webservice 简单实例
1.1.系统功能:开发一个计算器服务CalculateService,这个服务包含加(plus)、减(minus)、乘(multiply)、除(divide)的操作。1.2.开发前准备:安装Eclipse-jee;下载最新版本的Axis2,网址代码如下:HelloServiceTest.javaimport javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; public class HelloServiceTest { public static void main(String args) throws AxisFault { // 使用RPC方式调用WebService RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); // 指定调用WebService的URL EndpointReference targetEPR = new EndpointReference(“http://localhost:8080/WebServiceTest1/services/HelloService“); options.setTo(targetEPR); // 指定要调用的sayHelloToPerson方法及WSDL文件的命名空间 QName opAddEntry = new QName(“http://webservice.sjtu.edu“,“sayHelloToPersonNew“); // 指定sayHelloToPerson方法的参数值 Object opAddEntryArgs = new Object { “xuwei“ }; // 指定sayHelloToPerson方法返回值的数据类型的Class对象 Class classes = new Class { String.class }; // 调用sayHelloToPerson方法并输出该方法的返回值 System.out.println(serviceClient.invokeBlocking(opAddEntry,opAddEntryArgs, classes)); } }
webservice接口是什么它有什么作用
webService接口是一种常用的短信群发提交接口,使用时可以象调用一般函数一样调用WebService的方法。
作用是:该接口主要用于客户自身的软件、网站或其他产品,需要将短信群发功能集成于软件、网站内作为产品整体功能的一部分,在这种情况下可以使用WebService接口来提交短信。实现WebService接口的短信群发功能需要有一定的基本编程能力。如VC++、Delphi、ASP等。
扩展资料:
WebService接口技术支持
1、XML
可扩展的标记语言(标准通用标记语言下的一个子集)为Web Service平台中表示数据的基本格式。XML是由万维网协会(W3C)创建,W3C制定的XML SchemaXSD定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。
2、SOAP
SOAP用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。
3、WSDL
Web Service描述语言WSDL,就用机器能阅读的方式提供的一个正式描述文档而基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web Service及其函数、参数和返回值。
参考资料来源:百度百科-短信平台接口
参考资料来源:百度百科-webService
WEBService是什么意思
webservice是和remoting对应的1. remoting 是MarshByReference的,可以传变量的引用,直接对服务器对象操作。速度快,适合intranet。 webservice 是MarshByValue的,必须传对象的值。速度慢,可以过FIREWALL,配置比较简单,适合internet。2. 一般来说,remoting是和平台相关的,需要客户和服务器都是.NET,但可配置特性比较好,可以自定义协议。web service可以做到跨平台通信,但必须采用SOAP协议。3. soap消息有rpc和文档两种样式。 文档样式的body元素中包含一个或多个元素,可以是任何内容,只要接受者理解就行了。rpc样式的的body元素中包含调用的方法或远程过程的名称,以及 代表方法参数的元素。 .net对这两种样式的实现就是web service 和remoting
webservice 返回json 接口 案例
问题:
我将结果内容用字符串拼接成Json数据并返回的时候,会在结果前面添加xml头部,结果如下。
产生如上数据的Webservice接口代码如下。
解决方案:
改变数据的返回方式,用 Context.Response.Write代替return 语句,修改GetQrCodeList方法如下即可返回正确的Json格式数据。
返回结果如下:
Node.js 调 webservice 有什么好的例子吗
ava调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。1、编写代码方式:
package com.yudun.test;import java.rmi.RemoteException;import org.apache.axis.client.Call;import org.apache.axis.client.Service;import org.apache.axis.message.PrefixedQName;import org.apache.axis.message.SOAPHeaderElement;import com.cezanne.golden.user.Exception;import com.cezanne.golden.user.UserManagerServiceProxy;import javax.xml.namespace.QName;import java.net.MalformedURLException;import javax.xml.rpc.ServiceException;import javax.xml.soap.Name;import javax.xml.soap.SOAPException;public class testWebService {public static String getResult() throws ServiceException, MalformedURLException, RemoteException, SOAPException{//标识Web Service的具体路径String endpoint = “WebService服务地址“;// 创建 Service实例Service service = new Service(); // 通过Service实例创建Call的实例Call call = (Call) service.createCall();//将Web Service的服务路径加入到call实例之中.call.setTargetEndpointAddress( new java.net.URL(endpoint) );//为Call设置服务的位置// 由于需要认证,故需要设置调用的SOAP头信息。 Name headerName = new PrefixedQName( new QName(“发布的wsdl里的targetNamespace里的url“, “string_itemName“) ); org.apache.axis.message.SOAPHeaderElement header = new SOAPHeaderElement(headerName); header.addTextNode( “blablabla“ ); call.addHeader(header);// SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(“发布的wsdl里的targetNamespace里的url“, “SoapHeader“); // soapHeaderElement.setNamespaceURI(“发布的wsdl里的targetNamespace里的url“); // try // { // soapHeaderElement.addChildElement(“string_itemName“).setValue(“blablabla“); // } // catch (SOAPException e) // { // e.printStackTrace(); // } // call.addHeader(soapHeaderElement); //调用Web Service的方法org.apache.axis.description.OperationDesc oper;org.apache.axis.description.ParameterDesc param;oper = new org.apache.axis.description.OperationDesc();oper.setName(“opName“);param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName(““, “arg0“), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName(“接下来写一个Test类,在main函数中输入如下代码:String endpoint = “服务器的WebService的地址“;YourWebServiceNameProxy umsp = new YourWebServiceNameProxy (endpoint);try {String resultStr = umsp.opMethod(“arg0“,“arg1“);System.out.println(resultStr);} catch (Exception e) {System.out.println(“异常“);e.printStackTrace();} catch (RemoteException e) {System.out.println(“RemoteException异常“);e.printStackTrace();}webservice到底是怎么一回事
举个最简单的例子, A系统有一个功能能够计算a+b(a,b是两个参数) 。 A系统可以把这个功能通过SOAP协议(或者其他协议)以上,码字不易,望采纳
java webservice例子,例子完整,最好有注释,demo也行!但是一定要完整!谢谢!
刚好 我这两天也在学webservice,给你一个我才学的例子1.解压axis压缩包,然后解压,取出里面的webapps里面的axis项目放到tomcat中的webapps中,然后启动tomcat项目的发布有两种形式1.即时发布 直接在axis中放置java源文件,注意后缀名字改为.jws.注意源文件中不要有任何的导包语句详细步骤如下 1.直接在axis目录下编写java源文件,写好后把后缀名改为jws。如Demo.jws 2.重启动服务器,在浏览器中输入详细步骤以一个add为例子1.编写javaBean代码public class add { public Integer getAdd(Integer a, Integer b){ return a+b; }}2.将class文件放入axis中的webinf下的classes中注意,如果该类有包的话,就要建立相应的文件名,如package com.ssh.webservice那么classes文件下就要有相应的com文件夹,ssh文件夹,webservice文件夹3.写上他的描述文件wsdd文件描述文件直接放到classes中即可,名字为deploy.wsdd,文件为《deployment xmlns=“http://xml.apache.org/axis/wsdd/“ xmlns:java=“http://xml.apache.org/axis/wsdd/providers/java“》 《service name=“Add“ provider=“java:RPC“》list中显示的名字 《parameter name=“className“ value=“add“/》调用的类 《parameter name=“allowedMethods“ value=“*“/》指定调用的方法 《/service》《/deployment》4.编写批处理文件.bat文件,如下set classpath=%classpath%;E:\ur2001Tomcat\apache-tomcat-6.0.32\webapps\axis\WEB-INF\lib\axis.jar;set classpath=%classpath%;E:\ur2001Tomcat\apache-tomcat-6.0.32\webapps\axis\WEB-INF\lib\axis-ant.jar;set classpath=%classpath%;E:\ur2001Tomcat\apache-tomcat-6.0.32\webapps\axis\WEB-INF\lib\commons-discovery-0.2.jar;set classpath=%classpath%;E:\ur2001Tomcat\apache-tomcat-6.0.32\webapps\axis\WEB-INF\lib\commons-logging-1.0.4.jar;set classpath=%classpath%;E:\ur2001Tomcat\apache-tomcat-6.0.32\webapps\axis\WEB-INF\lib\jaxrpc.jar;set classpath=%classpath%;E:\ur2001Tomcat\apache-tomcat-6.0.32\webapps\axis\WEB-INF\lib\log4j-1.2.8.jar;set classpath=%classpath%;E:\ur2001Tomcat\apache-tomcat-6.0.32\webapps\axis\WEB-INF\lib\saaj.jar;set classpath=%classpath%;E:\ur2001Tomcat\apache-tomcat-6.0.32\webapps\axis\WEB-INF\libwsdl4j-1.5.1.jarjava org.apache.axis.client.AdminClient E:\ur2001Tomcat\apache-tomcat-6.0.32\webapps\axis\WEB-INF\classes\deploy.wsdd然后运行该批处理文件5.启动服务器,在浏览器中输入项目的发布地址,如http://127.0.0.1:8080/axis/就会有已个list,然后点进方法6.编写客户端代码,如下package com.ssh.client;import org.apache.axis.client.Call;import org.apache.axis.client.Service;import javax.xml.namespace.QName;public class TestClient{ public static void main(String args) { try { String endpoint = “http://127.0.0.1:8080/axis/services/Test01“;这个地址是值xml文件中的最后一行的local地址 Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName(new QName(“getMessage“) );指定调用的方法 String ret = (String) call.invoke( new Object { } );如果有参数需要传入的话直接在括号里面写上1,2,2等 System.out.println(ret); } catch (Exception e) { System.err.println(e.toString()); } }}我这里还有webservice的教学视屏,要的话说一声
更多文章:

matlab递归函数的例子(急急急!!!求解matlab实现递归函数)
2025年2月12日 21:30

class的中文是什么意思?请问Adobe的Lightroom Classic CC和Ligtroom CC哪个好
2025年3月28日 22:00

european union(European union是什么意思)
2025年2月14日 23:00

js splice会改变原数组吗(Javascript中如何删除数组中指定元素后形成新的数组)
2025年3月19日 12:40

怎样使用 fiddler抓取网络数据包?如何使用WireShark抓取数据包
2025年3月18日 23:00

软件配置管理工程师(软件配置管理,测试工程师,数据分析,项目经理助理)
2025年3月25日 07:00

enterpassword什么意思中文(电脑显示enter password什么原因造成的)
2025年2月26日 10:30

Django中views如何设置全局变量?Eviews软件有哪些功能
2025年3月15日 19:10

fileoutputstream写入文件(如何将一个Stream类型的流写入一个文件中)
2025年2月20日 14:20