Thanks.

For the first question, if I call the api https://<my IoTS server 
IP>:9443/dynamic-client-web/register/ with curl or RESTClient, I can get the 
client id and secret. But if I call it with ajax or xmlhttprequest, I got the 
following errors:
——————————
threw an 
exception\n\torg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\n</pre></p><p><b>root
 cause</b> <pre>java.lang.NoSuchMethodError: 
javax.ws.rs.InternalServerErrorException.validate(Ljavax/ws/rs/core/Response;Ljavax/ws/rs/core/Response$Status;)Ljavax/ws/rs/core/Response;\n\tjavax.ws.rs.InternalServerErrorException.&lt;init&gt;(InternalServerErrorException.java:92)\n\torg.apache.cxf.jaxrs.utils.SpecExceptions.toInternalServerErrorException(SpecExceptions.java:77)\n\torg.apache.cxf.jaxrs.utils.ExceptionUtils.toInternalServerErrorException(ExceptionUtils.java:110)\n\torg.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.convertExceptionToResponseIfPossible(JAXRSInInterceptor.java:267)\n\torg.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:256)\n\torg.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:88)\n\torg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)\n\torg.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)\n\torg.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:249)\n\torg.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)\n\torg.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)\n\torg.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)\n\torg.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)\n\torg.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:289)\n\torg.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)\n\tjavax.servlet.http.HttpServlet.service(HttpServlet.java:646)\n\torg.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)\n\torg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\n</pre></p><p><b>note</b>
 <u>The full stack trace of the root cause is available in the Apache 
Tomcat/7.0.59 logs.</u></p><HR size=\"1\" noshade=\"noshade\"><h3>Apache 
Tomcat/7.0.59</h3></body></html>","responseXML":null,"responseType":"","response":"<html><head><title>Apache
 Tomcat/7.0.59 - Error report</title><style><!--H1 
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
 H2 
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
 H3 
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
 BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} 
B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P 
{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
 {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> 
</head><body><h1>HTTP Status 500 - Servlet execution threw an exception</h1><HR 
size=\"1\" noshade=\"noshade\"><p><b>type</b> Exception 
report</p><p><b>message</b> <u>Servlet execution threw an 
exception</u></p><p><b>description</b> <u>The server encountered an internal 
error that prevented it from fulfilling this 
request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: 
Servlet execution threw an 
exception\n\torg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\n</pre></p><p><b>root
 cause</b> <pre>java.lang.NoSuchMethodError: 
javax.ws.rs.InternalServerErrorException.validate(Ljavax/ws/rs/core/Response;Ljavax/ws/rs/core/Response$Status;)Ljavax/ws/rs/core/Response;\n\tjavax.ws.rs.InternalServerErrorException.&lt;init&gt;(InternalServerErrorException.java:92)\n\torg.apache.cxf.jaxrs.utils.SpecExceptions.toInternalServerErrorException(SpecExceptions.java:77)\n\torg.apache.cxf.jaxrs.utils.ExceptionUtils.toInternalServerErrorException(ExceptionUtils.java:110)\n\torg.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.convertExceptionToResponseIfPossible(JAXRSInInterceptor.java:267)\n\torg.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:256)\n\torg.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:88)\n\torg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)\n\torg.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)\n\torg.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:249)\n\torg.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)\n\torg.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)\n\torg.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)\n\torg.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)\n\torg.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:289)\n\torg.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)\n\tjavax.servlet.http.HttpServlet.service(HttpServlet.java:646)\n\torg.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)\n\torg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\n</pre></p><p><b>note</b>
 <u>The full stack trace of the root cause is available in the Apache 
Tomcat/7.0.59 logs.</u></p><HR size=\"1\" noshade=\"noshade\"><h3>Apache 
Tomcat/7.0.59</h3></body></html>","status":500,"statusText":"Internal Server 
Error","responseURL":"http://XXXXX.cn:9763/dynamic-client-web/register/“}
————————————

I think it’s because my H5 apps is run in domain 127.0.0.1 in the mobile phone 
and when it send the request to IoTS server, it is a cross domain call. And 
IoTS refuse the request. Is that right? Could anyone tell me how to config the 
IoTS server to accept CORS request? Thanks.


------
Zhanwen Zhou (Jason), 
+86 13922218435
[email protected]
Guangzhou Smart Cloudex Technology Co., Ltd.
Business: IOT, API

On Jul 13, 2016, at 3:06 PM, Dumidu Handakumbura <[email protected]> wrote:

> Hi Zhanwen,
> 
> With regard to your second question, an API is published for each device type 
> available in the server these can also be used with an appropriately scoped 
> tokens. Check /api-store for a full list of API available.
> 
> Thanks,
> Dumidu
> 
> On Wed, Jul 13, 2016 at 9:51 AM, 云展智创 <[email protected]> wrote:
> Hi all,
> 
> I am writing a HTML5 mobile app to use with IoTS. I use an open source H5 
> framework called MUI, which support ajax and xmlhttprequest. Could you tell 
> me how to authenticate the user with IoTS and request data with the access 
> token? I tried to use ajax call to https://<my IoTS server 
> IP>:9443/dynamic-client-web/register/but failed. I don’t know if it is 
> because of cross domain request. Could you give me some example?
> 
> Besides the device_mgt API in the following website[1], are there any API I 
> can use to get data from IoTS devices and show in my app. 
> 
> Thanks.
> 
> [1] https://docs.wso2.com/display/iots100/apidocs/index.html#guide
> ------
> Zhanwen Zhou (Jason), General Manager
> +86 13922218435
> [email protected]
> Guangzhou Smart Cloudex Technology Co., Ltd.
> Business: IOT, APIM
> 
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
> 
> 
> 
> 
> -- 
> Dumidu Handakumbura
> Software Engineer
> WSO2 Inc; http://www.wso2.com/.
> Mobile; +94777706740 

_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to