当soap请求中的命名空间为空时,@ RequestPayload将提供空值

时间:2019-08-08 11:17:14

标签: spring-boot soap

当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)

0 个答案:

没有答案