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

在 Apache Geronimo 应用程序中实现和部署 Web 服务

 2010-03-26 00:00:00 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閹碱偆鐥閺屾洘绻濊箛鏇犵獥闂佺厧澹婃禍婊堚€旈崘顏佸亾閿濆骸澧ù鐘欏嫮绠鹃柛顐ゅ枎閻忋儲銇勯弴妯哄姦妞ゃ垺鐟╅幃鈩冩償閵囧府鎷�
核心提示: 注意,文档/包装样式中的 wsdl-message-part-name 提供了元素名,在 Apache Geronimo 应用程序中实现和部署 Web 服务(6),而不是消息部分本身的名称,另一个问题是,这是目前将数据传输到 Web 服务后端 servlet 的惟一一种可靠的方式,Web 服务后

注意,文档/包装样式中的 wsdl-message-part-name 提供了元素名,而不是消息部分本身的名称。

另一个问题是,wscompile 为返回类型是 void 的方法的返回值生成 JAX-RPC 映射(在 wsdl-return-value-mapping 元素中描述)。这些 wsdl-return-value-mapping 元素应该删除(否则在部署期间会抛出 NullPointerException)。正确的行为在 Web services for J2EE, Version 1.0 规范中还不明确(单向方式在这里不适合,因为调用可能失败,所以结果对于客户机很重要)。

部署 Web 服务

在下一步中,应该开发 webservices.xml 部署描述符。它将 WSDL、JAX-RPC 映射、处理程序和后端实现 bean 结合在一起。

为了演示 Web 服务处理程序的使用,我们实现了 WS-Security 的一部分功能。因为处理程序在方法级授权之后执行,所以处理程序不能直接用于身份验证(例如,这个业务逻辑 bean 无法公开为通过定制的处理程序执行身份验证的 Web 服务)。所以,在这个例子中,Web 服务代表外观,后端 bean 不要求授权。在执行时,这个 bean 获得安全处理程序捕获的凭证,执行手工身份验证,并以经过身份验证的客户机的身份调用 BusinessLogic EJB 方法。

服务器端处理程序在 webservices.xml 中指定。这个处理程序是一个实现 javax.xml.rpc.handler.Handler 接口的类。这个处理程序类的实例用于过滤所有到达的请求、发出的响应和错误。

客户端处理程序在 web.xml 部署描述符中的服务引用中指定。

服务器处理程序 WSSecurityServerHandler 被开发成示例应用程序的一部分,它从到达的 SOAP 请求中提取用户名和密码,并将它们放到线程本地变量中。这是目前将数据传输到 Web 服务后端 servlet 的惟一一种可靠的方式。Web 服务后端 servlet 使用这些凭证进行身份验证,并使用 Geronimo 特定的身份验证代码以经过身份验证的主体的身份调用 BusinessLogic EJB [因为只使用 Java Authentication and Authorization Service(JAAS)身份验证是不够的]。

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

Tags:Apache Geronimo 应用程序

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