CXF генерирует WSDL, где Fault расширяет tns: исключение

У меня есть класс CXF Fault, определенный таким образом:

@WebFault(name = "FaultContainer",
        faultBean = "myapi.transport.FaultContainer",
        targetNamespace = "mynmspace")
public class ServiceFaultSecond extends java.lang.Exception {
...
}

Как видите, это расширяет обычное исключение Java. Проблема в том, что в WSDL, сгенерированном CXF, этот класс представлен следующим образом:

<xs:complexType name="serviceFaultSecond">
 <xs:complexContent>
  <xs:extension base="tns:exception">
   <xs:sequence>
    <xs:element minOccurs="0" name="faultInfo" type="tns:FaultContainer"/>
   </xs:sequence>
  </xs:extension>
 </xs:complexContent>
</xs:complexType>

Здесь он расширяет "tns:exception" (то, что расширяет tns:throwable). Теперь, когда я пытаюсь сгенерировать клиента, возникают ошибки компиляции - он ожидает mynmspace.Exception и mynmspace.Throwable вместо java.lang...

Обычно CXF не помещает элемент xs: extension в WSDL, почему это происходит сейчас?

0 ответов

Другие вопросы по тегам