Web服务契约首先被撤销-在WSDL中引用Java类
我们有一系列的web服务,这些服务是首先设计的。在各种WSDL文件中,包含来自同一XML模式定义的公共XML片段。但是,其结果是为各种Web服务(wsimport)创建了几次相同的类,如Web服务契约首先被撤销-在WSDL中引用Java类,java,web-services,wsdl,jax-ws,Java,Web Services,Wsdl,Jax Ws,我们有一系列的web服务,这些服务是首先设计的。在各种WSDL文件中,包含来自同一XML模式定义的公共XML片段。但是,其结果是为各种Web服务(wsimport)创建了几次相同的类,如Address 是否可以先使用契约,然后再定义在各种WSDL文件中引用的一组或少数Java类? 这将使前端和后端的编程更加容易。我建议切换到cxf codegen插件。它允许对代码生成过程进行更多的定制 使用cxf codegen插件,您可以将类型名称空间映射到具体的包。只需为共享类指定公共包: <wsdl
Address
是否可以先使用契约,然后再定义在各种WSDL文件中引用的一组或少数Java类?
这将使前端和后端的编程更加容易。我建议切换到cxf codegen插件。它允许对代码生成过程进行更多的定制 使用cxf codegen插件,您可以将类型名称空间映射到具体的包。只需为共享类指定公共包:
<wsdlOption>
<wsdl>${basedir}/src/main/resources/service1/Service1.wsdl</wsdl>
<extraargs>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/types=com.namespace.types</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/service1=com.namespace.service1</extraarg>
</extraargs>
</wsdlOption>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/service2/Service2.wsdl</wsdl>
<extraargs>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/types=com.namespace.types</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/service2=com.namespace.service2</extraarg>
</extraargs>
</wsdlOption>
${basedir}/src/main/resources/service1/service1.wsdl
-p
http://yournamespace.com/types=com.namespace.types
-p
http://yournamespace.com/service1=com.namespace.service1
${basedir}/src/main/resources/service2/service2.wsdl
-p
http://yournamespace.com/types=com.namespace.types
-p
http://yournamespace.com/service2=com.namespace.service2
我建议切换到cxf codegen插件。它允许对代码生成过程进行更多的定制
使用cxf codegen插件,您可以将类型名称空间映射到具体的包。只需为共享类指定公共包:
<wsdlOption>
<wsdl>${basedir}/src/main/resources/service1/Service1.wsdl</wsdl>
<extraargs>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/types=com.namespace.types</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/service1=com.namespace.service1</extraarg>
</extraargs>
</wsdlOption>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/service2/Service2.wsdl</wsdl>
<extraargs>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/types=com.namespace.types</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/service2=com.namespace.service2</extraarg>
</extraargs>
</wsdlOption>
${basedir}/src/main/resources/service1/service1.wsdl
-p
http://yournamespace.com/types=com.namespace.types
-p
http://yournamespace.com/service1=com.namespace.service1
${basedir}/src/main/resources/service2/service2.wsdl
-p
http://yournamespace.com/types=com.namespace.types
-p
http://yournamespace.com/service2=com.namespace.service2
我们正在使用jaxws-maven-plugin。我们正在使用jaxws-maven-plugin。感谢您的提示。我还认为cxf codegen插件可能是更好的解决方案。然而,jaxws maven插件还具有将xml名称空间映射到生成的Java类的Java包的特性。问题仍然存在,如何使用现有的Java类作为webservice契约的“传入项”。谢谢您的提示。我还认为cxf codegen插件可能是更好的解决方案。然而,jaxws maven插件还具有将xml名称空间映射到生成的Java类的Java包的特性。问题仍然存在,如何使用现有Java类作为Web服务契约的“传入项”。