I declared as follows in my class.  ui doesn't get set when called thru
jaxrs:client but works fines otherwise.

        private UriInfo ui;

        @Context
        public void setUriInfo(UriInfo ui) {
                this.ui = ui;
        }

Also, when a jaxrs server contains multiple providers for different custom
types, it kind of ignores if there are is more than 1 type.  

for ex

        <jaxrs:server id="syncService" address="/sync">
             <jaxrs:serviceBeans>
                        <ref bean="syncServiceBean" />
            </jaxrs:serviceBeans>
        <jaxrs:features>
                <cxf:logging/>
                </jaxrs:features>
                <jaxrs:providers>
                        <ref bean="syncRequestReader"/>  <!-- for reading type 
SyncRequest-->
                        <ref bean="downloadWriter"/>        <!-- for writing 
type
DownloadSyncResponse -->
                        <ref bean="profilePolicyReaderProvider"/> <!-- for
reading ProfilePolicy type-->
                </jaxrs:providers>
        </jaxrs:server>

It ignores profilePolicyReaderProvider for a CustomType ProfilePolicy and
gives me an error that no message reader is found.  This limits the ability
for an endpoint to read/write different custom types.

Yeah.. I have to check out continuations.   

Version: 2.2.3     Project work started from 2.1.x 


Sergey Beryozkin-2 wrote:
> 
> 
>>
>> No, UriInfo was not set and was giving null pointer .. So I had to check
>> Null
>> Pointer before I used it
> 
> I'd really appreciate if you could give more infor about it (send me some
> code please showing how UriInfo is declared, is it 
> injected as a filed, etc). I have a WebClient test which uses
> XSLTJaxbProvider on the inbound path, as a reader and it can get 
> access to an injected UriInfo (though through a MessageContext). May be I
> need to add another test with a jaxrs:client being 
> involved...
> By the way, what CXF version you're using ?
> 
> 
>>
>> I was under the assumption that ClientAPI uses colocation .. may be not
>> yet.
>> But for intra service messaging we definitely want colocation rather than
>> go
>> down the tcp stack.
> 
> sure...
> 
>>
>> Also, can you please comment on the other question I had in the same
>> thread.
> 
> about performance ? I guess the fact that jaxrs:clients use TCP affects
> the performance a bit...
> By the way, perhaps it's on overkill for your case, but have you thought
> about using continuations in your service code ?
> 
> cheers, Sergey
> 
>>
>> Thanks a lot for the quick response
>>
>> rkam
>>
>>
>>
>> Sergey Beryozkin-2 wrote:
>>>
>>> Hi
>>>
>>>
>>>>
>>>> jaxrs:client solution that you have provided worked perfectly fine.
>>>
>>> great...
>>>
>>>> I had to do a NP check on the UriInfo
>>>
>>> can you give me some more info please ? Is it not injected into your
>>> custom reader when the jaxrs client starts processing the
>>> response ?
>>>
>>>
>>>
>>>
>>>>
>>>> Now, I get the colocation performance benefit.
>>>
>>> Unfortunately not, not yet... I think it still goes over HTTP at the
>>> moment - one of the tasks for 2.3 is to support a local
>>> transport for JAXRS as well
>>>
>>> cheers, Sergey
>>>
>>>>
>>>> rkam
>>>> -- 
>>>> View this message in context:
>>>> http://www.nabble.com/Multiple-Custom-Providers-tp25916823p25926686.html
>>>> Sent from the cxf-user mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/Multiple-Custom-Providers-tp25916823p25928219.html
>> Sent from the cxf-user mailing list archive at Nabble.com.
>> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Multiple-Custom-Providers-tp25916823p25928772.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to