浏览 5618 次
|
锁定老贴子 主题:另一种集成axis和spring的方案
该帖已经被评为精华帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2005-03-26
Spring 提供了一种使用ServletEndpointSupport同axis的集成方案。[code:1]public class AccountServiceEndpoint extends ServletEndpointSupport implements RemoteAccountService {
private AccountService biz; protected void onInit() { this.biz = (AccountService) getWebApplicationContext().getBean("accountService"); } //... }[/code:1] 可以看出这种方案并不是很优雅 在这里提供另一种集成方案。在Spring端不需要作任何更改,而是从axis入手,模拟EJBProvider的做法,设计一个新的SpringProvider,尝试从Spring中直接获取bean。在Spring中配置的任何bean,都可以很方便的作为webservice的服务发布。 deploy.wssd内容是这样的 [code:1]<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <!-- define the service, using the log handler we just defined --> <service name="cacl" provider="java:spring"> <parameter name="beanName" value="cacl"/> <parameter name="allowedMethods" value="*"/> </service> </deployment>[/code:1] 其中provider名称为 java:spring [code:1]<parameter name="beanName" value="cacl"/>[/code:1] 是spring中所配置的bean名字。 代码和例子见附件 现在这个方案还有一个问题 在尝试打开http://localhost:8080/myservice/services/这样的地址时会有问题。 另: 作好后又上网找了一下,发现有位朋友很早就想到这样的办法了 见http://starrynight.blogdriver.com/starrynight/425172.html 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |



