Closed Abdulaziz-KTA closed 3 years ago
No, the UniTime APIs cannot be used to connect UniTime to the database.
However, it is possible to change the UniTime connection properties to connect to a MySQL, PostgreSQL, or Oracle database running on a different machine than the UniTime instance -- see Timetabling Installation: Customization, Timetabling Installation: Using Oracle Database, and Timetabling Installation: Using PostgreSQL for more details.
how to integration to mysql to create new Session by use API??
You can create a new academic session using the Academic Session Setup XML (see UniTime XML Interfaces for more details). An XML file can be imported using the Data Exchange page or the Data Exchange API.
1-this is admin user 2-this is default 3-how to find this?
Is this correct?
As for your first question,
As for your second question, No, this is not correct. It is not even a valid URL. So, perhaps something like:
https://localhost:8080/UniTime/api/exchange?term=Fal2010woebegon&type=sessionSetup
It doesn't work I did all the settings!
The error is there because of the https protocol -- you do not have SSL enabled, so
http://localhost:8080/UniTime/api/exchange?term=Fal2010woebegon&type=sessionSetup
There is no XML at the end of the URL, just the name of the root element of the XML you want to export.
Or perhaps, you can just use the Administration > Academic Sessions > Data Exchange page?
thank you sorry about xml I explain my friend insert data into Data Exchange API
Why not work?
Do you have the admin user with admin password? You can try to add -v to see more details
curl -u admin:admin -v "http://localhost:8080/UniTime/api/buildings?term=Fal2010"
You should see something like this:
* Trying ::1:8080...
* Connected to localhost (::1) port 8080 (#0)
* Server auth using Basic with user 'admin'
> GET /UniTime/api/buildings?term=Fal2010 HTTP/1.1
> Host: localhost:8080
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.70.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200
< Set-Cookie: JSESSIONID=0A7110E5F41561CE5970B04A989AA4E9; Path=/UniTime; HttpOnly
< Pragma: no-cache
< Cache-Control: must-revalidate
< Cache-Control: no-cache
< Cache-Control: no-store
< Date: Wed, 01 Dec 2021 08:26:30 GMT
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Content-Disposition: attachment; filename="response.json"
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
<
[
{
"id": 1782,
"abbreviation": "EDUC",
"name": "Education Hall",
"x": 1.0,
"y": 1.0
},
{
"id": 1783,
"abbreviation": "THTR",
"name": "Theater of Performing Arts",
"x": 2.0,
"y": 1.0
}
* Connection #0 to host localhost left intact
]
i get HTTP/1.1 401
Looks like it cannot authenticate. Do you have the admin user with admin password?
You can also try to use the API token instead:
curl -v "http://localhost:8080/UniTime/api/buildings?term=Fal2010&token=1xhp5vo3zfxrpbzjzhtanmcipolx03fv42ohz4xa507x5acydh"
Resulting in
* Trying ::1:8080...
* Connected to localhost (::1) port 8080 (#0)
> GET /UniTime/api/buildings?term=Fal2010&token=1xhp5vo3zfxrpbzjzhtanmcipolx03fv42ohz4xa507x5acydh HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.70.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200
< Set-Cookie: JSESSIONID=41EA85D783A0A536DE3EC2D4E45A3BCD; Path=/UniTime; HttpOnly
< Pragma: no-cache
< Cache-Control: must-revalidate
< Cache-Control: no-cache
< Cache-Control: no-store
< Date: Wed, 01 Dec 2021 08:32:55 GMT
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Content-Disposition: attachment; filename="response.json"
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
<
[
{
"id": 1782,
"abbreviation": "EDUC",
"name": "Education Hall",
"x": 1.0,
"y": 1.0
},
{
"id": 1783,
"abbreviation": "THTR",
"name": "Theater of Performing Arts",
"x": 2.0,
"y": 1.0
}
* Connection #0 to host localhost left intact
]
You can find the token on the Administration > Other > Users page, API Secret column. Please note that it may be different from the one I have above! It gets generated from both the username and password.
yes admin user with admin password
C:\Windows\system32>curl -v "http://localhost:8080/UniTime/api/buildings?term=Fal2010&token=1xhp5vo3zfxrpbzjzhtanmcipolx03fv42ohz4xa507x5acydh"
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8080 (#0)
> GET /UniTime/api/buildings?term=Fal2010&token=1xhp5vo3zfxrpbzjzhtanmcipolx03fv42ohz4xa507x5acydh HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.55.1
> Accept: */*
>
< HTTP/1.1 400
< Set-Cookie: JSESSIONID=02504A4350A0A43177EC36B111EE37EF; Path=/UniTime; HttpOnly
< Pragma: no-cache
< Cache-Control: must-revalidate
< Cache-Control: no-cache
< Cache-Control: no-store
< Date: Wed, 01 Dec 2021 08:40:12 GMT
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Content-Disposition: attachment; filename="response.json"
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
< Connection: close
<
{
"code": 400,
"message": "Failed to decode API token: No row with the given identifier exists: [org.unitime.timetable.model.Session#22577152]",
"parameters": {
"term": "Fal2010",
"token": "1xhp5vo3zfxrpbzjzhtanmcipolx03fv42ohz4xa507x5acydh"
},
"exception": [
"java.lang.IllegalArgumentException: Failed to decode API token: No row with the given identifier exists: [org.unitime.timetable.model.Session#22577152]",
"at org.unitime.timetable.api.UsersApiToken.getContext(UsersApiToken.java:112)",
"at org.unitime.timetable.api.ApiConnector.authenticateWithTokenIfNeeded(ApiConnector.java:76)",
"at org.unitime.timetable.api.ApiConnector.doGet(ApiConnector.java:87)",
"at org.unitime.timetable.api.ApiServlet.doGet(ApiServlet.java:84)",
"at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)",
"at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.BusySessions$Filter.doFilter(BusySessions.java:85)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.QueryLogFilter.doFilter(QueryLogFilter.java:118)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.PageAccessFilter.doFilter(PageAccessFilter.java:164)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.MessageLogFilter.doFilter(MessageLogFilter.java:93)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)",
"at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)",
"at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)",
"at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)",
"at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)",
"at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)",
"at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)",
"at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)",
"at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.HibSessionFilter.doFilter(HibSessionFilter.java:70)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.EncodingFilter.doFilter(EncodingFilter.java:50)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:201)",
"at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)",
"at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)",
"at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)",
"at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)",
"at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)",
"at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)",
"at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364)",
"at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616)",
"at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)",
"at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)",
"at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1629)",
"at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)",
"at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)",
"at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)",
"at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)",
"at java.base/java.lang.Thread.run(Thread.java:830)",
"Caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [org.unitime.timetable.model.Session#22577152]",
"at org.hibernate.internal.SessionFactoryImpl$1$1.handleEntityNotFound(SessionFactoryImpl.java:253)",
"at org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:262)",
"at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:176)",
"at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:286)",
"at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)",
"at org.unitime.timetable.model.Session_$$_jvst2b4_cc.equals(Session_$$_jvst2b4_cc.java)",
"at org.unitime.timetable.security.context.UniTimeUserContext.\u003cinit\u003e(UniTimeUserContext.java:121)",
"at org.unitime.timetable.security.context.UniTimeUserContext.\u003cinit\u003e(UniTimeUserContext.java:61)",
"at org.unitime.timetable.api.UsersApiToken.getContext(UsersApiToken.java:105)",
"at org.unitime.timetable.api.ApiConnector.authenticateWithTokenIfNeeded(ApiConnector.java:76)",
"at org.unitime.timetable.api.ApiConnector.doGet(ApiConnector.java:87)",
"at org.unitime.timetable.api.ApiServlet.doGet(ApiServlet.java:84)",
"at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)",
"at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.BusySessions$Filter.doFilter(BusySessions.java:85)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.QueryLogFilter.doFilter(QueryLogFilter.java:118)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.PageAccessFilter.doFilter(PageAccessFilter.java:164)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.MessageLogFilter.doFilter(MessageLogFilter.java:93)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)",
"at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)",
"at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)",
"at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)",
"at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)",
"at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)",
"at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)",
"at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)",
"at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)",
"at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)",
"at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.HibSessionFilter.doFilter(HibSessionFilter.java:70)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.unitime.timetable.filter.EncodingFilter.doFilter(EncodingFilter.java:50)",
"at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)",
"at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)",
"at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:201)",
"at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)",
"at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)",
"at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)",
"at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)",
"at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)",
"at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)",
"at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364)",
"at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616)",
"at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)",
"at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)",
"at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1629)",
"at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)",
"at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)",
"at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)",
"at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)",
"at java.base/java.lang.Thread.run(Thread.java:830)"
]
}* Closing connection 0
Thank you, it's work I restore backup for 1 month and make unitime.api.canUseToken
true and make all api user permissions true.
How to use Academic Session Setup XML import data??? when I use that I get this error
here in website.
As for the import, the academic year is supposed to be four digits, but you have five. Hence the "Data too long for column 'academic_year'" error.
As for the curl command, your URL is wrong -- you have http:// listed two times. How about:
curl -uadmin:admin -k -X POST -H "Content-Type:application/xml;charset=UTF-8" -d @sessionSetup.xml "http://localhost:8080/UniTime/api/exchange"
Is correct for new session??
The year is still too long -- it is limited to 4 characters. Also, it complains about the header (Error on line 1 of document: Content is not allowed in prolog). The file must start with
<?xml version="1.0" encoding="utf-8"?>
With the correct encoding. There cannot be anything before the <?xml, not even a space, a special character, or a blank line.
thank you
can I use curl to insert data from web api .net(like xml file)?
like this
curl -uadmin:admin -k -X POST -H "Content-Type:application/**URL**;charset=UTF-8" -d @**http://localhost:5000/Staff** "http://localhost:8080/UniTime/api/exchange"
(not work url)
I think you would need to have one curl call to get the data and the second one to call UniTime's API. It should be possible to pipe them, something like:
curl "http://localhost:5000/Staff" | curl -uadmin:admin -k -X POST -H "Content-Type:application/xml;charset=UTF-8" -d @- "http://localhost:8080/UniTime/api/exchange"
(-d @- will tell curl to read the data from stdin instead of a file)
thank you it is work.
Can I use API to connect my database in azure to UniTime exists in google cloud ?