if soap header using message part from another message which is not defined in
the operation, message will fail
---------------------------------------------------------------------------------------------------------------
Key: CXF-772
URL: https://issues.apache.org/jira/browse/CXF-772
Project: CXF
Issue Type: Bug
Reporter: Freeman Fang
The operation is
<wsdl:operation name="EchoBinaryHeaderAsString">
<wsdl:input
wsaw:Action="http://xmlsoap.org/Ping/IMtomTest/EchoBinaryHeaderAsString"
name="InputMessageContract" message="tns:InputMessageContract"/>
<wsdl:output
wsaw:Action="http://xmlsoap.org/Ping/IMtomTest/EchoBinaryHeaderAsStringResponse"
name="OutputMessageContract" message="tns:OutputMessageContract"/>
</wsdl:operation>
The binding of this operationis
<wsdl:operation name="EchoBinaryHeaderAsString">
<soap:operation
soapAction="http://xmlsoap.org/Ping/IMtomTest/EchoBinaryHeaderAsString"
style="document" />
<wsdl:input name="InputMessageContract">
<soap:header message="i0:InputMessageContract_Headers"
part="ByteArray" use="literal" />
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="OutputMessageContract">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
So the input header in binding refer to a message part which is not defined in
the operation message.
The header part would be ignored by wsdltojava tool by default, which means it
is not a arg in the generated method.
After add "-exsh true", which means enable extended soap header message
binding, can generate method with this head arg but the run time will fail when
run into line 365 part = o.getInput().getMessagePart(name) of
JaxWsServiceFactoryBean since the part is null
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.