On Tue, Jul 22, 2014 at 10:55 PM, Chamil Jeewantha <[email protected]> wrote:

> Hi Sagara,
>
> seems there is a typo. (tenant id vs tenant domain). Please confirm.
>

Yes this should be tenant domain, same as thing we used with HTTP/S to
identify tenants from incoming requests.

Thanks !

>
>
> Regards,
> Chamil
>
>
>
> On Tue, Jul 22, 2014 at 8:22 PM, Sagara Gunathunga <[email protected]>
> wrote:
>
>>
>>
>> In HTTP/S transport CarbonContextCreatorValve get executed with each
>> HTTP request and it initialise CarbonContext then set tenant details as
>> well. WebSocket is a completely a different protocol from HTTP/S just like
>> JMS/E-mail, so non of the Tomcat valves get executed with WS messages, in
>> fact in WS there is no concept called Request/Responses instead once you
>> created a tunnel you can send messages to both directions and there is no
>> way to intercept messages on tunnel.
>>
>> As we discussed offline you need to modify onOpen() method to receive
>> tenant id from an initial handshake request, then within the onOpen method
>> you have to write logic similar to 
>> CarbonContextCreatorValve#initCarbonContext()
>> method.
>>
>
> you need to modify onOpen() method to receive *tenant domain* from an
> initial handshake request, then within the onOpen method you have to write
> logic similar to CarbonContextCreatorValve#initCarbonContext() method.
>
>>
>> Thanks !
>>
>> On Tue, Jul 22, 2014 at 7:18 PM, Dilini Muthumala <[email protected]>
>> wrote:
>>
>>> FYI, this is the end point trying to get the tenant id:
>>>
>>> import javax.websocket.*;
>>> import org.wso2.carbon.context.PrivilegedCarbonContext;
>>> import
>>> org.wso2.carbon.event.input.adaptor.websocket.WebsocketInputService;
>>>
>>> @ServerEndpoint(value = "/{topic}")
>>> public class DataReceivingEndpoint {
>>>
>>>     private static WebsocketInputService websocketInputService;
>>>     private static int tenantId;
>>>
>>>     public DataReceivingEndpoint() {
>>>         websocketInputService = (WebsocketInputService)
>>> PrivilegedCarbonContext.getThreadLocalCarbonContext()
>>>                 .getOSGiService(WebsocketInputService.class);
>>>     }
>>>
>>>     @OnOpen
>>>     public void onOpen (Session session, @PathParam("topic") String
>>> topic) {
>>>     }
>>>
>>>     @OnMessage
>>>     public void onMessage (Session session, String message,
>>> @PathParam("topic") String topic) {
>>>         tenantId =
>>> PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); //
>>> returned -1
>>>         websocketInputService.invokeListener(tenantId, topic, message);
>>>     }
>>>
>>>     @OnClose
>>>     public void onClose (Session session, CloseReason reason) {
>>>     }
>>>
>>>     @OnError
>>>     public void onError (Session session) {
>>>     }
>>> }
>>>
>>>
>>> On Tue, Jul 22, 2014 at 5:58 PM, Dilini Muthumala <[email protected]>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Had an offline discussion with Sameera, Sagara and Chamil regarding
>>>> this.
>>>>
>>>> The most important piece of info is missing in my initial mail, which
>>>> is, this web app contains a web-socket end point.
>>>>
>>>> That must be the reason why all these usual methods are not working.
>>>>
>>>> Thanks,
>>>> Dilini
>>>>
>>>>
>>>> On Tue, Jul 22, 2014 at 5:45 PM, Kasun Gajasinghe <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi Dilini,
>>>>>
>>>>> What's the product you are trying this in? Can you open up
>>>>> CARBON_HOME/repository/conf/tomcat/catalina-server.xml, and make sure that
>>>>> it has the following valve defined?
>>>>>
>>>>>       <Valve
>>>>> className="org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve"/>
>>>>>
>>>>> The reported jira that is mentioned above is an issue with logging.
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Jul 22, 2014 at 4:58 AM, Asanka Dissanayake <[email protected]>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Jul 22, 2014 at 5:23 PM, Asanka Dissanayake <[email protected]
>>>>>> > wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Jul 22, 2014 at 5:03 PM, Gayashan Amarasinghe <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Dilini,
>>>>>>>>
>>>>>>>> Did you deploy the web app as super tenant or a tenant? What are
>>>>>>>> the server versions you used?
>>>>>>>>
>>>>>>>> Method you have used is the proper way to access the tenant Id.
>>>>>>>>
>>>>>>> AFAIK you shouldn't use PrivilegedCarbonContext to read information.
>>>>>>> It is used to write stuffs to the carbon context.
>>>>>>>
>>>>>> For more information:
>>>>>>
>>>>>> PrivilegedCarbonContext
>>>>>>
>>>>>> PrivilegedCarbonContext is a special subclass of CarbonContext,
>>>>>> which allows you to perform privileged operations such as, setting the
>>>>>> tenant ID and domain, starting or ending tenant flows and more. This 
>>>>>> class
>>>>>> can only be used by Carbon components that have the permission to get 
>>>>>> hold
>>>>>> of an instance of the PrivilegedCarbonContext.
>>>>>>
>>>>>>
>>>>>> CarbonContext
>>>>>> The CarbonContext is designed for normal tenants to retrieve
>>>>>> information from the Carbon runtime. In the super tenant mode, for this 
>>>>>> to
>>>>>> work the relevant data has to be set so that tenants can retrieve
>>>>>> information using the CarbonContext.
>>>>>>
>>>>>>>  However as Malintha has mentioned, there are some bugs when
>>>>>>>> certain super-tenant related tasks are logged, which has not been 
>>>>>>>> observed
>>>>>>>> for tenant-wise tasks. This bug will be fixed with 4.3 release.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>> /Gayashan
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Jul 22, 2014 at 3:29 PM, Dilini Muthumala <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>  Hi,
>>>>>>>>>
>>>>>>>>> Would like to know, how to $subject.
>>>>>>>>>
>>>>>>>>> I tired with,
>>>>>>>>>
>>>>>>>>> PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
>>>>>>>>>
>>>>>>>>> which returned -1, as the tenant id.
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Dilini
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Dilini Muthumala*
>>>>>>>>> Software Engineer,
>>>>>>>>> WSO2 Inc.
>>>>>>>>>
>>>>>>>>> *E-mail :* [email protected]
>>>>>>>>> *Mobile: *+94713 400 029
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Dev mailing list
>>>>>>>>> [email protected]
>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Gayashan Amarasinghe*
>>>>>>>> Software Engineer | Platform TG
>>>>>>>> WSO2, Inc. | http://wso2.com
>>>>>>>> lean. enterprise. middleware
>>>>>>>>
>>>>>>>> Mobile : +94718314517
>>>>>>>> Blog : gayashan-a.blogspot.com
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Dev mailing list
>>>>>>>> [email protected]
>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>>
>>>>>>> *Asanka DissanayakeSoftware Engineer*
>>>>>>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>>>>>> <http://wso2.com/>*
>>>>>>>
>>>>>>> *email: [email protected] <[email protected]>,   blog:
>>>>>>> cyberwaadiya.blogspot.com
>>>>>>> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com
>>>>>>> <http://asankastechtalks.wordpress.com>  mobile: +94 71 8373821*
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>>> *Asanka DissanayakeSoftware Engineer*
>>>>>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>>>>> <http://wso2.com/>*
>>>>>>
>>>>>> *email: [email protected] <[email protected]>,   blog:
>>>>>> cyberwaadiya.blogspot.com
>>>>>> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com
>>>>>> <http://asankastechtalks.wordpress.com>  mobile: +94 71 8373821*
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> [email protected]
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc.
>>>>> email: kasung AT spamfree wso2.com
>>>>> linked-in: http://lk.linkedin.com/in/gajasinghe
>>>>> blog: http://kasunbg.org
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> [email protected]
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Dilini Muthumala*
>>>> Software Engineer,
>>>> WSO2 Inc.
>>>>
>>>> *E-mail :* [email protected]
>>>> *Mobile: *+94713 400 029
>>>>
>>>
>>>
>>>
>>> --
>>> *Dilini Muthumala*
>>> Software Engineer,
>>> WSO2 Inc.
>>>
>>> *E-mail :* [email protected]
>>> *Mobile: *+94713 400 029
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> Sagara Gunathunga
>>
>> Senior Technical Lead; WSO2, Inc.;  http://wso2.com
>> V.P Apache Web Services;    http://ws.apache.org/
>> Linkedin; http://www.linkedin.com/in/ssagara
>> Blog ;  http://ssagara.blogspot.com
>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> K.D. Chamil Jeewantha
> Associate Technical Lead
> WSO2, Inc.;  http://wso2.com
> Mobile: +94716813892
>
>


-- 
Sagara Gunathunga

Senior Technical Lead; WSO2, Inc.;  http://wso2.com
V.P Apache Web Services;    http://ws.apache.org/
Linkedin; http://www.linkedin.com/in/ssagara
Blog ;  http://ssagara.blogspot.com
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to