2012-07-26 119 views
0

我在JBoss 5.1.0 GA运行几个网络服务,将JBossWS本地堆栈(附带的JBoss 5.1.0 GA二进制)开发一个基于Java的Web服务客户端

这些Web服务是简单的POJO服务。服务公开的许多WebMethods都是复杂对象类型(我将这些复杂类型称为DTO)以及大量自定义定义的异常。这些DTO也捆绑在一个jar文件中,以便它们也可以在客户端使用。

我开始使用Eclipse创建一个客户端(我知道使用wsconsume生成客户端存根),并且我看到该实用程序将从WSDL生成DTO,并且我找不到任何强制该实用工具使用的方法jar文件中提供的DTO &异常类。

我刚才问过SO上的question on this,找不到任何答案。

通过阅读wsconsume上的各种资源并使用eclipse生成客户端存根(使用JBossWS),我现在开始相信我试图实现的功能实际上可能无法使用wsconsume。

我的问题是: 有没有更好的方法来创建一个客户端存根,它将使用jar文件中的DTO类。如果可能的话,我打开更改客户端生成机制并转移到轴或其他任何客户端库。如果可以为客户端存根生成创建一个ant任务,这也是理想的。

PS:我对网络服务的知识是非常有限的,如果我在这里对我的问题很蠢,请原谅我。

回答

0

为什么要在Web服务中使用数据传输对象?这是必要的吗?因为如果你使用这些对象,那些Web服务只能在我认为的Java中使用。这是一个互操作性问题。所以,如果你能避免那些会是好习惯的物体。

+0

它不是必需的,因为这些DTO已经与客户端代码共享,我只是想重用它们而不是从存根中创建一个全新的集合。我不认为我在这里打破任何互操作性。我是吗? – 2012-08-03 12:39:34

+0

一个人可以使用您的网络服务,使用非DTO语言进行定义? – andunslg 2012-08-03 13:16:07

+0

这是更多的私人网络服务,只有我们编写的客户端才能使用它。我们目前正在为它开发一个Java客户端。将来我们可能会有另一种语言的客户(这些DTO不可用,但他们仍然可以使用此Web服务)。 – 2012-08-03 18:23:47