我浏览了以下链接:SOAPFaultException "MustUnderstand headers (oasis-200401-wss-wssecurity-secext-1.0.xsd) are not understand",但仍在挣扎。
我正在使用Spring Boot v2.2.2..RELEASE and SOAP项目。
我正在将两个不同的 WSDL 文件加载到我的项目中。一个 URL 生成到http://localhost:8080/employee/employee-soap哪个工作正常。但这http://localhost:8080/student/student-soap给出了以下错误。
2020-02-17 15:31:00.241 WARN 20236 --- [nio-8080-exec-5] oswsoap.server.SoapMessageDispatcher:无法处理 mustUnderstand 标头:{ http://docs.oasis-open.org/wss /2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd }安全。返回故障
代码:
@EnableWs
@Configuration
public class AppConfig extends WsConfigurerAdapter {
@SuppressWarnings({ "rawtypes", "unchecked" })
@Bean
public ServletRegistrationBean messageDispatcherServlet(ApplicationContext applicationContext) {
MessageDispatcherServlet servlet = new MessageDispatcherServlet();
servlet.setApplicationContext(applicationContext);
servlet.setTransformWsdlLocations(true);
return new ServletRegistrationBean(servlet, "/*");
}
@Bean
public SaajSoapMessageFactory messageFactory() {
SaajSoapMessageFactory messageFactory = new SaajSoapMessageFactory();
messageFactory.setSoapVersion(SoapVersion.SOAP_11);
messageFactory.afterPropertiesSet(); …Run Code Online (Sandbox Code Playgroud) 我使用 spring-boot-starter-webservices 使用 spring 创建了一个 ws 端点。
我用过@org.springframework.ws.server.endpoint.annotation.Endpoint,效果很好。
但是当我尝试将寻址标头添加到带有服务器打印的wsa:ReplyTo请求时:mustUnderstand=true
无法处理 MustUnderstand 标头:{http://www.w3.org/2005/08/addressing}ReplyTo。返回故障
并返回类似的故障作为响应。
如何启用寻址以便ReplyTo被理解并回复202,将响应发送到中描述的不同端点ReplyTo?
我尝试添加@javax.xml.ws.soap.Addressing(enabled=true)旁边的@Endpoint注释,但我仍然得到上述行为。