webservice的实现方式?
2个回答
展开全部
Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。Internet Inter-Orb Protocol(IIOP)都已经发布了很长时间了,但是这些模型都依赖于特殊对象模型协议,而 Web Services 利用 SOAP 和 XML对这些模型在通讯方面作了进一步的扩展以消除特殊对象模型的障碍。Web Services 主要利用 HTTP 和 SOAP 协议使业务数据在 Web 上传输,SOAP通过 HTTP 调用业务对象执行远程功能调用,Web 用户能够使用 SOAP 和 HTTP通过 Web 调用的方法来调用远程对象的。
实现方式:
第一种:xfire
Client client = new Client(new URL(url));
Object[] results = client.invoke(operationName, new Object[]{ifuser,ifevent,input});
ret = (String)results[0] ;
第二种:axis
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));// 设置webservice服务的url地址
call.setOperationName( operationName);// 调用的后台webservice服务的方法为exchange
ret = (String)call.invoke(new Object[] {input});// 调用后台webservice服务
以上两种实现方式,在项目中已经使用了,运行正常。但是项目初期开始用的还是碰到一些问题,如果服务器端是java开发的,用axis掉用服务端的时候,没有问题。如果服务器端是.net开发的,会碰到莫名奇妙的问题,我估计.net服务器端参数配置修改一下应该可以调得通,由于时间紧张,我就没有深究了。换了xfire掉服务器端,结果是两种不同语言实现的系统,都可以调通了。
实现方式:
第一种:xfire
Client client = new Client(new URL(url));
Object[] results = client.invoke(operationName, new Object[]{ifuser,ifevent,input});
ret = (String)results[0] ;
第二种:axis
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));// 设置webservice服务的url地址
call.setOperationName( operationName);// 调用的后台webservice服务的方法为exchange
ret = (String)call.invoke(new Object[] {input});// 调用后台webservice服务
以上两种实现方式,在项目中已经使用了,运行正常。但是项目初期开始用的还是碰到一些问题,如果服务器端是java开发的,用axis掉用服务端的时候,没有问题。如果服务器端是.net开发的,会碰到莫名奇妙的问题,我估计.net服务器端参数配置修改一下应该可以调得通,由于时间紧张,我就没有深究了。换了xfire掉服务器端,结果是两种不同语言实现的系统,都可以调通了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询