2017-02-19 15 views
0

Restful Java Webサービス(JAX-RS)へのポストリクエストを作成しようとしているEmberアプリケーションがあります。ただし、要求はエンドポイントに当たっていないようです。代わりに、JavaのWebサービスが残り火に次の応答を送信している:Ember POSTリクエストがJAX-RSのXMLジャージ応答で応答します

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<application xmlns="http://wadl.dev.java.net/2009/02"> 
    <doc xmlns:jersey="http://jersey.java.net/" jersey:generatedBy="Jersey: 1.10 11/02/2011 04:41 PM"/> 
    <grammars/> 
    <resources base="http://localhost:3002/"> 
     <resource path="users"> 
      <method id="postUser" name="POST"> 
       <response> 
        <representation mediaType="application/json"/> 
       </response> 
      </method> 
     </resource> 
    </resources> 
</application> 

Webサービス自体は、コンソールに以下のメッセージを出力します

Feb 19, 2017 2:48:06 PM com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator attachTypes 
INFO: Couldn't find JAX-B element for class javax.ws.rs.core.Response 
Feb 19, 2017 2:48:06 PM com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator attachTypes 
INFO: Couldn't find JAX-B element for class javax.ws.rs.core.Response 
Feb 19, 2017 2:48:06 PM com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator attachTypes 
INFO: Couldn't find JAX-B element for class javax.ws.rs.core.Response 
Feb 19, 2017 2:48:06 PM com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator attachTypes 
INFO: Couldn't find JAX-B element for class java.lang.String 
Feb 19, 2017 2:48:06 PM com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator attachTypes 
INFO: Couldn't find JAX-B element for class javax.ws.rs.core.Response 

JAX-RSのエンドポイントは、次のようになります。

@Path("/users") 
public class Users { 
    @POST 
    @Produces("application/json") 
    public Response postUser() { 
     System.out.println("here"); 
     return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("{}").header("Access-Control-Allow-Origin", "*").build(); 
    } 
} 

ジャージーバージョン:jax-rs-jersey-1.10

アダプタIこのように表示されます:

export default DS.RESTAdapter.extend({ 
     host: 'http://localhost:3002', 
    }); 

ありがとうございます!

編集:郵便配達でリクエストをテストすると、すべて問題なく動作します。エバーのヘッダーと関係がありますか?

答えて

0

問題は、クライアントがOPTIONS要求を出してサーバーがCORSで応答し、JAX-RSがCORSに設定されていないかどうかをチェックすることでした。

解決策は、CORS filterと書いて、次にJersyを2.22に更新することでした。したがって、HTTPサーバーの設定をJdkHttpServerFactory

に変更してください