Java 从WSDL自动生成web服务JAX-WS

Java 从WSDL自动生成web服务JAX-WS,java,maven,soap,wsdl,jax-ws,Java,Maven,Soap,Wsdl,Jax Ws,我必须创建一个与现有web服务相同的web服务。WSDL必须相同,因为它们不想更改客户端。我该怎么做 另外,如何使用Maven处理JAX-WS?从WSDL重新创建Web服务 根据Martin Kalin的《Java Web服务:启动和运行》一书,从WSDL重新创建服务的一种方法是从客户端存根开始 wsimport -keep -p <your wsdl> wsimport-keep-p 感兴趣的项目将是生成的SEI代码 您可以删除特定于客户端的注释,用服务器端注释替换它们,并在重

我必须创建一个与现有web服务相同的web服务。WSDL必须相同,因为它们不想更改客户端。我该怎么做

另外,如何使用Maven处理JAX-WS?

从WSDL重新创建Web服务 根据Martin Kalin的《Java Web服务:启动和运行》一书,从WSDL重新创建服务的一种方法是从客户端存根开始

wsimport -keep -p <your wsdl>
wsimport-keep-p
感兴趣的项目将是生成的SEI代码

您可以删除特定于客户端的注释,用服务器端注释替换它们,并在重建web服务时将其用作基本接口

有了SEI,您可以轻松创建自己的SIB并发布它

重要提示:当然,您将看不到他们兄弟姐妹背后的逻辑,这在任何时候都不可用。但上述方法有望对您有所帮助,因为您希望创建自己的实现

带Maven的JAX-WS 这本身就应该有一个单独的问题。Maven有一个jax-ws插件(工件ID:jaxws-Maven-plugin)供您开始使用。有关此链接的更多信息:。

从WSDL重新创建Web服务 根据Martin Kalin的《Java Web服务:启动和运行》一书,从WSDL重新创建服务的一种方法是从客户端存根开始

wsimport -keep -p <your wsdl>
wsimport-keep-p
感兴趣的项目将是生成的SEI代码

您可以删除特定于客户端的注释,用服务器端注释替换它们,并在重建web服务时将其用作基本接口

有了SEI,您可以轻松创建自己的SIB并发布它

重要提示:当然,您将看不到他们兄弟姐妹背后的逻辑,这在任何时候都不可用。但上述方法有望对您有所帮助,因为您希望创建自己的实现

带Maven的JAX-WS
这本身就应该有一个单独的问题。Maven有一个jax-ws插件(工件ID:jaxws-Maven-plugin)供您开始使用。更多信息请点击此链接:。

您有权访问SEI&SIB吗?似乎要求您为已发布的服务创建一个新的实现,而不更改任何公开的操作。但请补充更多细节。你的问题仍然太模糊,无法回答。我无法访问SEI&SIB。我只有WSDL。我必须公开同样的,但有不同的商业逻辑。客户不知道我已经更改了。您有权访问SEI&SIB吗?似乎要求您为已发布的服务创建一个新的实现,而不更改任何公开的操作。但请补充更多细节。你的问题仍然太模糊,无法回答。我无法访问SEI&SIB。我只有WSDL。我必须公开同样的,但有不同的商业逻辑。客户不知道我已经更改了。谢谢您的解释。我使用了jaxws-maven插件,但是第二个WSDL不等于第一个。有可能对插件说要显示第一个吗??我知道使用AXIS是可能的,但我不知道使用JAX-WS有什么区别?在WSDL的哪个部分?我做了。非常感谢。首先,我使用jaxws-maven插件创建客户机,然后使用jaxws-maven插件创建web服务器表单WSDL。最后,我得到了完全相同的WSDL。
-p
需要JDK7中的包名。似乎可以省略
-p
。不过wsimport不支持编码。这就是我现在使用Axis2的原因。感谢您的解释。我使用了jaxws-maven插件,但是第二个WSDL不等于第一个。有可能对插件说要显示第一个吗??我知道使用AXIS是可能的,但我不知道使用JAX-WS有什么区别?在WSDL的哪个部分?我做了。非常感谢。首先,我使用jaxws-maven插件创建客户机,然后使用jaxws-maven插件创建web服务器表单WSDL。最后,我得到了完全相同的WSDL。
-p
需要JDK7中的包名。似乎可以省略
-p
。不过wsimport不支持编码。这就是我现在使用Axis2的原因。