java jsr181版客户端_用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一样方便),也是一件简单的事情:

4f1150b881333f12a311ae9ef34da474.png@WebService

4f1150b881333f12a311ae9ef34da474.png@SOAPBinding(style=SOAPBinding.Style.DOCUMENT,

4f1150b881333f12a311ae9ef34da474.pnguse=SOAPBinding.Use.LITERAL,

4f1150b881333f12a311ae9ef34da474.pngparameterStyle=SOAPBinding.ParameterStyle.BARE)

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gifpublicclassEchoService9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png@WebMethod(action="echo")

d18c02628675d0a2c816449d98bda930.png@WebResult(targetNamespace=“http://www.springside.org.cn”, name="echoResult")d18c02628675d0a2c816449d98bda930.pngpublicString echo(

d18c02628675d0a2c816449d98bda930.png@WebParam(targetNamespace=“http://www.springside.org.cn”, name="echoMsg") String msg){d18c02628675d0a2c816449d98bda930.pngreturnmsg;

8f1ba5b45633e9678d1db480c16cae3f.png}4f1150b881333f12a311ae9ef34da474.png}

同时,考虑很多人喜欢搞作SOAP Header,利用它来做一些业务标记处理,我们会支持下面的方式

@WebMethodpublicString echo(

@WebParam(name="myHeader",

header=true,

mode=WebParam.Mode.INOUT) StringHolder header,

String msg){

String ret=header.value+","+msg;

header.value="got it";returnret;

}来自:

[http://www.blogjava.net/security/archive/2006/10/31/Spring_JSR181_XFire_WebService.html]

posted on 2006-10-31 09:47 david.turing 阅读(4038) 评论(0)  编辑  收藏 所属分类: SOA/WebService

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值