wsdl2java: добавьте аннотацию к методу WebService или позвольте WebService расширить интерфейс
В настоящее время мы работаем над платформой, которая использует SOAP с интерфейсом WSDL. Мы используем нисходящий подход и генерируем Java-классы из WSDL с JAX-WS.
Я хотел бы добавить аннотации к методам созданного интерфейса WebService. Если это невозможно, было бы хорошо, если бы я позволил сгенерированному интерфейсу WebService расширить другой интерфейс, который затем можно аннотировать.
В качестве примера возьмем следующий wsdl:
<portType name="SoapDemo">
<operation name="search">
<input message="tns:search" wsam:Action="http://example.org/soapDemo/searchRequestType">
</input>
<output message="tns:searchResponseType" wsam:Action="http://example.org/soapDemo/searchResponseType">
</output>
<fault name="DemoException" message="tns:DemoException" wsam:Action="http://example.org/soapDemo/DemoException">
</fault>
</operation>
</portType>
Теперь я хотел бы использовать пользовательскую привязку, чтобы получить что-то вроде следующего:
@WebService(name = "SoapDemo", targetNamespace = "http://example.org/soapDemo")
public interface ErnpSoap {
@ImportantAnnotation
@WebMethod
@WebResult(targetNamespace = "")
@RequestWrapper(localName = "search", targetNamespace = "http://example.org/soapDemo", className = "example.org.Search")
@ResponseWrapper(localName = "searchResponseType", targetNamespace = "http://example.org/soapDemo", className = "example.org.SearchResponseType")
public SearchResponse search(
/* parameters go here */
throws DemoException
;
Обратите внимание на @ImportantAnnotation, который я хочу добавить в интерфейс.
Это вообще возможно?