JAX-RPC学习笔记(3)-DII方式访问webservice
2011-08-03 07:57
666 查看
接上一篇,上一篇中webservice的访问已经简化多了,但是这种方式还要依赖于一个服务器端的interface接口,可不可以不依赖任何service端的接口?这个可以有!
DII:Dynamic Invocation Interface-动态调用接口
简单的理解上一节里需要静态依赖的那个Hello接口现在可以由JAX-RPC在运行时动态生成
不依赖webservice服务器端的任何接口,对于减少系统耦合是个福音,不过操作过程还是繁琐了一些,有没有其他的简化方案?继续学习中。。
DII:Dynamic Invocation Interface-动态调用接口
简单的理解上一节里需要静态依赖的那个Hello接口现在可以由JAX-RPC在运行时动态生成
package com.crazycoder2010.jaxrpc; import java.net.MalformedURLException; import java.rmi.RemoteException; import javax.xml.namespace.QName; import javax.xml.rpc.Call; import javax.xml.rpc.ParameterMode; import javax.xml.rpc.Service; import javax.xml.rpc.ServiceException; import javax.xml.rpc.ServiceFactory; public class HelloClient3 { //定义webservice的访问url private static String END_POINT = "http://localhost:8080/hello/helloKevin"; //服务名字 private static String SERVICE_NAME = "MyHello"; //port private static String PORT_NAME = "HelloPort"; //name space private static String BODY_NAMESPACE_URL = "http://www.crazycoder2010.com/wsdl/MyHello"; private static String NS_XSD = "http://www.w3.org/2001/XMLSchema"; private static String URI_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/"; public static void main(String[] args)throws MalformedURLException, ServiceException, RemoteException { ServiceFactory factory = ServiceFactory.newInstance(); Service service = factory.createService(new QName(SERVICE_NAME)); QName port = new QName(PORT_NAME); Call call = service.createCall(port); call.setTargetEndpointAddress(END_POINT); call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, URI_ENCODING); QName stringType = new QName(NS_XSD,"string");//设置返回值类型为string call.setReturnType(stringType); call.setOperationName(new QName(BODY_NAMESPACE_URL,"sayHello")); call.addParameter("String_1", stringType, ParameterMode.IN); String[] params = new String[]{"Kevin4"}; String result = (String)call.invoke(params); System.out.println(result); } }小结:
不依赖webservice服务器端的任何接口,对于减少系统耦合是个福音,不过操作过程还是繁琐了一些,有没有其他的简化方案?继续学习中。。
相关文章推荐
- JAX-RPC学习笔记(3)-DII方式访问webservice
- JAX-RPC学习笔记(2)-通过动态代理客户端访问webservice
- JAX-RPC学习笔记(2)-通过动态代理客户端访问webservice
- kinect学习笔记四(距离变换 distance tranform 和opencv像素访问方式)
- JAX-RPC 客户端编程 学习笔记
- TCP-IP学习笔记九:通过Spring打造通用RPC架构webService
- webservice 学习笔记,axis2传递简单对象,非stub方式
- 微软企业库5.0学习笔记(三十四)数据访问模块 各种获取数据的方式
- webservice 学习笔记,axis2 传递对象数组,非stub方式
- Ajax学习笔记2-客户端访问WebService(上)
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
- C++反汇编学习笔记6——变量在内存中的位置和访问方式
- 《汇编语言(王爽)》(第八章、实验7寻址方式在结构化数据访问中的应用)学习笔记
- 微软企业库5.0学习笔记(三十四)数据访问模块 各种获取数据的方式
- Java与Flex学习笔记(21)----Flex与Java通信方式之WebService
- Opencv2 学习笔记<一>:cv::Mat数据访问方式
- Web Service学习笔记之----JAX-RPC
- Webservice学习笔记五,Web Service实践之REST vs RPC
- IIS 学习笔记(在IIS上发布了一个webservice,访问时可以访问到其目录,但是无法打开.asmx文件)
- EJB3.0学习笔记---Bean实现多个接口的情况下定义,访问方式: