1

我正在尝试将我的 KIE Workbench 6.1.FINAL 部署与使用 Drools 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. 我可以http://localhost:8088/workbench使用用户名和密码“admin”登录到我的工作台,并且可以通过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

但是,我无法使用 .jar 获取 .jar wget

我怎样才能通过身份验证?这只是一个原型;有没有办法关闭下载这个 .jar 文件的身份验证?

4

2 回答 2

1

UrlResource 中存在一个已修复的错误。见https://issues.jboss.org/browse/DROOLS-693

这是一个替代解决方案:https ://stackoverflow.com/a/28230876/418730

于 2015-02-19T02:15:28.017 回答
0

6.2.0.Final 没问题,不要使用

KieModule module = ks.getRepository().addKieModule(urlResource);

它也返回 401

于 2015-04-08T09:16:00.910 回答