java使用cxf调用webservice

发布时间:2024年01月12日

一、引入cxf

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
    <version>3.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-transports-http</artifactId>
    <version>3.2.1</version>
</dependency>

二、使用

try {
    DynamicClientFactory dynamicClientFactory = DynamicClientFactory.newInstance();
    Client client = dynamicClientFactory.createClient("接口地址");
    Object[] res = client.invoke("接口方法", 参数1, 参数2, 参数n);
    System.out.println(res[0]);
} catch (Exception e) {
    throw new RuntimeException(e);
}

三、举例

#接口文档如下
<wsdl:message name="fun1">
<wsdl:part name="a" type="xsd:string"> </wsdl:part>
<wsdl:part name="b" type="xsd:string"> </wsdl:part>
<wsdl:part name="c" type="xsd:string"> </wsdl:part>
<wsdl:part name="d" type="xsd:string"> </wsdl:part>
</wsdl:message>

#调用代码
String a = "";
String b = "";
String c = "";
String d = "";
Object[] res = client.invoke("fun1", a, b, c, d);
#接口文档如下
<xs:complexType name="fun2">
<xs:sequence>
<xs:element minOccurs="0" name="json" type="xs:string"/>
</xs:sequence>
</xs:complexType>

#代码如下
JSONObject param = new JSONObject();
Object[] res = client.invoke("fun2", new Object[] {param.toJSONString()});
文章来源:https://blog.csdn.net/LuoHuaX/article/details/135557848
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。