从端点更新的java sparql我得到java.lang.ClassNotFoundException:org.apache.http.protocol.HttpContext

时间:2016-12-21 21:11:43

标签: java angularjs sparql fuseki apache-jena

我开发了一个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 所以我不知道!

任何帮助将不胜感激,谢谢。

0 个答案:

没有答案