cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aki Yoshida ...@apache.org>
Subject Re: git commit: [CXF-5827] Use only local name matching for inbound rpc/literal processing
Date Fri, 27 Jun 2014 14:36:03 GMT
Hi Dan,
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.

Thanks.

regards, Aki



2014-06-26 22:40 GMT+02:00 Daniel Kulp <dkulp@apache.org>:
>
> 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, ay@apache.org 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 <ay@apache.org>
>> Authored: Thu Jun 26 21:54:15 2014 +0200
>> Committer: Akitoshi Yoshida <ay@apache.org>
>> 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
> dkulp@apache.org - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>

Mime
View raw message