我正在尝试使用Drools 6.1.FINAL将我的KIE Workbench 6.1.FINAL部署与一个简单的应用程序集成。我使用以下代码:
String url = "http://localhost:8088/workbench/maven2/com/sep/test/myProject/1.0/myProject-1.0.jar";
KieServices ks = KieServices.Factory.get();
UrlResource urlResource = (UrlResource) ks.getResources().newUrlResource(url);
urlResource.setBasicAuthentication("enabled");
urlResource.setUsername("admin");
urlResource.setPassword("admin");
try {
InputStream is = urlResource.getInputStream();
KieModule kModule = ks.getRepository().addKieModule(ks.getResources().newInputStreamResource(is));
kieContainer = ks.newKieContainer(kModule.getReleaseId());
kieContainer.newStatelessKieSession();
scanner = ks.newKieScanner(kieContainer);
} catch(Exception e) {
System.out.println("Exception thrown while constructing InputStream");
System.out.println(e.getMessage());
}
每次运行此代码时,都会看到以下输出:
Exception thrown while building InputStream
Server returned HTTP response code: 401 for URL: http://localhost:8088/workbench/maven2/com/sep/test/myProject/1.0/myProject-1.0.jar
我确认错误来自获取InputStream
的行。我可以使用用户名和密码“admin”在http://localhost:8088/workbench
登录我的工作台,并且可以通过我的网络浏览器中的http://localhost:8088/workbench/maven2/com/sep/test/myProject/1.0/myProject-1.0.jar
下载.jar文件。我还可以使用以下curl
命令检索.jar:
curl --user admin:admin http://localhost:8088/workbench/maven2/com/sep/test/myProject/1.0/myProject-1.0.jar
但是,我无法使用wget
获取.jar。
如何通过身份验证?这只是一个原型;有没有办法关闭下载此.jar文件的身份验证?
答案 0 :(得分:1)
UrlResource中存在一个已修复的错误。见https://issues.jboss.org/browse/DROOLS-693
以下是另一种解决方案:https://stackoverflow.com/a/28230876/418730
答案 1 :(得分:0)
6.2.0.Final没问题 并且不要使用
KieModule module = ks.getRepository().addKieModule(urlResource);
它也返回401