Hi all,
When I looked at a test case I found SoapOutInterceptor moves nillable
header element to soap body when its value is set to null[1]. For example,
when the following header part value is set to null, this nillable element
will appear in soap body.
public String echo(@WebParam(name = "message") String message.
@WebParam(name = "paramOut",mode = WebParam.Mode.INOUT, header = true)
Holder<String> paramOut) {
paramOut.value = null;
return "echo: " + message;
}
<soap:Body><ns2:echoResponse xmlns:ns2="urn:echo"><result>echo:
test</result></ns2:echoResponse><ns2:paramOut xmlns:ns2="urn:echo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:nil="true"/></soap:Body>
Is this nillable element should be still put in soap header ? Is this an
issue or any spec says this should be handled like this ?
[1]
https://github.com/apache/cxf/blob/master/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java#L237
Cheers,
Jim