将日志记录添加到 soap web 服务
Adding logging to soap web service
我想记录我的请求和响应。
通过更改此处推荐的属性,我找到了一个非常简单的解决方案:
Tracing XML request/responses with 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
插件。
非常感谢
我们现在使用org.apache.cxf
一开始想起来有点棘手,但后来它确实提供了一种非常好的添加功能的方法 - 包括日志记录功能。
服务是在 spring 配置中创建的:
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()
}
我想记录我的请求和响应。 通过更改此处推荐的属性,我找到了一个非常简单的解决方案: Tracing XML request/responses with 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
插件。
非常感谢
我们现在使用org.apache.cxf
一开始想起来有点棘手,但后来它确实提供了一种非常好的添加功能的方法 - 包括日志记录功能。
服务是在 spring 配置中创建的:
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()
}