通过javax.xml.ws.Service的方式调用WebService时
如果是jdk1.8,不需要引入任何依赖,可以直接通过
URL url = new URL(url);
QName name = new QName("http://xmlns.oracle.com/....", "HFM_HR_DEPARTMENT_BindingQSService");
javax.xml.ws.Service sc = javax.xml.ws.Service.create(url, name);
HFMHRDEPARTMENTPortType port = sc.getPort(HFMHRDEPARTMENTPortType.class);
response = port.getdepartment(parameter);
来获取数据。
如果需要账号密码,另加上Authenticator.setDefault(new MyAuthentication());进行验证。
public class MyAuthentication extends Authenticator {
@Override
protected PasswordAuthentication getPasswordAuthentication(){
String password="hfm_7898";
return new PasswordAuthentication("esb_fm01",password.toCharArray());
}
}
如果jdk更新到11版本,则加上
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
<version>2.3.3</version>
<type>pom</type>
</dependency>
依赖即可
如果出现XXXX referenced from a method is not visible from class loader 问题,则查看是否依赖使用的是2.3.2版本,如果是,换成2.3.3版本即可