Java JAX-WS使用受保护或私有构造函数生成WS客户端

Java JAX-WS使用受保护或私有构造函数生成WS客户端,java,web-services,jax-ws,wsimport,Java,Web Services,Jax Ws,Wsimport,我正在使用JAX-WS为一些Web服务生成jar客户端 有人知道是否可以使用jax-ws和受保护或私有构造函数生成webservices客户机吗 我正在使用maven和cxf codegen插件来生成class=)一个选项是……不要编译它:)。使用-s-keep-Xnocompile选项的某些组合,让wsimport在不编译的情况下生成源文件。然后,您可以在编译之前删除生成的服务类。如果需要使用服务类中的嵌入信息,可以使用注释处理从WebServiceClient注释中提取服务名称、命名空间和W

我正在使用JAX-WS为一些Web服务生成jar客户端

有人知道是否可以使用jax-ws和受保护或私有构造函数生成webservices客户机吗


我正在使用maven和cxf codegen插件来生成class=)

一个选项是……不要编译它:)。使用
-s-keep-Xnocompile
选项的某些组合,让wsimport在不编译的情况下生成源文件。然后,您可以在编译之前删除生成的服务类。如果需要使用服务类中的嵌入信息,可以使用注释处理从
WebServiceClient
注释中提取服务名称、命名空间和WSDL位置。您还需要使用一个
service.create()
方法替换服务类构造函数的任何用法


编辑:我的错-我完全不知道您正在使用CXF工具(wsdl2java?)。我以前没有使用过它们,但是如果它们没有提供类似的功能,我会感到惊讶,所以一般的方法应该仍然有效…

好奇:为什么要这样做?作为Web服务客户端的类可以有一个私有/受保护的构造函数,因为它可以在自己的方法中调用Web方法。你的具体问题/场景是什么?您尝试了什么?我创建了一个工厂来为所有Web服务提供服务,因为我需要插入所有用户凭据。因此,如果程序员使用默认构造函数创建ws实例,他将收到一个异常,因为请求头中没有凭据。我想提供一种独特的方式来使用我的Web服务。。。一个有效的附加注释:我使用maven生成我的web服务客户端。自动地该插件使用默认的java方法生成名为wsimport的文件。我需要找到一个参数传递给命令行来完成这个任务。我想我需要使用“man-really wsimport”而不是“man wsimport”命令来查看其余标志的文档。。。。在这里查看-Xnocompile非常有用。我想知道还有多少其他的秘密选择。我想我可能需要查看Apache的源代码才能找到答案。