我开发了一个Web应用程序,我使用AngularJS的HTML页面中的POST Web服务在我的java类中发布变量。 我使用这个变量在我拥有的Fuseki RDF商店中更新我的图形。 出于某种原因,我得到了一个" java.lang.ClassNotFoundException:org.apache.http.protocol.HttpContext"错误和我的更新sparql查询不执行,即使我的查询是正确的,因为我直接通过sparql端点尝试它并且它工作,我根本不在我的代码中使用HttpContext。
相关代码如下:
@Path("/WebS_res")
public class GetInput {
@POST
@Path("/results")
@Consumes({"application/json"})
public void createResults(@FormParam("variable") String stringvariable ){
UpdateRequest request = UpdateFactory.create("INSERT DATA { GRAPH <http://example/graph>{ "+ stringvariable + "}}");
UpdateProcessor processor = UpdateExecutionFactory.createRemote(request, "http://endpoint/sparql");
processor.execute();
.....
虽然我在HTML页面中调用Web服务的JS函数是:
$scope.PostData = function () {
$http({
method : 'POST',
url : 'http://mydomain:8080/project/REST/WebS_res/results',
data : $.param({
'variable' :$scope.variable,
}),
headers : {
'Content-Type' : 'application/json'
}
}).success(function (data) {
console.log(' data '+$scope.variable);
});
};
我不明白为什么它试图找到HttpContext类,因为我不使用它?我下载了相关的jar然后它显示另一个错误需要另一个类,我也下载了那个jar然后它显示错误说org.apache.jena.atlas.web.HttpException:415不支持:application / sparql-update 所以我不知道!
任何帮助将不胜感激,谢谢。