0

最近、興味深い問題に遭遇しました。統合された REST API を使用して sametime にアクセスしようとしています。そのために、ルックアップとデータ接続を行う XAgent を準備したかったのです。

Sametimeserver に接続するための最初の 2 つのステップは問題なく機能しますが、最後のステップに問題があります。私が何をしても、GETリクエストのヘッダーを設定できません。以下のフィールド以外のフィールドで試してみましたが、ヘッダーが設定されていないようです。

SSJSでヘッダーを設定してもうまくいかない理由は誰にでもありますか?

var url = new  java.net.URL("http://oursametimeserver/stwebapi/RTCServlet?"+sid);       
conn= url.openConnection();   
conn.setRequestProperty("Rtc4web-Nonce",pid);
conn.setRequestMethod("GET");
writer.write(@Implode(conn.getHeaderFields()));

結果をご覧ください:

{null=[HTTP/1.1 400 Bad Request], Cache-Control=[no-cache="set-cookie, set-cookie2"], Expires=[Thu, 01 Dec 1994 16:00:00 GMT], X- Powered-By=[Servlet/3.0]、Content-Length=[170]、Content-Language=[en-US]、Content-Type=[application/json]、Connection=[Close]、Date=[Mon, 09] 2015 年 3 月 19:18:54 GMT]、Set-Cookie=[JSESSIONID=0000zwXn8VhNWlZ78jN4yfMJQrU:-1; パス=/; Httpのみ]}

エラー 400 は無視してください。ヘッダーに RTC4WEB-NONCE フィールドを送信していないため、残りの API がエラーを返します。クロムで POSTMAN を使用すると、同じ結果が得られます。その値ですべてがうまくいきます。

4

1 に答える 1

1

アプローチを少し変更する必要があります。

1) Java オブジェクトへのすべての呼び出しをラップする小さな Java クラスを作成して、単純な JS 呼び出しでそのクラスを呼び出すことができるようにします。「型指定されていない js 変数を型指定された Java メソッドにマップする」という当て推量は不要です。

2) HttpUrlConnection クラスを使用しないでください。使用可能でヘッダーを設定するメソッドを備えた ApacheHttp クライアントを使用するか、Sametime に接続するための機能を備えたソーシャル ビジネス ツールキットを使用します。

于 2015-03-09T22:06:19.170 に答える