On Jun 27, 2014, at 10:36 AM, Aki Yoshida <[email protected]> wrote: > yes. I changed it to use the local name comparison so that both > unqualified and qualified elements are accepted, where this latter > "qualified" case seems to happen frequently in some old > implementations in production. The comment lines above that part, > which you added in 2007, talks exactly about this situation and I > thought the intention of the code was to accept both names: qualified > and unqualified for maximum interoperability. > > Maybe, I misread your comment. If you are against accepting both types > by default, we could introduce an option to make this behavior > optional or we could revert the change and ask people to configure the > transform feature. But I think, there is benefit in accepting both > elements than strictly rejecting those non-BP compliant elements.
OK. I saw the rest of the comment in the JIRA issue. Didn’t realize we had a comment about this in the code, but it didn’t actually work that way. :-) Thanks! Dan > > Thanks. > > regards, Aki > > > > 2014-06-26 22:40 GMT+02:00 Daniel Kulp <[email protected]>: >> >> Aki, >> >> Isn’t the "part.getConcreteName()” qname only the local name (no namespace) >> in this case? On the wire, that part name should NOT be qualified so we >> should be checking to make sure that’s the case to make sure it’s a valid >> message. >> >> >> Dan >> >> >> >> On Jun 26, 2014, at 3:54 PM, [email protected] wrote: >> >>> Repository: cxf >>> Updated Branches: >>> refs/heads/master cd058a977 -> bf8247f86 >>> >>> >>> [CXF-5827] Use only local name matching for inbound rpc/literal processing >>> >>> >>> Project: http://git-wip-us.apache.org/repos/asf/cxf/repo >>> Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/bf8247f8 >>> Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/bf8247f8 >>> Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/bf8247f8 >>> >>> Branch: refs/heads/master >>> Commit: bf8247f8640c59b6647e2dde0c5a142624afdd24 >>> Parents: cd058a9 >>> Author: Akitoshi Yoshida <[email protected]> >>> Authored: Thu Jun 26 21:54:15 2014 +0200 >>> Committer: Akitoshi Yoshida <[email protected]> >>> Committed: Thu Jun 26 21:54:15 2014 +0200 >>> >>> ---------------------------------------------------------------------- >>> .../apache/cxf/binding/soap/interceptor/RPCInInterceptor.java | 5 +++-- >>> 1 file changed, 3 insertions(+), 2 deletions(-) >>> ---------------------------------------------------------------------- >>> >>> >>> http://git-wip-us.apache.org/repos/asf/cxf/blob/bf8247f8/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/RPCInInterceptor.java >>> ---------------------------------------------------------------------- >>> diff --git >>> a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/RPCInInterceptor.java >>> >>> b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/RPCInInterceptor.java >>> index cd16a9c..37120a8 100644 >>> --- >>> a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/RPCInInterceptor.java >>> +++ >>> b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/RPCInInterceptor.java >>> @@ -164,8 +164,9 @@ public class RPCInInterceptor extends >>> AbstractInDatabindingInterceptor { >>> && partItr.hasNext()) { >>> part = partItr.next(); >>> } >>> - >>> - if (!qn.equals(part.getConcreteName())) { >>> + >>> + // only check the localpart as explained above >>> + if >>> (!qn.getLocalPart().equals(part.getConcreteName().getLocalPart())) { >>> throw new Fault( >>> new org.apache.cxf.common.i18n.Message( >>> >>> "UNKNOWN_RPC_LIT_PART", >>> >> >> -- >> Daniel Kulp >> [email protected] - http://dankulp.com/blog >> Talend Community Coder - http://coders.talend.com >> -- Daniel Kulp [email protected] - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
