1

私は Jersey を初めて使用し、既存の RESTful サービスに対してクライアントを動作させるのに苦労しています。動作する SOAPUI 呼び出しがあります。これがその要求からの生データです。

POST http://localhost/QWJB/WENXrest//getHistory HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
User-Agent: Jakarta Commons-HttpClient/3.1
Content-Length: 189
Authorization: Basic VUNRRzE02fr45tDE0d1RQdw==
Host: localhost

{getHistory:       
{
wENXHeader:
{
languageCode: "en"
},

Account: "111111111",

    services: 
    [
        {Service: "CE000001"},
        {Service: "CE000002"}
    ]
    }

}

この時点で、機能することを確認するためだけに、すべての値をハード コードしてもかまいません。しかし、ここに私のクライアントコードがあります。

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.core.MediaType;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;

public void MakeRestCall() {
  try {
GetHistory requestData = new GetHistory();
requestData.setAccount("111111111");

Client client = Client.create();
WebResource webResource = client
.resource("http://localhost/QWJB/WNEXrest//getHistory");

webResource.accept("application/json");
webResource.entity(requestData);

GetHistoryResponse response =       
webResource.type(MediaType.APPLICATION_XML).post(GetHistoryResponse.class);

} catch (Exception e) {
logger.error(message);
    e.printStackTrace();
}

SOAPUI を使用するときは、ユーザー ID とパスワードを設定する必要があります。それは raw リクエストの認証部分にあるものですか? 暗号化するには何を使用すればよいですか?

4

1 に答える 1

3

フレーミング認証ヘッダー

REST サービスは基本認証を使用しているため、これを使用してジャージー レスト クライアント認証を設定できます。

client.addFilter(new HTTPBasicAuthFilter(username, password));
于 2013-08-20T07:17:20.083 に答える