当soap请求的名称空间为空时,我在Spring Boot方法的@RequestPayLoad中收到null。
我有一个请求,可以接受带有或不带有名称空间的SOAP请求,如下面的代码所示。 当SOAP请求具有名称空间时,我的代码工作正常。 例如:
<m:getVisibleDataByID>
<m:login>test</m:login>
<m:Password>test</m:Password>
<m:langue>EN</m:langue>
<m:ID>23121221</m:ID>
</m:getVisibleDataByID>
但是它不适用于空名称空间。
我尝试了WSDL中的更改,例如:elementFormDefault =“ unqualified” 在这种情况下,可以接受没有名称空间的SOAP请求,但是具有名称空间的SOAP请求不起作用。
我试图将名称空间添加到EndPointInterceptor-> handleRequest的请求中的空标签中,但是我无法添加前缀。
具有空名称空间的SOAP请求:
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<m:getVisibleDataByID xmlns:m="http://com/socgen/ich/id/webservices">
<login>test</login>
<Password>test</Password>
<langue>EN</langue>
<ID>23121221</ID>
</m:getVisibleDataByID>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
在上述肥皂请求中->标签login,password,langue和ID的前缀为空。
春季靴:
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "getVisibleDataByID")
@ResponsePayload
public GetVisibleDataByIDResponse getVisibleDataByID(@RequestPayload GetVisibleDataByID request)
我希望在spring boot-GetVisibleDataByIGG->的请求中设置并显示soap请求的值(登录名,密码.....)
public GetVisibleDataByIGGResponse getVisibleDataByIGG(@RequestPayload GetVisibleDataByIGG request)