2014-02-07 2 views
0

Я использую инструмент wsdl2java для CXF для создания веб-службы java. У меня есть файл wsdl и несколько файлов XSD, и я знаю, что можно использовать файл привязки для сопоставления пространств имен и пакетов. Мой связывании файл выглядит следующим образом:CXF wsdl2java - сопоставление пространств имен и пакетов

<?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-файлы)
  • SchemeA.xsd
  • SchemeB.xsd
  • SchemeC. 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

ответ

3

связывание файла используется JAXB, что мана ges привязки paramater и ответов, но webservice напрямую управляется cxf или jax-ws, поэтому вам нужно будет указать это связывание с опцией -p wsdl2java, как указано здесь http://cxf.apache.org/docs/wsdl-to-java.html

Смежные вопросы