[ 
https://issues.apache.org/jira/browse/CXF-5827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14048758#comment-14048758
 ] 

Aki Yoshida commented on CXF-5827:
----------------------------------

Hi Dan,
thanks for your reply on the list.
yes. from the time when the first iPhone came out. :-)
regards, aki

> 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: 2.7.11, 2.6.14, 3.0.0
>            Reporter: Aki Yoshida
>            Assignee: Aki Yoshida
>             Fix For: 2.6.15, 2.7.12, 3.0.1
>
>
> 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.
> In fact, many 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