Xpages 如何从XPage中的OSGI包访问org.apache.axis以使用Web服务?
我正在尝试使用XPage中的Web服务。我已经找到了Stephan Wissel的博客条目 如果在{domino}/jvm/lib/security目录下的java.policy文件中添加以下行,那么它就可以正常工作Xpages 如何从XPage中的OSGI包访问org.apache.axis以使用Web服务?,xpages,Xpages,我正在尝试使用XPage中的Web服务。我已经找到了Stephan Wissel的博客条目 如果在{domino}/jvm/lib/security目录下的java.policy文件中添加以下行,那么它就可以正常工作 grant { permission java.lang.RuntimePermission "setContextClassLoader"; permission java.lang.reflect.ReflectPermission "suppressAccessCheck
grant {
permission java.lang.RuntimePermission "setContextClassLoader";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
};
我的问题是,我的客户有一些非常严格的管理员。他们无法修改java.policy文件
我搜索了一下,发现在8.5.2中org.apache.axis文件已被移动到OSGi包中。我绕过java.policy修改的方法是使用这个包。但如果我试图访问它,我总是会出错:
javax.servlet.ServletException:java.lang.NoClassDefFoundError:org.apache.axis.client.Service
尝试将捆绑包添加到plugin.xml没有帮助
<plugin>
<requires>
<import plugin="org.apache.axis"/>
<!--AUTOGEN-START-BUILDER: Automatically generated by null. Do not modify.-->
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.runtime"/>
<import optional="true" plugin="com.ibm.commons"/>
<import optional="true" plugin="com.ibm.commons.xml"/>
<import optional="true" plugin="com.ibm.commons.vfs"/>
<import optional="true" plugin="com.ibm.jscript"/>
<import optional="true" plugin="com.ibm.designer.runtime.directory"/>
<import optional="true" plugin="com.ibm.designer.runtime"/>
<import optional="true" plugin="com.ibm.xsp.core"/>
<import optional="true" plugin="com.ibm.xsp.extsn"/>
<import optional="true" plugin="com.ibm.xsp.designer"/>
<import optional="true" plugin="com.ibm.xsp.domino"/>
<import optional="true" plugin="com.ibm.notes.java.api"/>
<import optional="true" plugin="com.ibm.xsp.rcp"/>
<import optional="true" plugin="com.ibm.xsp.extlib"/>
<!--AUTOGEN-END-BUILDER: End of automatically generated section-->
</requires>
</plugin>
知道如何在XPage中使用org.apache.axis文件吗?您是否尝试使用CXF而不是axis?如果还有什么失败的话。。。一个隐藏的小LotusScript走了很长的路
或者,您可以将web服务打包到插件中。它们的运行权限比NSFs中的代码要好。您是否尝试使用CXF而不是Axis?如果还有什么失败的话。。。一个隐藏的小LotusScript走了很长的路
或者,您可以将web服务打包到插件中。它们的运行权限比NSFs中的代码要好。也许您可以说服客户端管理员,通过使用精确的授权,您不会损害服务器的安全性。例如:
grant codeBase "xspnsf://server:0/somedb.nsf/script/-"{
permission java.lang.RuntimePermission "setContextClassLoader";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
}
我打赌他们甚至不明白这两个指令会改变什么 也许您可以说服客户的管理员,通过使用精确的授权,您不会损害服务器的安全性。例如:
grant codeBase "xspnsf://server:0/somedb.nsf/script/-"{
permission java.lang.RuntimePermission "setContextClassLoader";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
}
我打赌他们甚至不明白这两个指令会改变什么 是的,我试过CXF。不幸的是,我仍然需要修改java.policy文件。所以下一步:将WS-client移动到插件?是的,我尝试了CXF。不幸的是,我仍然需要修改java.policy文件。所以下一步:将WS-client移动到插件?这可能是一个机会。另一方面,如果我能说服他们没有其他办法,我可能会选择“大”解决方案。使下一个项目更加容易。;-)这可能是个机会。另一方面,如果我能说服他们没有其他办法,我可能会选择“大”解决方案。使下一个项目更加容易。;-)