2016-12-21 17 views
0

CXFを使用して設計されたRESTインターフェイスと通信するMVCアプリケーションがあります。 FormParamとして動的サイズリストを持つPOSTリクエストを送信しています。私は非常に奇妙な行動を見た。リストのサイズが一定の制限を超えると、FormParamのリストは常に空です。 POSTリクエストで送信できるサイズの上限はありますか?以下は私のRESTインターフェースです。サイズが一定の制限を超えた場合、POSTサービスのPOSTリクエストの@FormParamのリストが空です。

@POST 
@Path("/addIds") 
public void addIds(
     @FormParam("newStatus") Status newStatus, 
     @FormParam("Ids") List<Long> Ids 
); 

クライアントは、構成の下使用して、このインターフェイスに接続されています。私はこの問題を解決するために、関連する材料を見つけることができます

<jaxrs:client id="remoteInterfaceClient" 
        serviceClass="com.test.RemoteInterface" 
        username="test" 
        password="test" 
        address="${url}"> 

     <jaxrs:features> 
      <bean class="org.apache.cxf.transport.common.gzip.GZIPFeature" /> 
      <cxf:logging /> 
     </jaxrs:features> 

     <jaxrs:providers> 
      <bean class=".......JacksonJaxbJsonProvider" /> 
     </jaxrs:providers> 

    </jaxrs:client> 

任意の考えや提案。

答えて

0

これは送信されたデータのサイズに問題があるようです。 REST APIを以下のフォーマットに変更して解決しました。それはPOST APIなので、デフォルトのparam型はForm Paramなので、明示的にそれらを記述する必要があります。私はURLで送信しているのでnewStatusをQueryParamとして言及するだけでした。

@POST 
@Path("/addIds") 
public void addIds(
     @QueryParam("newStatus") Status newStatus, List<Long> Ids 
); 
関連する問題