繁体   English   中英

CXF wsdl2java-映射名称空间和包

[英]CXF wsdl2java - mapping namespaces and packages

我正在使用CXF的wsdl2java工具来创建Java Web服务。 我有一个wsdl文件和一些XSD文件,并且我知道可以使用绑定文件来映射名称空间和包。 我的绑定文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" jaxb:version="2.0">
    <jaxb:bindings schemaLocation="SchemeA.xsd" node="/xsd:schema">
        <jaxb:schemaBindings>
            <jaxb:package name="com.test.package.a" />
        </jaxb:schemaBindings>
    </jaxb:bindings>
    <jaxb:bindings schemaLocation="SchemeB.xsd" node="/xsd:schema">
        <jaxb:schemaBindings>
            <jaxb:package name="com.test.package.b" />
        </jaxb:schemaBindings>
    </jaxb:bindings>
    <jaxb:bindings schemaLocation="SchemeC.xsd" node="/xsd:schema">
        <jaxb:schemaBindings>
            <jaxb:package name="com.test.package.c" />
        </jaxb:schemaBindings>
    </jaxb:bindings>
</jaxb:bindings>

我的文件:

  • A.wsdl(导入所有.xsd文件)
  • 方案A
  • SchemeB.xsd
  • 方案C.xsd

它适用于此XSD方案中的所有内容,但不适用于wsdl的定义。 我的意思是说最后我的包裹看起来像这样:

  • com.test.package.a
  • com.test.package.b
  • com.test.package.c
  • https.package_test_com.a.service

最后一行困扰着我,我希望它看起来像这样:com.test.package.a.service

绑定文件由jaxb使用,该文件管理参数和响应的绑定,但是webservice由cxf或jax-ws直接管理,因此您需要使用wsdl2java的-p选项指定此绑定,如http://cxf.apache所示。 org / docs / wsdl-to-java.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM