Aki Yoshida created CXF-5827:
--------------------------------

             Summary: Use only local name matching for inbound rpc/literal 
processing to support some older rpc/literal implementation
                 Key: CXF-5827
                 URL: https://issues.apache.org/jira/browse/CXF-5827
             Project: CXF
          Issue Type: Improvement
          Components: Soap Binding
    Affects Versions: 3.0.0, 2.6.14, 2.7.11
            Reporter: Aki Yoshida
            Assignee: Aki Yoshida


Although WS-i BP R2735 states the part parameter elements must be in no 
namespace, some old rpc/literal implementation prior to WS-I BP use qualified 
elements.

However, most rpc/literal services in production use such older implementation 
and there is a benefit in tolerating namespaced elements. 

RPCInInterceptor.java has the following comment to address this point.
{code}
156                     // WSI-BP states that RPC/Lit part accessors should be 
completely unqualified
157                     // However, older toolkits (Axis 1.x) are qualifying 
them.   We'll go
158                     // ahead and just match on the localpart.   The 
RPCOutInterceptor
159                     // will always generate WSI-BP compliant messages so 
it's unknown if
160                     // the non-WSI-BP toolkits will be able to understand 
the CXF
161                     // generated messages if they are expecting it to be 
qualified.
162                     Iterator<MessagePartInfo> partItr = 
msg.getMessageParts().iterator();
163                     while 
(!qn.getLocalPart().equals(part.getConcreteName().getLocalPart())
164                         && partItr.hasNext()) {
165                         part = partItr.next();
166                     }
167                     
168                     if (!qn.equals(part.getConcreteName())) {
169                         throw new Fault(
170                                         new 
org.apache.cxf.common.i18n.Message(
171                                                                     
"UNKNOWN_RPC_LIT_PART",
172                                                                      LOG,
173                                                                      qn));
{code}

However, line 168 is rejecting the namespace qualified parameter name.

This patch changes the above if-statement to use only the local name comparison.


   



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to