CXF创建webservice服务端、客户端,与spring集成
发布时间:2020-12-16 23:15:04 所属栏目:安全 来源:网络整理
导读:服务端 1.必须jar包:cxf-2.6.1.jar 2.spring-cxf.xml配置文件 ? ?xml version="1.0" encoding="UTF-8"?beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.
|
服务端 1.必须jar包:cxf-2.6.1.jar 2.spring-cxf.xml配置文件 ? <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <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" /> <bean id="checksystemserviceimp" class="a.rst.checksystem.server.CheckSystemServiceImp"> </bean> <jaxws:endpoint id="webservice" implementor="#checksystemserviceimp" address="/webservice"> </jaxws:endpoint> </beans> ? 3. web.xml配置spring-cxf.xml <listener>
<listener-class>com.chinavvv.util.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-cxf.xml
</param-value>
</context-param>
<!--还需要配置以下servlet--> <servlet>??? ??<servlet-name>CXFService</servlet-name>??? ??<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> ??<load-on-startup>1</load-on-startup>? ?</servlet> ?<servlet-mapping>??? ??<servlet-name>CXFService</servlet-name>??? ??<url-pattern>/service/*</url-pattern> ?</servlet-mapping>
package a.rst.checksystem.server;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface CheckSystemService {
public void test(@WebParam(name="param") String param);
public String checkWebSer(String aac002,String aac003,String aab301) throws Exception;
}
@WebService(endpointInterface = "a.rst.checksystem.server.CheckSystemService")
public class CheckSystemServiceImp implements CheckSystemService {
public void test(String param) {
System.out.println("001webservice is success ");
System.out.println("002dao is annotationed? "+relectdao);
System.out.println("003url param:"+param);
}
public String checkWebSer(String aac002,String aab301)
throws Exception {
Ceshibean bean=new CeshiBean();//这里是自定义的Javabean
return jsontToString(PersonalInfo);// 返回类型设置为json格式的字符串,没有使用Bean
}
private String jsontToString(Object o){
JsonConfig jsonConfig = new JsonConfig(); //建立配置文件
jsonConfig.setIgnoreDefaultExcludes(false); //设置默认忽略
jsonConfig.setExcludes(new String[]{"child","multipartRequestHandler","resultValueMap","servletWrapper","validatorResults"});
//net.sf.json.JSONObject jsonbean = net.sf.json.JSONObject.fromObject(bean,jsonConfig);
JSONObject json = JSONObject.fromObject(o,jsonConfig);
return json.toString();
}
}
测试是否发布成功地址:http://127.0.0.1:8080/service/webservice?wsdl ? 客户端: cd d:/java/bin wsimport - keep -p com.webservice.client http://127.0.0.1:8080/service/webservice?wsdl 用Java api生成客户端包,以上命令将在d:/java/bin目录下生成com.webservice.client包。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
