CXF发布webservice
2019獨角獸企業重金招聘Python工程師標準>>>
CXF 是兩個框架集合,基于XFire.
下載地址http://cxf.apache.org/download.html?我使用的是3.0version
如果javaPorject工程需要引入以下jar
cxf-core-3.0.0-milestone2.jar
geronimo-servlet_3.0_spec-1.0.jar
jetty-continuation-8.1.14.v20131031.jar
jetty-http-8.1.14.v20131031.jar
jetty-io-8.1.14.v20131031.jarjetty-security-8.1.14.v20131031.jar
jetty-server-8.1.14.v20131031.jar
jetty-util-8.1.14.v20131031.jar
asm-3.3.1.jar
wsdl4j-1.6.3.jar
neethi-3.0.3.jar
commons-logging-1.1.1.jar
xmlschema-core-2.1.0.jar
?
?
以下代碼部分:
?接口
package org.lgg.webservice;
import javax.jws.WebService;
/**
?* CXFwebserviveD定義
?* @author ?wangsl
?*
?*/
@WebService
public interface CmsService {
?/**
? * 獲取當前登錄用戶
? * @param name
? * @return
? */
?public String getCurrUser(String name);
}
?
?
實現類
package org.lgg.webservice;
import javax.jws.WebService;
/**
?* webservice 接口實現
?* @author ?wangsl
?*
?*/
@WebService(endpointInterface="org.lgg.webservice.CmsServiceWs",serviceName="CmsServiceWs")
public class CmsServiceWs implements CmsService {
????
?@Override
?public String getCurrUser(String name) {
???? String result="你好,"+name+" 歡迎登錄! ";
??return result;
?}
?
}
測試類
package org.lgg.test;
import javax.xml.ws.Endpoint;
import org.lgg.webservice.CmsService;
import org.lgg.webservice.CmsServiceWs;
public class TestServceMain {
?
?public static void main(String[] args) {
??CmsService ms=new CmsServiceWs();
??Endpoint.publish("http://10.111.126.238:9999/LGCMS", ms);
??System.out.println("cxfWeb已經暴露成功=======");
?}
}
?
http://10.111.126.238:9999/LGCMS?wsdl?ok這一步能打開已經發布成功?服務器就發布成功
?
下面是客戶端調用?
如果 javaproject 客戶端調用 s
wsdl2java 命令講遠程wsdl解析存入本地
如wsdl2java http://10.111.126.238:9999/LGCMS?wsdl?? 將解析到本地client 工程src下生成一段解析好的文件
建立測試文件
package org.lgg.test;
import org.lgg.webservice.CmsServiceWs;
import org.lgg.webservice.CmsServiceWs_Service;
public class TestClient {
??
?/**
? * @param args
? */
?public static void main(String[] args) {
??// TODO Auto-generated method stub
??CmsServiceWs_Service factroy=new CmsServiceWs_Service() ;
??CmsServiceWs ms=factroy.getCmsServiceWsPort();
??System.out.println(ms.getCurrUser("張三"));
?}
}
?
輸出你好,張三 歡迎登錄!? 說明調用成功
?
?
CXF+Spring整合需要引入xmlns:jaxws="http://cxf.apache.org/jaxws"
xsil:schemaLation="http://cxf.apache.org/jaxws
????????????????????????????http://cxf.apache.org/schemas/jaxws.xsd"
?
"
spring 配置加入
?<import?resource="classpath:META-INF/cxf/cxf.xml"?/>??
?<import?resource="classpath:META-INF/cxf/cxf-extension-soap.xml"?/>??
??<import?resource="classpath:META-INF/cxf/cxf-servlet.xml"?/>??
?
轉載于:https://my.oschina.net/u/238082/blog/220283
總結
以上是生活随笔為你收集整理的CXF发布webservice的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 桥梁模式和适配器模式的区别
- 下一篇: 02-C#入门(循环)