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.

Reply via email to