rusticisoftware / scormcloud-api-v2-client-java Goto Github PK
View Code? Open in Web Editor NEWSwagger Generated Java Client for SCORM Cloud API v2
License: Apache License 2.0
Swagger Generated Java Client for SCORM Cloud API v2
License: Apache License 2.0
We are trying to use the java client library in our SpringBoot application to connect with Rustici Cloud. When we call any service using the client library, we are getting this error
ERROR org.apache.cxf.jaxrs.utils.JAXRSUtils - No message body reader has been found for class com.rusticisoftware.cloud.v2.client.model.CourseListSchema, ContentType: application/json
- should not throw exception when asked to fetch list of courses *** FAILED *** (1 second, 109 milliseconds)
javax.ws.rs.client.ResponseProcessingException: No message body reader has been found for class com.rusticisoftware.cloud.v2.client.model.CourseListSchema, ContentType: application/json
at org.apache.cxf.jaxrs.impl.ResponseImpl.reportMessageHandlerProblem(ResponseImpl.java:437)
at org.apache.cxf.jaxrs.impl.ResponseImpl.doReadEntity(ResponseImpl.java:390)
at org.apache.cxf.jaxrs.impl.ResponseImpl.readEntity(ResponseImpl.java:320)
at org.apache.cxf.jaxrs.impl.ResponseImpl.readEntity(ResponseImpl.java:308)
at com.rusticisoftware.cloud.v2.client.ApiClient.deserialize(ApiClient.java:564)
at com.rusticisoftware.cloud.v2.client.ApiClient.invokeAPI(ApiClient.java:696)
at com.rusticisoftware.cloud.v2.client.api.CourseApi.getCourses(CourseApi.java:943)
at com.worldmanager.platform.modules.eLearning.library.RusticiIntegrationService.getCourses(RusticiIntegrationService.scala:24)
at com.worldmanager.test.units.modules.eLearning.RusticiServiceSpec.$anonfun$new$3(RusticiServiceSpec.scala:23)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
In our application we are consuming some other services through CXF client. I can see that scormcloud-api-v2-client-java
is using jersey2
as its java api client(instead of the default (okhttp-gson
). Since our application is consuming some other services through CXF client, it seems like the scormcloud-api-v2-client-java
library is picking up CXF Response implementation instead of the json implementation to read from the api.
To verify the issue, I created a separate test SpringBoot application just for testing scorm cloud via java client library. I worked fine as the application doesnt have any other functionality that uses cxf
.
I also built custom-rustici-client-library
from Swagger Codegen using your api specification. I didn't use jersey2
as the java api client. i.e. I went without specifying the library ( thus using the default option okhttp-gson
) . I used the following using the config file for generating the client library.
{
"apiPackage" : "api",
"invokerPackage" : "com.rusticisoftware.cloud.v2.client",
"apiPackage" : "com.rusticisoftware.cloud.v2.client.api",
"modelPackage" : "com.rusticisoftware.cloud.v2.client.model",
"groupId": "com.rusticisoftware.cloud.v2.client",
"artifactId": "scormcloud-api-v2-client",
"artifactId": "1.0.3"
}
I was able to consume the rustici cloud api using this custom-rustici-client-library
.
I have two questions.
jersey2
as the java api client library?okhttp-gson
) instead of jersey2
so that we dont have to maintain the client library ourselves?As per the api documentation - https://rustici-docs.s3.amazonaws.com/engine/21.1.x/api/apiV2.html#/course/ImportCourseWithoutUpload,
importRequest can be set using
"referenceRequest": {
"url": "string",
"webPathToCourse": "string",
"mediaFileMetadata": {
"title": "string",
"description": "string",
"contentLanguage": "string",
"moveOn": "string",
"estimatedDuration": 0,
"activityType": "string",
"xAPIActivityId": "string",
"cmi5PublisherId": "string"
}
},
but, this option is missing from sdk.
SDK supports fetchRequest, mediaFileReferenceRequest and connectorReferenceRequest only.
Is it possible to add referenceRequest to the sdk ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.