Добавление регистрации в мыльный веб-сервис - PullRequest
0 голосов
/ 20 февраля 2019

Я хотел бы зарегистрировать мой запрос и ответ.Я нашел очень простое решение для этого, изменив рекомендуемые здесь свойства: Отслеживание XML-запроса / ответов с помощью JAX-WS

Моя проблема в том, что я не хочу регистрировать учетные данные,поэтому мне нужно вручную адаптировать сообщение журнала.

Я новичок в мыле, поэтому у меня совсем немного опыта.

Я использую плагин gradle для создания классов Java моего WSDL:https://plugins.gradle.org/plugin/no.nils.wsdl2java

Мой код для создания службы:

import javax.xml.namespace.QName
import javax.xml.ws.Service
[...]

private MYSoapWsdlClass createClient(String url) {

    URL serverEndpoint = new URL(url)
    QName SERVICE_NAME = new QName("DOC_URL", "SERVICE_NAME")
    Service service = Service.create(serverEndpoint, SERVICE_NAME)
    return service.getPort(MYSoapWsdlClass.class)
}

Итак, как мне получить обработчик ведения журнала здесь?Или есть другой простой способ создания экземпляра моего сервиса с помощью wsdl?Обычно я использую groovy, но не могу найти плагин wsdl2groovy.

Большое спасибо

1 Ответ

0 голосов
/ 11 июня 2019

Теперь мы используем org.apache.cxf

Сначала было немного сложно понять это, но потом он предоставляет очень хороший способ добавления функций, включая функцию ведения журнала.

Сервис создается в весенней конфигурации:

  public static final LoggingFeature LOGGING_FEATURE = new LoggingFeature(outSender: new CustomEventOutSender(),
                                                                      inSender: new CustomEventInSender(),
                                                                      limit: -1)

@Bean
MYSoapWsdlClass mYSoapWsdlClass() {
    JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(serviceClass: MYSoapWsdlClass.class,
                                                          address: url,
                                                          features: [LOGGING_FEATURE]
    )
    return factory.create()
}
...