2017-10-22 24 views
0

私はFusekiサーバーを構築し、それにデータを追加しようとしました。布石org.apache.jena.atlas.web.HttpException:405 - HTTPメソッドPOSTはこのURLではサポートされていません

を構築するために私の関数は(https://jena.apache.org/documentation/fuseki2/fuseki-embedded.htmlの例3による)があります:

public static FusekiServer createFusekiServer() { 
     DatasetGraph ds = DatasetGraphFactory.createTxnMem(); 
     DataService dataService = new DataService(ds); 
     dataService.addEndpoint(OperationName.Update, ""); 
     FusekiServer server = FusekiServer.create().setPort(3332).add("/data", dataService).build() ; 

     server.start(); 
     return server; 
    } 

それを作成した後、私はそれにいくつかのデータを追加したいです。私はこれらの問題を見てきました

Exception in thread "main" org.apache.jena.atlas.web.HttpException: 405 - HTTP method POST is not supported by this URL 
    at org.apache.jena.riot.web.HttpOp.exec(HttpOp.java:1084) 
    at org.apache.jena.riot.web.HttpOp.execHttpPost(HttpOp.java:711) 
    at org.apache.jena.riot.web.HttpOp.execHttpPost(HttpOp.java:655) 
    at org.apache.jena.web.DatasetGraphAccessorHTTP.doPost(DatasetGraphAccessorHTTP.java:192) 
    at org.apache.jena.web.DatasetGraphAccessorHTTP.httpPost(DatasetGraphAccessorHTTP.java:182) 
    at org.apache.jena.web.DatasetAdapter.add(DatasetAdapter.java:91) 

public static void main(String[] args) { 
     FusekiSrv fusekiSrv = new FusekiSrv(); 
     String uri = "http://host:3332/ds"; 
     DatasetAccessor accessor = DatasetAccessorFactory.createHTTP(uri); 

     Model model = ontology.loadOntology(pathName); 
     FusekiServer fusekiServer = fusekiSrv.createFusekiServer(); 

     fusekiSrv.sendOntologyToFuseki(accessor, model); 
     fusekiServer.stop(); 

} 

    public static void sendOntologyToFuseki(DatasetAccessor accessor, Model model) { 
      if (accessor != null) { 
       accessor.add(model); 
      }} 

私のエラーメッセージがある

405 HTTP method PUT is not supported by this URL

getting error HTTP Status 405 - HTTP method GET is not supported by this URL but not used `get` ever?

が、それは私を助けていませんでした。

答えて

1

.add("/data",

次いで

uri = "http://host:3332/ds"

他の内の1つ、 "DS" の "データ"。

同じサービス名を使用する必要があります。

エラーは、リクエストを拒否したJettyです。それはFusekiには及ばなかった。

関連する問題