java使用CXF动态调用webservice接口
作者:互联网
1 package com.webservice.client.config; 2 3 import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; 4 import javax.xml.namespace.QName; 5 6 /** 7 * @author liuwenlong 8 * @create 2022-02-20 11:20:13 9 */ 10 @SuppressWarnings("all") 11 public class CxfClientTester { 12 13 public static final String serviceUrl = "http://地址/api/insertUserInfo?wsdl"; 14 public static final String methodName = "insertUserInfo"; 15 public static final String nameSpaceUrl = "http://service.api.spring.com/"; 16 public static final String param = "请求xml"; 17 18 public static void main(String[] args) throws Exception { 19 try { 20 System.out.println("反馈结果:" + webserviceInterface(serviceUrl, nameSpaceUrl, methodName, param)); 21 } catch (Exception e) { 22 System.out.println("ERROR:" + e.getMessage()); 23 } 24 } 25 26 public static String webserviceInterface(String serviceUrl, String nameSpaceUrl, String methodName, String param) throws Exception { 27 JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); 28 org.apache.cxf.endpoint.Client client = dcf 29 .createClient(serviceUrl); 30 // url为调用webService的wsdl地址 31 QName name = new QName(nameSpaceUrl, methodName); 32 // namespace是命名空间,methodName是方法名 33 String xmlStr = param; 34 // paramvalue为参数值 35 Object[] objects; 36 try { 37 objects = client.invoke(name, xmlStr); 38 return objects[0].toString().toString(); 39 } catch (Exception e) { 40 e.printStackTrace(); 41 } 42 return ""; 43 } 44 }
标签:java,webservice,param,nameSpaceUrl,static,CXF,methodName,public,String 来源: https://www.cnblogs.com/lwl80/p/15915186.html