JAVA 调用Webservice服务

依赖如下

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-transports-http</artifactId>
    <version>2.6.1</version>
</dependency>
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-frontend-jaxws</artifactId>
    <version>2.6.1</version>
</dependency>
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-frontend-jaxrs</artifactId>
    <version>2.6.1</version>
</dependency>
<!-- 此包为jdk目录lib下的tools.jar -->
<dependency>
    <groupId>com.sun</groupId>
    <artifactId>tools</artifactId>
    <version>1.8</version>
</dependency>

调用方法如下:

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.namespace.QName;

import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONObject;

@Service
@WebService(name = "TestService")
public class TestService {
    public static final String WSDL = "wsdl地址";
    public static final String NAME_SPACE = "namespace";

    @WebMethod
    @WebResult
    public Object methodName(@WebParam(name = "userCode") String userCode) {
        JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
        Client client = dcf.createClient(WSDL);
        Object[] objects = new Object[0];
        String methodName = "与此方法名相同从wsdl地址中的xml中获取";
        try {
            QName opName = new QName(NAME_SPACE, methodName);
            objects = client.invoke(opName, userCode);
            System.out.println("返回数据:" + JSONObject.toJSONString(objects[0]));
            return objects[0];
        } catch (java.lang.Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值