用JSR181驅(qū)動(dòng)SpringSide Web Services
和小白一起探討,覺得如果XFire用JSR181去驅(qū)動(dòng),一定會(huì)非常簡潔。
從JSR175發(fā)展過來的JSR181,早期實(shí)現(xiàn)于Weblogic Workshop 7.1,我們
對(duì)@WebService, @WebMethod這些標(biāo)記的最初理解是將Java類通過Annotation
直接編譯成Weblogic的JWS,BEA作為JSR181標(biāo)準(zhǔn)的Leader,很大膽地將
JSR181用于Weblogic 9.1,去驅(qū)動(dòng)Weblogic下一代的WebService框架。
SpringSide團(tuán)隊(duì)開始選用XFire作為SS 1.0的時(shí)候,已經(jīng)充分考慮Xfire在JSR181
支持上的優(yōu)勢(對(duì)比于Axis)。
作為Spring Web Services的一個(gè)最佳實(shí)踐,我們已經(jīng)開始考慮基于JSR181驅(qū)動(dòng)的
Web Service框架,我們一致認(rèn)為JSR181能夠?yàn)榧軜?gòu)解耦提供非常切實(shí)有效的
途徑。
在下一個(gè)SS2.0版本中,我們考慮提供以下的DEMO:
1,基于Security的JSR181 DEMO
2,基于Conversation的JSR181 DEMO
3,基于Transaction的JSR181 DEMO
4,基于Context的JSR181 DEMO
另外,在框架考慮上,會(huì)使用JSR標(biāo)記Handlers的方式(配置文件也是可以,但放在
Annotation,帶來的是更好的易讀性)
????@WebService?()
????@SOAPMessageHandlers?(?{
??????@SOAPMessageHandler?(
???????className = " examples.webservices.soap_handlers.simple.ServerHandler1 " ),
??????@SOAPMessageHandler?(
???????className = " examples.webservices.soap_handlers.simple.ServerHandler2 " )
????}?)
???? public ? class ?HandlersImpl?{
???????????? // Your?Code
????}
另外,在SS2.0的下一個(gè)版本中,提供SOAPBinding,可以設(shè)置其Style為Document或者RPC,Encode和Literal也是能夠定制的(跟Workshop一樣方便),也是一件簡單的事情:














同時(shí),考慮很多人喜歡搞作SOAP Header,利用它來做一些業(yè)務(wù)標(biāo)記處理,我們會(huì)支持下面的方式
public?String?echo(
@WebParam(name="myHeader",
header=true,
mode=WebParam.Mode.INOUT)?StringHolder?header,
String?msg){
String?ret?=?header.value?+?",?"?+?msg;
header.value?=?"got?it";
return?ret;
}
[http://www.aygfsteel.com/security/archive/2006/10/31/Spring_JSR181_XFire_WebService.html]
posted on 2006-10-31 09:47 david.turing 閱讀(4291) 評(píng)論(0) 編輯 收藏 所屬分類: SOA/WebService