У нас есть проект maven, который создает клиент wsdl через apache cxf. Основная цель состоит в том, чтобы полная оболочка сервиса была полностью сгенерирована, так что только файлы wsdl должны поддерживаться при управлении версиями.make cxf - wsdl2java использовать SLF4J
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.7.5</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<wsdlOptions>
<wsdlOption>
<wsdl>src/main/resources/WSAnzeigeKunde.wsdl</wsdl>
<extraargs>
<extraarg>-frontend</extraarg>
<extraarg>jaxws21</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://www.die-software.com/xsd/OBS_ANZEIGE_KUNDE_ANTWORT.xsd=com.diesoftware.service.anzeigekunde</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
все это хорошо работает. полученный код выглядит
public class WSAnzeigeAssetsummenService extends Service {
public final static URL WSDL_LOCATION;
public final static QName SERVICE = new QName("http://www.die-software.com/xsd/OBS_ANZEIGE_ASSETSUMMEN_ANTWORT.xsd", "WSAnzeigeAssetsummenService");
public final static QName WSAnzeigeAssetsummenPort = new QName("http://www.die-software.com/xsd/OBS_ANZEIGE_ASSETSUMMEN_ANTWORT.xsd", "WSAnzeigeAssetsummenPort");
static {
URL url = null;
try {
url = new URL("file:/C:/Data/workspace-temp/WebAppPOC/src/main/resources/WSAnzeigeAssetsummen.wsdl");
} catch (MalformedURLException e) {
java.util.logging.Logger.getLogger(WSAnzeigeAssetsummenService.class.getName())
.log(java.util.logging.Level.INFO,
"Can not initialize the default wsdl from {0}", "file:/C:/Data/workspace-temp/WebAppPOC/src/main/resources/WSAnzeigeAssetsummen.wsdl");
}
WSDL_LOCATION = url;
}
Я обнаружил, что CXF поддерживает SLF4J (http://cxf.apache.org/docs/debugging-and-logging.html#DebuggingandLogging-UsingLog4jInsteadofjava.util.logging), но это, кажется, не принадлежат к WSDL2Java.
На самом деле нет способа настроить wsdl2java для использования любого другого регистратора.
Не тот ответ, который я хотел бы услышать, но спасибо, чтобы было ясно, почему это так, как есть ... Есть ли способ избежать регистрации, т. Е. Передать исключение для вызывающего? –