我有一个由 CXF 使用本地 wsdl 文件生成的客户端。客户端连接正常,我从 Web 服务器收到预期的 401 错误。
我遇到的问题是无法在客户端正确配置抢占式身份验证。
我尝试了很多事情都无济于事。Web 上的大多数示例似乎都集中在 Spring 上,而不是一种普通的老式 Java 方法。
我包括客户端的主要部分。如果有人可以给我一个应该如何配置的示例,我将不胜感激。请注意,我不是在寻找任何花哨的东西。我只需要能够验证和调用服务。
public final class ServiceNowSoap_ServiceNowSoap_Client {
private static final QName SERVICE_NAME = new QName(
"http://www.service-now.com/foo",
"ServiceNow_foo");
private ServiceNowSoap_ServiceNowSoap_Client() {
}
public static void main(String args[]) throws java.lang.Exception {
URL wsdlURL = ServiceNowCmdbCiComm.WSDL_LOCATION;
if (args.length > 0 && args[0] != null && !"".equals(args[0])) {
File wsdlFile = new File(args[0]);
try {
if (wsdlFile.exists()) {
wsdlURL = wsdlFile.toURI().toURL();
} else {
wsdlURL = new URL(args[0]);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
ServiceNowFoo ss = new ServiceNowFoo(wsdlURL,
SERVICE_NAME);
ServiceNowSoap port = ss.getServiceNowSoap();
{
System.out.println("Invoking deleteRecord...");
java.lang.String _deleteRecord_sysId = "";
java.lang.String _deleteRecord__return = port
.deleteRecord(_deleteRecord_sysId);
System.out.println("deleteRecord.result=" + _deleteRecord__return);
}
System.exit(0);
}
}