WebService 踩坑记录
WebService CXF 动态调用
java
public static String invoke(String url, String method, String param, String namespace) {
JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
try(Client client = factory.createClient(url)) {
QName qName = new QName(namespace, method);
Object[] objects = client.invoke(qName, param);
String response = String.valueOf(objects[0]);
log.debug("response={}", response);
return response;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
问题 1:No compiler detected, make sure you are running on top of a JDK instead of a JRE.
应用需要运行在 JDK 环境下,而不是 JRE,配置 JAVA_HOME 和 Path 环境变量,重启应用。
问题 2: webservice 错误: 编码 gbk 的不可映射字符
访问 webservice 信息有中文,就会出现这个错误,修改启动配置文件添加 -Dfile.encoding=UTF-8 参数
java -jar -Dfile.encoding=UTF-8 xxxx.jar