java - 是否可以覆盖 glassfish\modules\webservices-osgi.jar 中的类?

标签 java web-services soap glassfish

我编写了一个在 glassfish 服务器上运行的 soap 客户端应用程序。

出于 soap 安全原因,我必须更新通过 webservices-osgi.jar glassfish 模块提供的 Metro 项目的类 (SecurityHeather.java) 部分。

有没有办法覆盖 glassfish\modules\webservices-osgi.jar 中的类?

最简单的方法是更新 jar 文件中的类并保存。但我不确定它是否是最好的方法。

最佳答案

在搜索了大量类似的帖子并阅读了大量的 glassfish 文档后,我找到了解决此问题的方法。有一个定义元素类加载器的 glassfish-web.xml 部署描述符。默认情况下,类加载器将所有类加载功能委托(delegate)给其父类加载器,父类加载器在 glassfish 安装目录的模块文件夹中查找 jar。如果我们将 class-loader 元素的 delegate 属性设置为 false,则委托(delegate)模型被反转,子类加载器执行类加载,首先加载 war 库中可用的类,然后查看 glassfish 模块文件夹。

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish 
 Application Server 3.1 Servlet 3.0//EN" 
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
  <context-root>/SampleApp</context-root>
  <class-loader delegate="false"/>
 <jsp-config>
   <property name="keepgenerated" value="true">
     <description>Keep a copy of the generated servlet class' java code.
     </description>
     </property>
   </jsp-config>
  </glassfish-web-app>

关于java - 是否可以覆盖 glassfish\modules\webservices-osgi.jar 中的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27516306/

相关文章:

java - 关于 Ignite AffinityKey 的严重问题

java - 开发者如何制作一个Java项目 'extendable'?

web-services - 在 Safari 中获取自定义 header 的问题

c# - 获取请求客户端的 IP 地址(Soap 消息)

wcf - 两个端点(soap、json)和一个服务方法

java - 如何显示图像的RGB值直方图?

java - 如何在 PowerMockito 中模拟身份验证对象?

PHP SoapClient 无法处理消息,因为内容类型为 'text/xml;

java - 我应该在哪里存储我的 java 应用程序访问第三方服务的凭据?

android - 如何将启用 SSL 的 asmx web 服务与 android 连接