Had an offline chat with Kishanthan and we found that CarbonUtils or
CarbonUIUtils will not provide us the answer. Reasons are that both classes
will append /services or /carbon to the returned url. Another fact is that
we have to pass in a Axis2Configuration for certain methods. We found out
that there are system properties called 'mgt.transport.http.proxyPort'
& 'mgt.transport.http.port'
which can be used to construct the full server address. I'll be writing a
jaggery module on this and I'll share it once it's done.

Cheers~


On Tue, Mar 11, 2014 at 1:36 PM, Chan <[email protected]> wrote:

> I implemented a method to jaggery to get the HttpSession. But I ran to
> another issue where the CarbonConstants.SERVER_URL is getting null from
> HttpSession & ServletContext.
>
> Caused by: java.lang.NullPointerException
>         at
> org.wso2.carbon.utils.CarbonUtils.getServerURL(CarbonUtils.java:773)
>         at
> org.wso2.carbon.utils.CarbonUtils.getServerURL(CarbonUtils.java:766)
>         at
> org.wso2.carbon.ui.CarbonUIUtil.getServerURL(CarbonUIUtil.java:105)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
>         ... 47 more
>
> I had a chat with Ruchira and he said they don't setup these values in
> Jaggery. Are they setup in the Tomcat level? Or what could be the problem.
>
>
>
> On Tue, Mar 11, 2014 at 10:40 AM, Kishanthan Thangarajah <
> [email protected]> wrote:
>
>> From UI front, the easy way to get the server url is to use the above
>> method.
>>
>> From a UI related component, the easy way is to use 
>> "CarbonUIUtils#getServerURL(ServerConfigurationService
>> serverConfig)" method, where you need to acquire the
>> ServerConfigurationService.
>>
>>
>> On Mon, Mar 10, 2014 at 10:35 PM, Chan <[email protected]> wrote:
>>
>>> Hi folks,
>>> I looked into CarbonUIUtils and found an interesting method *public
>>> static String getServerURL(ServletContext servletContext, HttpSession
>>> httpSession). *I can get the ServletContext from the application
>>> host-object but there seems to be no method to obtain the vanilla
>>> HttpSession from the session host-object. @Ruchira shall we improve the
>>> session host-object to have method to get HttpSession?
>>>
>>> Also I hope CarbonUIUtils won't be removed in the future refactoring.
>>>
>>> Cheers~
>>>
>>>
>>> On Mon, Mar 10, 2014 at 2:33 PM, Afkham Azeez <[email protected]> wrote:
>>>
>>>> IIRC, the CarbonUtils or CarbonUIUtils class has methods to retrieve
>>>> the server host & ports.
>>>>
>>>>
>>>> Azeez
>>>>
>>>>
>>>> On Mon, Mar 10, 2014 at 2:28 PM, Chan <[email protected]> wrote:
>>>>
>>>>> Hi folks,
>>>>> I am having a confusion regarding how to find the carbon server
>>>>> hostname and port. This problem is related to implementing SSO in jaggery
>>>>> applications. Say for example in the login.jag we construct the current
>>>>> hostname to return a form to client to go to the IDP provider page. For
>>>>> this we need to find the https://server_adress:port/admin/samlsso.
>>>>> For this the login.jag currently use -
>>>>>
>>>>> var host = process.getProperty('server.host')
>>>>> if(host=="localhost"){
>>>>>       var postUrl = "https://"; +
>>>>> process.getProperty('carbon.local.ip') + ":" +
>>>>> process.getProperty('https.port');
>>>>>     }else{
>>>>>       var postUrl = "https://"; + host;
>>>>>     }
>>>>>
>>>>> To get the server to work in development we get 'carbon.local.ip' from
>>>>> process and set it up. For production we suggest users to add the hostname
>>>>> in the carbon.xml file. 'server.host' will be populated with carbon.xml
>>>>> entry in runtime.
>>>>>
>>>>> The problem in this approach is that we can't specify ports in the
>>>>> carbon.xml entry. To overcome this  -the quick fix for this would be to
>>>>> append port to the host. But if we do that - proxy scenario is not 
>>>>> covered.
>>>>> What happens is that 'https.port' will return the carbon server port 
>>>>> (9443)
>>>>> but not the proxy port. If we expose the 9443 port to the client it will
>>>>> not be reachable cause that port is blocked from the inside.
>>>>>
>>>>> Is there away to get the current address of the server - which get the
>>>>> address from local ip for development and full address for production that
>>>>> we can return for the client (browser)?
>>>>>
>>>>> Cheers~
>>>>>
>>>>> --
>>>>> Chan (Dulitha Wijewantha)
>>>>> Software Engineer - Mobile Development
>>>>> WSO2Mobile
>>>>> Lean.Enterprise.Mobileware
>>>>>  * ~Email       [email protected] <[email protected]>*
>>>>> *  ~Mobile     +94712112165 <%2B94712112165>*
>>>>> *  ~Website   dulitha.me <http://dulitha.me>*
>>>>> *  ~Twitter     @dulitharw <https://twitter.com/dulitharw>*
>>>>>   *~SO     @chan <http://stackoverflow.com/users/813471/chan>*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Afkham Azeez*
>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>> * <http://www.apache.org/>*
>>>> *email: **[email protected]* <[email protected]>
>>>> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: *
>>>> *http://blog.afkham.org* <http://blog.afkham.org>
>>>> *twitter: 
>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
>>>> * linked-in: **http://lk.linkedin.com/in/afkhamazeez
>>>> <http://lk.linkedin.com/in/afkhamazeez>*
>>>>
>>>> *Lean . Enterprise . Middleware*
>>>>
>>>
>>>
>>>
>>> --
>>> Chan (Dulitha Wijewantha)
>>> Software Engineer - Mobile Development
>>> WSO2Mobile
>>> Lean.Enterprise.Mobileware
>>>  * ~Email       [email protected] <[email protected]>*
>>> *  ~Mobile     +94712112165 <%2B94712112165>*
>>> *  ~Website   dulitha.me <http://dulitha.me>*
>>> *  ~Twitter     @dulitharw <https://twitter.com/dulitharw>*
>>>   *~SO     @chan <http://stackoverflow.com/users/813471/chan>*
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> *Kishanthan Thangarajah*
>> Senior Software Engineer,
>> Platform Technologies Team,
>> WSO2, Inc.
>> lean.enterprise.middleware
>>
>> Mobile - +94773426635
>> Blog - *http://kishanthan.wordpress.com
>> <http://kishanthan.wordpress.com>*
>> Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
>>
>
>
>
> --
> Chan (Dulitha Wijewantha)
> Software Engineer - Mobile Development
> WSO2Mobile
> Lean.Enterprise.Mobileware
>  * ~Email       [email protected] <[email protected]>*
> *  ~Mobile     +94712112165 <%2B94712112165>*
> *  ~Website   dulitha.me <http://dulitha.me>*
> *  ~Twitter     @dulitharw <https://twitter.com/dulitharw>*
>   *~SO     @chan <http://stackoverflow.com/users/813471/chan>*
>



-- 
Chan (Dulitha Wijewantha)
Software Engineer - Mobile Development
WSO2Mobile
Lean.Enterprise.Mobileware
 * ~Email       [email protected] <[email protected]>*
*  ~Mobile     +94712112165*
*  ~Website   dulitha.me <http://dulitha.me>*
*  ~Twitter     @dulitharw <https://twitter.com/dulitharw>*
  *~SO     @chan <http://stackoverflow.com/users/813471/chan>*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to