Генерация исключений Java из исключений XSD / binding с помощью JAXB2 - PullRequest
1 голос
/ 15 января 2010

Для веб-сервисов мы обычно генерируем Java-бины с помощью плагина maven-jaxb2-plugin и используем маршалинг JAXB2 весной Мне интересно, как обрабатывать (SOAP-) сбои, которые объявлены в WSDL / XSD лучше всего. В приложении я хотел бы использовать исключения Java, которые распределяются по ошибкам. Это возможно? Я не нашел способ генерировать исключения с генерацией исходного кода плагина maven-jaxb2-. Спасибо!

Обновление: я хотел бы использовать spring-ws. Но я думаю, основная проблема заключается в том, как генерировать исключения Java с помощью генератора исходного кода jaxb2.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2014

Jaxb2-плагин генерирует бины только из XSD. Вы можете использовать jaxws-maven-plugin вместо maven-jaxb2-plugin.

Попробуйте использовать это:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>generate-from-wsdl<
            <goals>
                <goal>wsimport</
            </goals>
        </execution>
    </executions>

    <configuration>
        <wsdlDirectory>src/main/resources/wsdl/</wsdlDirectory>
        <keep>true</keep>
        <sourceDestDir>target/generated-sources/wsimport</sourceDestDir>
    </configuration>
</plugin>

Просто вызовите команду mvn clean install, и вы найдете сгенерированные ресурсы в target/generated-sources/wsimport в двух пакетах:

  • типы -произведенные Java-бобы такие же, как у jaxb
  • wsdl -классы, исключения, интерфейсы, сгенерированные из wsdl
0 голосов
/ 15 января 2010

XFire (теперь CXF) позволяет связывать исключения SOAP, объявленные в WSDL, с определенным исключением Java, как описано здесь . Эти исключения Java создаются вручную, а не генерируются через JAXB. Я не знаю, есть ли эквивалент в Spring-WS.

...