且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

spring+cxf调用webservice接口

更新时间:2022-08-21 18:27:55

一、导入Spring和cxf的jar,在第一节中有说明。

二、编写Spring配置文件ClientBeans.xml

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version="1.0" encoding="UTF-8"?>
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jaxws="http://cxf.apache.org/jaxws"
       xmlns:jaxrs="http://cxf.apache.org/jaxrs"
       xmlns:cxf="http://cxf.apache.org/core"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
                           http://www.springframework.org/schema/beans/spring-beans.xsd
    <jaxws:client id="helloClient"
                <!--服务地址-->
                  address="http://127.0.0.1:8080/ws/wss/helloworld"
                <!--客服端调用类-->
                  serviceClass="com.itcast.cxf.first.IHelloWorld">
    </jaxws:client>
</beans>
 
<?xml version="1.0" encoding="UTF-8"?>
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jaxws="http://cxf.apache.org/jaxws"
       xmlns:jaxrs="http://cxf.apache.org/jaxrs"
       xmlns:cxf="http://cxf.apache.org/core"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
 <jaxws:client id="helloClient"
    <!--服务地址-->
       address="http://127.0.0.1:8080/ws/wss/helloworld"
     <!--客服端调用类-->
       serviceClass="com.itcast.cxf.first.IHelloWorld">
 </jaxws:client>
</beans>

三、调用类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.itcast.cxfweb.java.client;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.itcast.cxf.first.IHelloWorld;
/**
 * Java项目的客户端
 * @author wangjianme
 */
public class CxfJavaClient {
    public static void main(String[] args) {
        //读取配置文件
        ApplicationContext ctx = 
            new ClassPathXmlApplicationContext("ClientBeans.xml");
        //get到接口类型并调用
        IHelloWorld hello = (IHelloWorld)ctx.getBean("helloClient");
        String str = hello.sayHello("WJ");
        System.err.println(str);
    }
}
 
package com.itcast.cxfweb.java.client;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.itcast.cxf.first.IHelloWorld;
/**
 * Java项目的客户端
 * @author wangjianme
 */
public class CxfJavaClient {
 public static void main(String[] args) {
  //读取配置文件
  ApplicationContext ctx =
   new ClassPathXmlApplicationContext("ClientBeans.xml");
  //get到接口类型并调用
  IHelloWorld hello = (IHelloWorld)ctx.getBean("helloClient");
  String str = hello.sayHello("WJ");
  System.err.println(str);
 }
}