Xpages 在Domino9.0.1 FP8上从Xpage调用webservice时出错

Xpages 在Domino9.0.1 FP8上从Xpage调用webservice时出错,xpages,lotus-domino,Xpages,Lotus Domino,将Domino升级到9.0.1 FP8后,我在尝试从XPage调用CXF Web服务使用者时遇到以下错误: MASM0001:未找到默认配置文件[jaxws-tubes-Default.xml] 同样的代码在Domino9.0.1FP7上运行良好。存根作为jar导入,并授予以下权限:RuntimePermission“setContextClassLoader”和ReflectPermission“suppressAccessChecks” 这看起来像是安全相关的问题,因为授予所有权限(生产服务

将Domino升级到9.0.1 FP8后,我在尝试从XPage调用CXF Web服务使用者时遇到以下错误:

MASM0001:未找到默认配置文件[jaxws-tubes-Default.xml]

同样的代码在Domino9.0.1FP7上运行良好。存根作为jar导入,并授予以下权限:RuntimePermission“setContextClassLoader”和ReflectPermission“suppressAccessChecks”

这看起来像是安全相关的问题,因为授予所有权限(生产服务器不接受)允许我在9.0.1 FP8上运行代码

有没有人经历过同样的情况,或者知道这种行为的原因

MASM0001: Default configuration file [ jaxws-tubes-default.xml ] was not found. For more detailed information, please consult error-log-0.xml located in /usr/notes/domino/workspace/logs
java.lang.IllegalStateException: MASM0001: Default configuration file [ jaxws-tubes-default.xml ] was not found
    at com.sun.xml.internal.ws.assembler.MetroConfigLoader.init(MetroConfigLoader.java:139)
    at com.sun.xml.internal.ws.assembler.MetroConfigLoader.<init>(MetroConfigLoader.java:116)
    at com.sun.xml.internal.ws.assembler.TubelineAssemblyController.getTubeCreators(TubelineAssemblyController.java:90)
    at com.sun.xml.internal.ws.assembler.MetroTubelineAssembler.createClient(MetroTubelineAssembler.java:115)
    at com.sun.xml.internal.ws.client.Stub.createPipeline(Stub.java:340)
    at com.sun.xml.internal.ws.client.Stub.<init>(Stub.java:307)
    at com.sun.xml.internal.ws.client.Stub.<init>(Stub.java:240)
    at com.sun.xml.internal.ws.client.Stub.<init>(Stub.java:255)
    at com.sun.xml.internal.ws.client.sei.SEIStub.<init>(SEIStub.java:96)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.getStubHandler(WSServiceDelegate.java:827)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:816)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:449)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:417)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:399)
    at javax.xml.ws.Service.getPort(Service.java:130)
    at eu.europa.ec.taxud.vies.services.checkvat.CheckVatService.getCheckVatPort(CheckVatService.java:56)
MASM0001:未找到默认配置文件[jaxws-tubes-Default.xml]。有关更多详细信息,请参阅/usr/notes/domino/workspace/logs中的error-log-0.xml
java.lang.IllegalStateException:MASM0001:未找到默认配置文件[jaxws-tubes-Default.xml]
位于com.sun.xml.internal.ws.assembler.MetroConfigLoader.init(MetroConfigLoader.java:139)
位于com.sun.xml.internal.ws.assembler.MetroConfigLoader。(MetroConfigLoader.java:116)
位于com.sun.xml.internal.ws.assembler.TubelineAssemblyController.getTubeCreators(TubelineAssemblyController.java:90)
在com.sun.xml.internal.ws.assembler.metrotubelineasembler.createClient(metrotubelineasembler.java:115)
位于com.sun.xml.internal.ws.client.Stub.createPipeline(Stub.java:340)
位于com.sun.xml.internal.ws.client.Stub。(Stub.java:307)
位于com.sun.xml.internal.ws.client.Stub.(Stub.java:240)
位于com.sun.xml.internal.ws.client.Stub。(Stub.java:255)
位于com.sun.xml.internal.ws.client.sei.SEIStub.(SEIStub.java:96)
在com.sun.xml.internal.ws.client.WSServiceDelegate.getStubHandler(WSServiceDelegate.java:827)上
在com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy上(WSServiceDelegate.java:816)
在com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:449)上
在com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:417)
在com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:399)上
位于javax.xml.ws.Service.getPort(Service.java:130)
位于eu.europa.ec.taxud.vies.services.checkvat.CheckVatService.getCheckVatPort(CheckVatService.java:56)

检查工作FP7服务器上的java.policy或java.pol文件。升级会定期覆盖java.policy,有时会删除该文件。如果是与安全相关的,服务器的Java策略必须不同。

我昨天遇到了另一个与Java安全相关的问题,这可能也会导致您的问题。我使用GSON进行JSON解析,但升级到FP8后,它停止工作,并引发了一个安全错误:

Agent Manager: Agent  error: java.security.AccessControlException: 
  Access denied ("java.lang.RuntimePermission" "accessDeclaredMembers")
由于FP8升级将JVM升级为Java8,显然安全模型中发生了一些变化。解决方案是将此额外权限添加到我的
java.pol
文件:

grant {
   permission java.lang.RuntimePermission "accessDeclaredMembers";
};
   permission java.io.FilePermission "${java.home}/lib/-", "read";  

我从Java代理访问web服务时也遇到同样的错误。在FP8+中,
java.policy
java.pol
文件中似乎需要另一笔拨款:

grant {
   permission java.lang.RuntimePermission "accessDeclaredMembers";
};
   permission java.io.FilePermission "${java.home}/lib/-", "read";  
jaxws tubes default.xml
文件位于lib文件夹中的
resources.jar
文件中

为了从domino服务器上的Java代理访问我的web服务,我现在有一个Java.pol文件,其中包含以下内容:

grant {
   permission java.lang.RuntimePermission "getClassLoader";
   permission java.lang.RuntimePermission "setContextClassLoader";
   permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
   permission java.io.FilePermission "${java.home}/lib/-", "read";  
};

这不是权限错误。这发生在我升级到FP8的两台服务器中的一台上。我花了一些时间试图修复它,然后决定放弃web服务——它只是1个——并用其他东西替换它。这意味着我没有解决问题。我曾想过使用IBM执行一个干净的安装或打开一个pmr,但最终没有一个这样做。我发现,在FP8服务器上,使用从数据库中导出的java使用者代码,可以从Xpage运行我的Web服务,这是根据以下提供的手册实现的:。我从未更改原始的java.policy设置。两台服务器上的java.pol内容相同。我想在9.0.1 FP8上有一个不同的JAX-WS实现。在测试Watson Work Services Java SDK时,我曾在NSF中使用Gson的代码实现过JAX-WS,但我从未在FP7以下的版本或插件中测试过。对于WWS Java SDK,我还必须添加
权限Java.lang.RuntimePermission“accessDeclaredMembers”