WSDL с дублированной структурой XSD, показывающей исключение уже определенного типа - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь сгенерировать файлы классов с помощью плагина wsdl2java cxf в maven. Для моего wsdl есть два ресурса (XSD) с разными именами с одинаковым структурным содержимым. Я попытался использовать связывание jaxb xml для генерации java-класса таким образом, чтобы один из этих XSD указывал на другой пакет. Но все равно он генерирует исключение типа «Уже определено» для каждого простого и сложного типа в XSD. Прикрепление моего jaxb переплета xml.

Ниже приведена структура XSD (не полная).

<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.check.com/zsoa/nac/webservices/Services/Definitions/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:pdt="http://www.check.com/zsoa/nac/schemas/PrimitiveDatatypes/" 
   xmlns:def="http://www.check.com/zsoa/nac/webservices/Services/Definitions/" xmlns:com="http://www.check.com/zsoa/nac/schemas/TransferObjects/Common/">
      <xsd:import namespace="http://www.check.com/zsoa/nac/schemas/PrimitiveDatatypes/" schemaLocation="BusinessPerformanceMonitoring_V1_1.xsd"/>
      <xsd:import namespace="http://www.check.com/zsoa/nac/schemas/TransferObjects/Common/" schemaLocation="BusinessPerformanceMonitoring_V1_1_2.xsd"/>
      <xsd:simpleType name="ApplicationType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Batch"/>
      <xsd:enumeration value="Conversational"/>
      <xsd:enumeration value="Olap"/>
      <xsd:enumeration value="Oltp"/>
      <xsd:enumeration value="Web"/>
    </xsd:restriction>
  </xsd:simpleType>

Jaxb переплет xml

<?xml version="1.0" encoding="UTF-8"?>
<jaxws:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
            xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
            wsdlLocation="../BusinessPerformanceMonitoring-V1.wsdl">
<jaxb:bindings schemaLocation="http://test-int-api.checkna.com/commonSchema/BusinessPerformanceMonitoring_V1.2?xsd=Definitions.xsd"
        node="wsdl:definitions/wsdl:types/xsd:schema[@targetNamespace='http://www.check.com/zsoa/nac/webservices/Services/Definitions/']">
    <jaxb:schemaBindings>
        <jaxb:package name="com.test.pso.check.webservice.address"/>
    </jaxb:schemaBindings>
</jaxb:bindings>

...