1

WSO2ESB にデプロイされた WebService 用の Java クライアントを生成し、このクライアントを介して、ループとスリープを使用して定期的なリクエストを送信しようとしましたが、同じ応答を受け取りました (値、WS がリクエストを受信した時間、送信した時間)応答) !!

スタブ クラスがあり、メイン クラスで呼び出す Java クライアントは次のとおりです。

package org.wso2.cs.helloservices;
import java.rmi.RemoteException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import org.wso2.cs.helloservices.HelloProviderStub.SayHello;
import org.wso2.cs.helloservices.HelloProviderStub.SayHelloResponse;

public class Consumer {

public ArrayList <SayHelloResponse> consumer(int requestsNumber, int sleep, int reliability) throws 

RemoteException, InterruptedException{
    ArrayList <SayHelloResponse> listResp = new ArrayList<SayHelloResponse>();

    HelloProviderStub Stub= new HelloProviderStub();

    for (int i=0; i<requestsNumber; i++){
        Thread.sleep(3000);
        SayHello request=new SayHello();
        SimpleDateFormat dateFormat = new SimpleDateFormat("mm:ss");

        request.setSleep(sleep);
        request.setReliability(reliability);
        SayHelloResponse resp=Stub.sayHello(request);
        listResp.add(resp);
    }
    return listResp;
  }
 }

たとえば、応答は次のとおりです。

Result of Request: 1
---------------------
Receiving Request : 2013:01:24:21:22:30:00935
Sending Response  : 2013:01:24:21:22:31:00935
Response          : Test

Result of Request: 2
---------------------
Receiving Request : 2013:01:24:21:22:30:00935
Sending Response  : 2013:01:24:21:22:31:00935
Response          : Test

任意の提案をお願いします。

4

1 に答える 1

0

応答は同じように見えるため、キャッシュで生成される場合があります。これが適切に機能することが許可されている場合、サービスは DoS (サービス拒否) 攻撃に対してオープンです。

于 2013-05-13T04:17:04.107 に答える