用JSR181驱动SpringSide Web Services

和小白一起探讨,觉得如果XFire用JSR181去驱动,一定会非常简洁。
从JSR175发展过来的JSR181,早期实现于Weblogic Workshop 7.1,我们
对@WebService, @WebMethod这些标记的最初理解是将Java类通过Annotation
直接编译成Weblogic的JWS,BEA作为JSR181标准的Leader,很大胆地将
JSR181用于Weblogic 9.1,去驱动Weblogic下一代的WebService框架。

SpringSide团队开始选用XFire作为SS 1.0的时候,已经充分考虑Xfire在JSR181
支持上的优势(对比于Axis)。

作为Spring Web Services的一个最佳实践,我们已经开始考虑基于JSR181驱动的
Web Service框架,我们一致认为JSR181能够为架构解耦提供非常切实有效的
途径。

在下一个SS2.0版本中,我们考虑提供以下的DEMO:
1,基于Security的JSR181 DEMO
2,基于Conversation的JSR181 DEMO
3,基于Transaction的JSR181 DEMO
4,基于Context的JSR181 DEMO

另外,在框架考虑上,会使用JSR标记Handlers的方式(配置文件也是可以,但放在
Annotation,带来的是更好的易读性)

     package  examples.webservices.handlers;

    @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的下一个版本中,提供SOAPBinding,可以设置其Style为Document或者RPC,Encode和Literal也是能够定制的(跟Workshop一样方便),也是一件简单的事情:
None.gif @WebService
None.gif@SOAPBinding(style
= SOAPBinding.Style.DOCUMENT,
None.gifuse
= SOAPBinding.Use.LITERAL,
None.gifparameterStyle
= SOAPBinding.ParameterStyle.BARE)
ExpandedBlockStart.gifContractedBlock.gif
public   class  EchoService  dot.gif {
InBlock.gif@WebMethod(action
="echo")
InBlock.gif@WebResult(targetNamespace
=“http://www.springside.org.cn”, name="echoResult")
InBlock.gif
public String echo(
InBlock.gif@WebParam(targetNamespace
=“http://www.springside.org.cn”, name="echoMsg") String msg){
InBlock.gif
return msg;
ExpandedBlockEnd.gif}

None.gif}

同时,考虑很多人喜欢搞作SOAP Header,利用它来做一些业务标记处理,我们会支持下面的方式
@WebMethod
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.blogjava.net/security/archive/2006/10/31/Spring_JSR181_XFire_WebService.html]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值