WSO2 ——(6)开发几种services的方法:SOAP与REST
1?Axis2?Service(aar文件)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?CXF(war文件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?Server1)打开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?unknownCXF方法在创建完服务,定义代理服务时,可能报错:org.apache.cxf.interceptor.Fault:?No?binding?operation?info?while?invoking?unknown?method?with?param 如果soap方法与WSDL不匹配发生这个错误。Soap消息不能匹配到服务中一个方法 3.1?解决方法在接口中定义方法的操作,而不是在实现类中定义。测试可用。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |