Found it!  Sorry I overlooked that one :-)

-Jeffrey

From: Nirmal Fernando <[email protected]<mailto:[email protected]>>
Reply-To: 
"[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Thursday, March 27, 2014 9:53 PM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: Re: Exception thrown when registering tenant

Hi Jeffrey,

Manula has sent a note on this to dev@ "Root element is removed from the JSON 
files".


On Fri, Mar 28, 2014 at 11:10 AM, Jeffrey Nguyen (jeffrngu) 
<[email protected]<mailto:[email protected]>> wrote:

Hi Nirmal,

I dropped the root element from my JSON and was able to register the tenant 
successfully :-)

Just to clarify, I need to drop root element for all of the JSON payloads?    
Which JIRA did we make this change?   I don't recall seeing any email to the 
alias talking about this change.  It would be nice to get a heads up.   Also, I 
hope we make a note of this in the release notes.

Thanks for the pointer.

-Jeffrey

From: Nirmal Fernando <[email protected]<mailto:[email protected]>>
Reply-To: 
"[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Thursday, March 27, 2014 5:49 PM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: Re: Exception thrown when registering tenant


Hi Jeffrey,

With the latest code you should not have json root elements.

On Mar 28, 2014 5:59 AM, "Jeffrey Nguyen (jeffrngu)" 
<[email protected]<mailto:[email protected]>> wrote:
Hi,

I'm testing the latest code on master branch (as of March 26th).   I'm getting 
an exception when trying to register a tenant.   Please see stack trace at the 
bottom of this email.

To register tenant, I'm making a POST request to 
"https://127.0.0.1:9445/stratos/admin/tenant"; with the Json payload below.

{
    "tenantInfoBean":
    {
        "admin": "admin",
        "firstname": "cloud",
        "lastname": "one",
        "adminPassword": "password",
        "tenantDomain": "cloud1.cisco.com<http://cloud1.cisco.com>",
        "email": "[email protected]<mailto:[email protected]>",
        "active": "true"
    }
}


This has been working for us up until the Alpha release.

I did a little bit of debugging and found that when we call 
StratosAdmin.addTenant() with an instance of the TenantInfoBean, all the 
attributes of this bean instance is null.   That's why the email validation 
failed.

One thing I learned this week from Isuru was that andes-client-0.13.wso2v8.jar 
needs to be manually deployed for various Stratos components.   I did that but 
not sure if there are anything else I missed.

Any ideas what would be causing this?


[2014-03-27 10:05:01,161] ERROR 
{org.apache.stratos.rest.endpoint.services.StratosAdmin} -  Invalid email is 
provided.
java.lang.Exception: Provided email value is null.
at org.apache.stratos.common.util.CommonUtil.validateEmail(CommonUtil.java:292)
at 
org.apache.stratos.rest.endpoint.services.StratosAdmin.addTenant(StratosAdmin.java:442)
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:606)
at 
org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
at 
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:194)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100)
at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57)
at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93)
at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at 
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
at 
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
at 
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159)
at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at 
org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
at 
org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
at 
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
at 
org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
at 
org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
at 
org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at 
org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)



--
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Reply via email to