1

WebClient クラス ( org.apache.cxf.jaxrs.client.WebClient) の使用時にインターセプターを起動する際に問題が発生しています。RESTful サービスを呼び出すメソッドに、out フェーズで実行するインターセプターを追加しました。意図的に無効なプロパティを指定したため、インターセプターが失敗することがわかりますが、メソッドは正常に完了します。

ここに私が取り組んでいるコードがあります:

private String callService2(String webServiceUrl) {

    JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
    bean.setAddress(webServiceUrl);

    // setup properties
    Map<String, Object> properties = new HashMap<String, Object>();

    properties.put("ws-security.signature.username", "client");
    properties.put("ws-security.signature.properties", 
                   "client_nonexistantfile.properties");

    bean.setProperties(properties);

    XmlSigOutInterceptor sigInterceptor = new XmlSigOutInterceptor();
    bean.getOutInterceptors().add(sigInterceptor);

    // use WebClient (or proxy) as usual
    WebClient wc = bean.createWebClient();
    TestInfoResponse response = wc.accept("application/xml").get(TestInfoResponse.class);
    return response.getContents();
}

XmlSigOutInterceptorプロパティ ファイルが存在しないため、ロジックが失敗することを期待していますが、メソッドは正常に完了します。を追加するときに何が間違っていますかXmlSigOutInterceptor

前もって感謝します。

4

1 に答える 1

0

これは私の悪いことです。XmlSigOutInterceptor は、署名するドキュメントがないため、get の実行時に何もする必要はありません。インターセプターが発砲していたので、すぐに戻ってきました。

お騒がせして申し訳ありません。

于 2013-03-12T16:06:38.747 に答える