加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WSO2 ——(6)开发几种services的方法:SOAP与REST

发布时间:2020-12-16 23:07:50 所属栏目:安全 来源:网络整理
导读:1?Axis2?Service ( aar 文件) 1.1?创建工程 打开 Developer?Studio?Dashboard ,点击? Axis2?Service?Project ,点击 next ,只至出现如下界面,点击 finish 。 ? 1.2?添加方法 在 Service 类中添加一个方法,如下图所示。 ? 1.3?产生 WSDL 文件 右击工程


1?Axis2?Serviceaar文件)

1.1?创建工程

打开Developer?Studio?Dashboard,点击?Axis2?Service?Project,点击next,只至出现如下界面,点击finish

?

1.2?添加方法

Service类中添加一个方法,如下图所示。

?

1.3?产生WSDL文件

右击工程,选择Generate?WSDL,指定位置和名称,点击OK

?

1.4?打包为aar文件

右击工程名,选择Export?Project?as?Deployable?Archive。结果如下图所示,点击finish,桌面生成Axis2ServiceTest_1.0.0.aar文件。

?

1.5?部署到WSO2?Application?Server

打开WSO2?Application?Server,选择services->Add->AAR?Service,选择Axis2ServiceTest_1.0.0.aar文件,上传。

?

services列表中可以看到部署的服务。

?

点击try?this?Service,结果如下。

?

2?CXFwar文件JAX-WS

https://docs.wso2.com/display/AS510/JAX-WS+and+JAX-RS+Support

http://wso2.com/library/articles/2012/10/develop-cxf-based-jaxws-wso2-developer-studio/

2.1?创建工程

新建JAX-WS?Service?Project?工程。打开Developer?Studio?Dashboard,点击?JAX-WS?Service?Project?,点击next,只至出现如下界面,点击finish。填写工程名和类名。

?

2.2?创建Java服务类

右击刚才创建的工程,选择New?->?JAX-WS?Service?Class?,如下图所示。

?

2.3?添加方法

默认类中已经存在一个Hello方法,可以根据需要添加方法。最简单可用的webService定义如下:

?

?

Wsdl与接口中定义的ServiceName一致。

但若将接口改为如下,删除action=”hello”,则报错误。<faultstring>The?endpoint?reference?(EPR)?for?the?Operation?not?found?is?/services/a4.a4HttpSoap11Endpoint?and?the?WSA?Action?=?.?If?this?EPR?was?previously?reachable,?please?contact?the?server?administrator.</faultstring>

?

2.4?打包为war文件

右击工程名,选择“Export?Project?as?Deployable?Archive”。结果如下图所示,点击finish,桌面生成JAXWSTest_1.0.0.war文件。

?

2.5?部署到WSO2?Application?Server

1)打开WSO2?Application?Server,选择services->Add->JAX-WS/JAX-RSS,选择JAXWSTest_1.0.0.war文件,上传。

?

2)单击列表,在services列表中可以看到部署的服务。

?

3)单击find?services

?

4)单击wsdl,可以查看服务部署成功

5)单击服务名称

?

6)单击尝试调用服务

?

?

3?可能出现的错误

No?binding?operation?info?while?invoking?unknown?method?with?params?unknown

CXF方法在创建完服务,定义代理服务时,可能报错:org.apache.cxf.interceptor.Fault:?No?binding?operation?info?while?invoking?unknown?method?with?param

如果soap方法与WSDL不匹配发生这个错误。Soap消息不能匹配到服务中一个方法

3.1?解决方法

接口中定义方法的操作,而不是在实现类中定义。测试可用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读