WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院软件开发Java 用 Java 客户机调用 Web 服务: J2SE 和 J2EE 环境... 阅读

用 Java 客户机调用 Web 服务: J2SE 和 J2EE 环境中 Web 服务客户机简介

 2009-11-05 00:00:00 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閹碱偆鐥閺屾洘绻濊箛鏇犵獥闂佺厧澹婃禍婊堚€旈崘顏佸亾閿濆骸澧ù鐘欏嫮绠鹃柛顐ゅ枎閻忋儲銇勯弴妯哄姦妞ゃ垺鐟╅幃鈩冩償閵囧府鎷�
核心提示: 此方法的优势在于它的简单性,基本上指需要两行代码来访问和调用 Web 服务的操作,用 Java 客户机调用 Web 服务: J2SE 和 J2EE 环境中 Web 服务客户机简介(7),然而,您需要知道开发时的 WSDL URL 并且运行您的从 WSDL 到 Java 的映射工具,如果您没有这方

此方法的优势在于它的简单性。基本上指需要两行代码来访问和调用 Web 服务的操作。然而,您需要知道开发时的 WSDL URL 并且运行您的从 WSDL 到 Java 的映射工具。另外,这些存根不是可移植的,因为它们依赖于实现类,并且不应该作为应用程序的一部分进行打包。可移植存根的设计超出了 JAX-RPC 1.0 和 1.1 的范围。

动态代理


您可以使用代理从 JAX-RPC Service中调用 Web 服务的操作。代理是实现 SEI 的 Java 类。获得代理使用的是 JAX-RPC Service 的getPort() 方法,它接受您想要调用的 Web 服务的端口的名称(存在于 WSDL 文档中)以及代理实现的 SEI。它之所以称为 动态是因为该代理是在运行时创建的。动态代理客户机的步骤如下:

获取一个 JAX-RPC Service 。

使用 JAX-RPC Service 的 getPort() 方法来获得一个代理以调用 Web 服务的操作。

在步骤1中,对于受管客户机,通过把 WSDL URL 以及 Web 服务名参数传送到 createService() 方法来获得 JAX-RPC Service 。对于 J2EE 容器管理的客户机,您通过 JNDI 查找来获取 JAX-RPC Service 。 清单5展示了在 Web 服务上调用“getGreeting”操作的动态代理方法(步骤2)。

清单 5. 在动态代理上调用 Web 服务的操作
String namespace = "http://Hello.com"; 
String portName = "Hello"; 
QName portQN = new QName(namespace, portName); 
    
Hello myProxy = service.getPort(portQN, Hello.class); 
System.out.println(myProxy.getGreeting("Jane")); 

这是所有您为了使用动态代理方法调用 Web 服务而需要编写的代码。使用这种方法的优势在于您可以编写可移植的、厂商无关的代码。然而,您需要知道开发时的 WSDL URL,并且需要在运行之前根据 WSDL 文档运行您的从 WSDL 到 Java 的映射工具。如果您没有这方面的信息,或者 WSDL URL 很可能改变,那么您应该改为使用 DII 方法。

上一页  2 3 4 5 6 7 8 9  下一页

Tags:Java 客户机 调用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接