`
shixy
  • 浏览: 142088 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【转】Apache CXF入门范例以及对传递List<Map>类型的疑惑

    博客分类:
  • java
阅读更多

转自:http://icecrystal.iteye.com/blog/532743

 

在选择WebService框架的过程中,偶最终选择了Apache CXF,純粹伿諟銦爲听说它与Spring的无缝整合

想当初用Axis的时候,因为没有太好的办法让Spring能够集成Axis,只好平白无故地多出一个WebService代理类,让偶的感觉很是不爽

 

偶要在此记载一下CXF的一些入门知识

首珗,倌網哋址諟http://cxf.apache.org/,里面可以找到User's Guide和download地址,偶的版本是目前最新的

apache-cxf-2.2.5

 

先来做一个最简单的入门级别例子吧,也就是经典的HelloWord

Server端代码

   WebService接口HelloService.java

Java代码 复制代码 收藏代码
  1. package cfx.server;   
  2.   
  3. import javax.jws.WebMethod;   
  4. import javax.jws.WebParam;   
  5. import javax.jws.WebService;   
  6.   
  7. @WebService  
  8. public interface HelloService {   
  9.     @WebMethod  
  10.     String sayHi(@WebParam String name);   
  11. }  
package cfx.server;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
public interface HelloService {
	@WebMethod
	String sayHi(@WebParam String name);
}

 实现类HelloServiceImpl.java

Java代码 复制代码 收藏代码
  1. public class HelloServiceImpl implements HelloService {   
  2.     public String sayHi(String name) {   
  3.         System.out.println("HelloServiceImpl.sayHi called");   
  4.         return "Hello"+name;   
  5. }  
public class HelloServiceImpl implements HelloService {
	public String sayHi(String name) {
		System.out.println("HelloServiceImpl.sayHi called");
		return "Hello"+name;
}

  WebService配置文件:cxf-servlet.xml(可放置于WEB-INF目录下)

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.       xmlns:jaxws="http://cxf.apache.org/jaxws"  
  5.       xmlns:soap="http://cxf.apache.org/bindings/soap"  
  6.       xsi:schemaLocation="   
  7. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd   
  8. http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd   
  9. http://cxf.apache.org/jaxws   
  10. http://cxf.apache.org/schemas/jaxws.xsd">  
  11.   <jaxws:server id="jaxwsService" serviceClass="cfx.server.HelloService" address="/hello">  
  12.     <jaxws:serviceBean>  
  13.         <bean class="cfx.server.HelloServiceImpl" />  
  14.     </jaxws:serviceBean>  
  15.   </jaxws:server>  
  16. </beans>  
<?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"
      xmlns:soap="http://cxf.apache.org/bindings/soap"
      xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
  <jaxws:server id="jaxwsService" serviceClass="cfx.server.HelloService" address="/hello">
  	<jaxws:serviceBean>
  		<bean class="cfx.server.HelloServiceImpl" />
  	</jaxws:serviceBean>
  </jaxws:server>
</beans>

 web.xml代码,用于添加CXFServlet这个处理webservice请求的控制器类

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
  4.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  5.      
  6.   <servlet>  
  7.     <description>Apache CXF Endpoint</description>  
  8.     <display-name>cxf</display-name>  
  9.     <servlet-name>cxf</servlet-name>  
  10.     <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>  
  11.     <load-on-startup>1</load-on-startup>  
  12.   </servlet>  
  13.   <servlet-mapping>  
  14.     <servlet-name>cxf</servlet-name>  
  15.     <url-pattern>/services/*</url-pattern>  
  16.   </servlet-mapping>  
  17.   <session-config>  
  18.     <session-timeout>60</session-timeout>  
  19.   </session-config>  
  20. </web-app>  
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  
  <servlet>
    <description>Apache CXF Endpoint</description>
    <display-name>cxf</display-name>
    <servlet-name>cxf</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>cxf</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config>
</web-app>

Client端测试代码

Java代码 复制代码 收藏代码
  1. public class CXF {   
  2.     public static void main(String[] args) {   
  3.         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();   
  4.         factory.getInInterceptors().add(new LoggingInInterceptor());   
  5.         factory.getOutInterceptors().add(new LoggingOutInterceptor());   
  6.         factory.setServiceClass(HelloService.class);   
  7.         factory.setAddress("http://localhost:8080/cxf/services/hello");   
  8.         HelloService client = (HelloService) factory.create();   
  9.         String reply = client.sayHi("特蕾莎");   
  10.         System.out.println("Server said: " + reply);   
  11. }  
public class CXF {
	public static void main(String[] args) {
		JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
		factory.getInInterceptors().add(new LoggingInInterceptor());
		factory.getOutInterceptors().add(new LoggingOutInterceptor());
		factory.setServiceClass(HelloService.class);
		factory.setAddress("http://localhost:8080/cxf/services/hello");
		HelloService client = (HelloService) factory.create();
		String reply = client.sayHi("特蕾莎");
		System.out.println("Server said: " + reply);
}

*****************************************************************************

 怎么样,是不是很简单啊!现在再来一个和Spring整合的例子

注意,Server端和Client端都要通过Spring-bean的方式整合

Server端现在有四个文件,假设是

HelloService.java

HelloServiceImpl.java

HelloDao.java

HelloDaoImpl.java

在HelloServiceImpl中存在一个HelloDao的属性,代码省略如下

Java代码 复制代码 收藏代码
  1. public class HelloServiceImpl implements HelloService {   
  2.     private HelloDao dao;   
  3.     public String sayHi(String name) {   
  4.         System.out.println("HelloServiceImpl.sayHi called");   
  5.         return dao.getString(name);   
  6.     }   
  7. }  
public class HelloServiceImpl implements HelloService {
	private HelloDao dao;
	public String sayHi(String name) {
		System.out.println("HelloServiceImpl.sayHi called");
		return dao.getString(name);
	}
}

 HelloDaoImpl用于处理持久化,代码省略咯

需要修改的是配置文件,此时可以这样改

首先在web.xml里加入Spring监听器

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
  4.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  5.   <listener>  
  6.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  7.   </listener>  
  8.   <context-param>  
  9.     <param-name>contextConfigLocation</param-name>  
  10.     <param-value>classpath:applicationContext*.xml</param-value>  
  11.   </context-param>  
  12.   <servlet>  
  13.     <description>Apache CXF Endpoint</description>  
  14.     <display-name>cxf</display-name>  
  15.     <servlet-name>cxf</servlet-name>  
  16.     <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>  
  17.     <load-on-startup>1</load-on-startup>  
  18.   </servlet>  
  19.   <servlet-mapping>  
  20.     <servlet-name>cxf</servlet-name>  
  21.     <url-pattern>/services/*</url-pattern>  
  22.   </servlet-mapping>  
  23.   <session-config>  
  24.     <session-timeout>60</session-timeout>  
  25.   </session-config>  
  26. </web-app>  
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext*.xml</param-value>
  </context-param>
  <servlet>
    <description>Apache CXF Endpoint</description>
    <display-name>cxf</display-name>
    <servlet-name>cxf</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>cxf</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config>
</web-app>

 橪銗WEB-INF/cxf-servlet這個忟件可以省略咯

把一个标准的spring-bean文件放在src下(即classes目录下),要让人一看就知道spring大哥进来咯

applicationContext.xml

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.   xmlns:jaxws="http://cxf.apache.org/jaxws"  
  4.   xsi:schemaLocation="   
  5. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd   
  6. http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">  
  7.   
  8.   <import resource="classpath:META-INF/cxf/cxf.xml" />  
  9.   <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />  
  10.   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />  
  11.   <bean id="helloDao" class="cfx.server.HelloDaoImpl" />  
  12.   <jaxws:server id="jaxwsService" serviceClass="cfx.server.HelloService" address="/hello">  
  13.     <jaxws:serviceBean>  
  14.       <bean id="helloService" class="cfx.server.HelloServiceImpl">  
  15.         <property name="dao" ref="helloDao" />  
  16.       </bean>  
  17.     </jaxws:serviceBean>  
  18.   </jaxws:server>  
  19. </beans>  
<?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="helloDao" class="cfx.server.HelloDaoImpl" />
  <jaxws:server id="jaxwsService" serviceClass="cfx.server.HelloService" address="/hello">
    <jaxws:serviceBean>
      <bean id="helloService" class="cfx.server.HelloServiceImpl">
        <property name="dao" ref="helloDao" />
      </bean>
    </jaxws:serviceBean>
  </jaxws:server>
</beans>

 

這樣啟動服務器的时候,spring就自动进行bean的注入以及WebService服务的发布了

接下来是客户端代码

銦爲諟普通Java,所以就简单配一下愙戸端的spring文件了

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.   xmlns:jaxws="http://cxf.apache.org/jaxws"  
  5.   xsi:schemaLocation="   
  6. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd   
  7. http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd">  
  8.   
  9.   <bean id="HelloService" class="cfx.server.HelloService" factory-bean="clientFactory" factory-method="create" />  
  10.   <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">  
  11.     <property name="serviceClass" value="cfx.server.HelloService" />  
  12.     <property name="address" value="http://localhost:8080/cxf/services/hello" />  
  13.   </bean>  
  14.   
  15. </beans>  
<?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/schema/jaxws.xsd">

  <bean id="HelloService" class="cfx.server.HelloService" factory-bean="clientFactory" factory-method="create" />
  <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
    <property name="serviceClass" value="cfx.server.HelloService" />
    <property name="address" value="http://localhost:8080/cxf/services/hello" />
  </bean>

</beans>

 CXFClientTest.java

Java代码 复制代码 收藏代码
  1. public static void main(String[] args) {   
  2.     ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "cfx/client/client-beans.xml" });   
  3.     HelloService client = (HelloService) context.getBean("HelloService");   
  4.     testString(client);   
  5. }   
  6. static void testString(HelloService client) {   
  7.     String reply = client.sayHi("特蕾莎");   
  8.     System.out.println("Server said: " + reply);   
  9. }  
public static void main(String[] args) {
	ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "cfx/client/client-beans.xml" });
	HelloService client = (HelloService) context.getBean("HelloService");
	testString(client);
}
static void testString(HelloService client) {
	String reply = client.sayHi("特蕾莎");
	System.out.println("Server said: " + reply);
}

 *************************************************************************

 

然后是复杂数据类型的问题,经过测试,发觉基本数据类型和List都是没有问题的,我的测试方法包括

Java代码 复制代码 收藏代码
  1. @WebMethod  
  2. String sayHi(@WebParam String name);   
  3.   
  4. @WebMethod  
  5. List<Integer> getList(@WebParam List<String> strs);   
  6.        
  7. @WebMethod  
  8. List<User> getJavaBean();  
@WebMethod
String sayHi(@WebParam String name);

@WebMethod
List<Integer> getList(@WebParam List<String> strs);
	
@WebMethod
List<User> getJavaBean();

 

但是传递Map时,就出现问题了,所以参照了user's guide,得到如下解决办法

测试某个方法的参数和返回值都是Map类型

Java代码 复制代码 收藏代码
  1. @WebMethod  
  2. @XmlJavaTypeAdapter(MapAdapter.class)   
  3. Map<String, String> getMap(@WebParam @XmlJavaTypeAdapter(MapAdapter.class) Map<String, String> map);  
@WebMethod
@XmlJavaTypeAdapter(MapAdapter.class)
Map<String, String> getMap(@WebParam @XmlJavaTypeAdapter(MapAdapter.class) Map<String, String> map);

 

 

MapAdapter是我自己写的用於數據類型轉換的适配器类,代码如下

Java代码 复制代码 收藏代码
  1. public class MapAdapter extends XmlAdapter<MapConvertor, Map<String, Object>> {   
  2.   
  3.     @Override  
  4.     public MapConvertor marshal(Map<String, Object> map) throws Exception {   
  5.         MapConvertor convertor = new MapConvertor();   
  6.         for(Map.Entry<String, Object> entry:map.entrySet()){   
  7.             MapConvertor.MapEntry e = new MapConvertor.MapEntry(entry);   
  8.             convertor.addEntry(e);   
  9.         }   
  10.         return convertor;   
  11.     }   
  12.   
  13.     @Override  
  14.     public Map<String, Object> unmarshal(MapConvertor map) throws Exception {   
  15.         Map<String, Object> result = new HashMap<String,Object>();   
  16.         for(MapConvertor.MapEntry e :map.getEntries()){   
  17.             result.put(e.getKey(), e.getValue());   
  18.         }   
  19.         return result;   
  20.     }   
  21.   
  22. }  
public class MapAdapter extends XmlAdapter<MapConvertor, Map<String, Object>> {

	@Override
	public MapConvertor marshal(Map<String, Object> map) throws Exception {
		MapConvertor convertor = new MapConvertor();
		for(Map.Entry<String, Object> entry:map.entrySet()){
			MapConvertor.MapEntry e = new MapConvertor.MapEntry(entry);
			convertor.addEntry(e);
		}
		return convertor;
	}

	@Override
	public Map<String, Object> unmarshal(MapConvertor map) throws Exception {
		Map<String, Object> result = new HashMap<String,Object>();
		for(MapConvertor.MapEntry e :map.getEntries()){
			result.put(e.getKey(), e.getValue());
		}
		return result;
	}

}

 MapConvertor.java Map格式转换类

Java代码 复制代码 收藏代码
  1. @XmlType(name = "MapConvertor")   
  2. @XmlAccessorType(XmlAccessType.FIELD)   
  3. public class MapConvertor {   
  4.        
  5.     private List<MapEntry> entries = new ArrayList<MapEntry>();   
  6.        
  7.     public void addEntry(MapEntry entry){   
  8.         entries.add(entry);   
  9.     }   
  10.        
  11.     public static class MapEntry{   
  12.         public MapEntry() {   
  13.             super();   
  14.         }   
  15.         public MapEntry(Map.Entry<String,Object> entry) {   
  16.             super();   
  17.             this.key = entry.getKey();   
  18.             this.value = entry.getValue();   
  19.         }   
  20.         public MapEntry(String key,Object value) {   
  21.             super();   
  22.             this.key = key;   
  23.             this.value = value;   
  24.         }   
  25.         private String key;   
  26.         private Object value;   
  27.         public String getKey() {   
  28.             return key;    </
    分享到:
    评论
    2 楼 woyuanliulian 2012-04-17  
    list<Map>  到底应该怎么传才能成功?
    1 楼 pangchaofu 2011-09-02  
    不错,学习了。

相关推荐

    spring,cxf,restful发布webservice传递List,Map,List&lt;Map&gt;

    本文将深入探讨如何使用这些技术来发布Web服务,特别是涉及复杂对象如List、Map及List&lt;Map&gt;的传递。 首先,Spring框架是一个Java企业级应用开发的强大工具,它提供了众多模块,包括Spring MVC用于Web开发。在Spring...

    cxf和springnvc整合

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-core&lt;/artifactId&gt; &lt;version&gt;${cxf.version}&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-...

    springboot+cxf实现webservice示例

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-spring-boot-starter-jaxws&lt;/artifactId&gt; &lt;version&gt;3.1.7&lt;/version&gt; &lt;/dependency&gt; &lt;!-- CXF webservice --&gt; &lt;dependency&gt; &lt;groupId&gt;org.spring...

    cxf 入门(hello world)

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;3.x.x&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    基于Apache CXF 3.0 Spring 4.0 Maven 3.0 构建简单Restful 接口

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxrs&lt;/artifactId&gt; &lt;version&gt;3.0.x&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-...

    cxf 开发restful服务

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxrs&lt;/artifactId&gt; &lt;version&gt;3.x.y&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    关于CXF的用例

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;3.4.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    CXF搭建webservice案例

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;3.4.x&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    CXF的入门实例

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;3.x.x&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    基于cxf 的webService 接口开发及调用步骤文档

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf&lt;/artifactId&gt; &lt;version&gt;2.5.2&lt;/version&gt; &lt;type&gt;pom&lt;/type&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    CXF与Spring整合以及所需jar

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;3.x.x&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    04.使用CXF处理JavaBean式的复合类型和List集合类型的形参和返回值

    在本文中,我们将深入探讨如何使用Apache CXF框架来处理JavaBean式的复合类型以及List集合类型的参数和返回值。CXF是一个开源的、强大的Web服务框架,它支持多种Web服务标准,包括SOAP、RESTful等,并且允许开发者以...

    上传一个最简单的cxf结合spring的Java WebService例子

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;3.3.x&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    springboot整合cxf发布webservice以及调用的方法

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-spring-boot-starter-jaxws&lt;/artifactId&gt; &lt;version&gt;3.1.11&lt;/version&gt; &lt;/dependency&gt; ``` 接下来,我们需要定义一个公共的返回实体类`BaseResult`: ```java...

    WebService (一) CXF 入门 HelloWorld

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;3.3.3&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    cxf依赖jar包.zip

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;版本号&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    CXF 项目集成示例

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;3.4.4&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    wsdl2java源码-springboot-apachecxf-client:本项目演示了如何在Springboot中实现apachecxf

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-codegen-plugin&lt;/artifactId&gt; &lt;version&gt;3.2.0&lt;/version&gt; &lt;executions&gt; &lt;execution&gt; &lt;id&gt;generate-sources&lt;/id&gt; &lt;phase&gt;g

    Spring3整合CXF(Maven项目)

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt; &lt;version&gt;3.x.x&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-rt-...

    CXF契约优先开发方式之客户端实现(client)

    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-codegen-plugin&lt;/artifactId&gt; &lt;version&gt;${cxf.version}&lt;/version&gt; &lt;executions&gt; &lt;execution&gt; &lt;id&gt;generate-sources&lt;/id&gt; &lt;phase&gt;generate-sources&lt;/phase...

Global site tag (gtag.js) - Google Analytics