一、用到的jar包 ,这里的jar包有些是依赖jar包,缺少会报错 。
jar包下载地址:https://download.youkuaiyun.com/download/qq_35131811/10274416
cxf-bundle-2.7.16.jar
geronimo-jaxb_2.1_spec-1.0.jar
neethi-3.0.3.jar
stax2-api-3.1.4.jar
woodstox-core-5.0.3.jar
wsdl4j-1.6.3.jar
xmlschema-core-2.2.3.jar
二、主要代码
package cn.demo.impl;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.springframework.stereotype.Service;
import cn.demo.WebServiceDynamicClientService;
public class WebServiceDynamicClientServiceImpl implements
WebServiceDynamicClientService {
@Override
public Object[] dynamicClient(String url, String methodName,Object[] args) {
try {
JaxWsDynamicClientFactory jdcf = JaxWsDynamicClientFactory.newInstance();
Client client = jdcf.createClient(url);
Object[] invoke = client.invoke(methodName,args);
return invoke;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
三、测试代码
package cn.webservice.action;
import cn.webservice.service.impl.WebServiceDynamicClientServiceImpl;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
WebServiceDynamicClientServiceImpl serice = new WebServiceDynamicClientServiceImpl();
args = new String[]{"2017-03-05","1","0301,0302"};
Object[] invoke = serice.dynamicClient("http://localhost:8080/his-portal/webService/demo?wsdl", "demoData", args);
for (Object object : invoke) {
System.out.println(object.toString());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}