小编Zau*_*r_M的帖子

如何手动加密SOAP消息?

我使用JBoss 4.2.3.GA. 在之前的任务中,我使用了JBoss支持的基本加密机制(WS-Security).即我使用密钥库,信任库文件进行加密和签名消息.通常(以标准方式)在jboss-wsse-*文件中定义了必须在加密过程中使用的密钥别名.我在Action book中使用了JBoss的ws安全配置.

没关系.加密工作正常.

但在我当前的任务中,我需要手动和动态地为键指定别名.任务描述:

  • 我有几个档案.在每个配置文件中,可以是必须用于加密消息的公钥的别名别名.

  • 我有密钥库包含服务器的私钥/公钥和客户端的公钥,它们将向服务器发送消息

  • 我需要使用此别名指定的公钥从配置文件获取别名并加密消息(在客户端).

  • 所以我需要以某种方式从密钥库加载数据(它必须驻留在文件系统文件夹,即外耳文件),从中获取适当的公钥,然后进行加密.
  • 之后,我需要向具有私钥进行解密的远程Web服务(服务器端)发送消息.
  • 在这里,我看到了服务器端逻辑的几种变体:Web服务使用标准JBoss机制进行解密,或者我可以手动加载密钥库数据并手动进行解密.

所以问题是关于:

  1. 有没有办法为JBoss指定文件系统目录来加载密钥库?
  2. 我可以为标准JBoss WSS机制指定加密别名,以允许jboss在crypt进程中使用此信息吗?
  3. 如果我必须进行手动加密/解密,那么如何将多个Java对象包装到WS消息中,然后使用必要的别名加密它以及如何手动将此消息发送到远程Web服务?

我只是不知道如何开始,使用什么框架,甚至有必要使用外部(非JBoss)框架...

java security ws-security jboss web-services

12
推荐指数
1
解决办法
4850
查看次数

Web服务的Web客户端

当我从J2SE(桌面)应用程序访问它时,我的Web服务工作正常.要访问此服务,我会遵循:

  1. 使用java wsimport工具通过wsdl链接生成存根类
  2. 然后我使用生成的类创建服务并运行wsdl操作之一.它看起来像这样:

    MyWebServiceService webService = new MyWebServiceService();

    MyWebService port = webService.getMyWebServicePort();

    webService.run( "XYZ");

我很难过,当我在一个独立的应用程序中使用它时它工作得很好.但是......当我尝试以相同的方式从servlet-client访问web服务时,使用生成的存根,我得到以下错误:

java.lang.ClassCastException: com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.bind.api.JAXBRIContext
org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitializeAccessors(EndpointMetaData.java:686)
org.jboss.ws.metadata.umdm.EndpointMetaData.initializeInternal(EndpointMetaData.java:567)
org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitialize(EndpointMetaData.java:553)
org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:314)
org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:271)
org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:202)
javax.xml.ws.Service.getPort(Service.java:143...
Run Code Online (Sandbox Code Playgroud)

我搜索谷歌很长时间,但没有找到任何有用的主题.一些主题显示了从servlet访问Web服务的示例,但遗憾的是我无法做到这一点......(并且不知道是什么原因造成的.

应用服务器:jboss 4.2.3GA

是否可以从servlet连接Web服务?怎么样?

我已经尝试过使用@WebServiceRef注释,但似乎web容器无法注入web服务存根.我认为容器本身不能这样做,因为存根类已经由wsimport工具生成,并且它使用这些类来访问web服务.

使用以下命令生成存根类:

wsimport -keep -p com.myhost.ws http://www.myhost.com/services/MyWebService?wsdl
Run Code Online (Sandbox Code Playgroud)

java web-services jaxb

7
推荐指数
1
解决办法
1万
查看次数

如何在hibernate实体中通过几列定义索引?

早上.

我需要在hibernate实体中添加索引.据我所知,可以使用@Index注释来指定单独列的索引,但我需要一个实体的几个字段的索引.

我用谷歌搜索并找到了jboss注释@Table,它允许这样做(按照规范).但是(我不知道为什么)这个功能不起作用.可能是jboss版本低于必要,或者我可能不明白如何使用这个注释,但是...复杂索引没有创建.

为什么不能创建索引?

jboss版本4.2.3.GA

实体示例:

package somepackage;
import org.hibernate.annotations.Index;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
@org.hibernate.annotations.Table(appliesTo = House.TABLE_NAME,
    indexes = {
            @Index(name = "IDX_XDN_DFN",
                    columnNames = {House.XDN, House.DFN}
            )
    }
)

public class House {
    public final static String TABLE_NAME = "house";
    public final static String XDN = "xdn";
    public final static String DFN = "dfn";

    @Id
    @GeneratedValue
    private long Id;

    @Column(name = XDN)
    private long xdn;

    @Column(name = DFN)
    private long dfn;

    @Column
    private String …
Run Code Online (Sandbox Code Playgroud)

java orm jboss hibernate

7
推荐指数
2
解决办法
2万
查看次数

如何为JBean方法添加描述以在JBOSS的jmx-console中查看它

我正在使用JBoss 4.3.2.GA

我已经为我的MBean服务添加了方法.方法在签名中有几个参数.它工作正常,但我想要更多.

问题:当我在jmx-console中看到方法签名时,我不知道每个输入字段的含义,因为jmx-console不显示参数名称,只显示值的输入字段.

是否有能力添加每个参数的描述(在Java代码中,而不是xml)允许在JBOSS的jmx-console中显示此描述?

我试过使用Spring注释:@ManagedOperation至少添加方法描述但没有结果(描述没有在jmx-console中显示).

可能有人已经解决了这个问题......

java jboss jmx

5
推荐指数
1
解决办法
1万
查看次数

如何指定web-service方法的字符串参数名称

我有一个带有方法签名的Web服务,如下所示:

public RetType doIt(String description){
   return null;
}
Run Code Online (Sandbox Code Playgroud)

在生成wsdl之后,我看到(在wsdl中)方法doIt有参数名称arg0.在代码优先方法中是否有一种方法可以像在Java类方法签名中那样在wsdl中指定参数名称?

java wsdl jax-ws

2
推荐指数
1
解决办法
2625
查看次数

标签 统计

java ×5

jboss ×3

web-services ×2

hibernate ×1

jax-ws ×1

jaxb ×1

jmx ×1

orm ×1

security ×1

ws-security ×1

wsdl ×1