.NETのWebサービスコールにCookieを設定する際に問題が発生しています。提供されているwsdlの呼び出しのいずれかを使用する前に、私はクライアントのWebサイトにログインして取得したCookieを提供する必要があります。私はログインしてクッキーを取得するメソッドを持っています。次に、それを私のmakeSearchメソッドに渡します(下記参照)。ご覧のとおり、wsdlオブジェクトのcookieContainerにCookieを設定しています。しかし、私は私のAdvancedSearchメソッドで行われたリクエストをチェックすると、私はバイヤーが送信されていないことをフィドラーに気付いています。クライアントはJavaでソリューションを提供しましたが、.NETにその問題を転送する問題があります。.NETでWebサービスコールを使用してCookieを送信する
は、次のJavaコードでのソリューションです:
public AdvancedSearchResult makeSearch(String cookie){
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
AdvancedSearchResult searchResults = new AdvancedSearchResult();
Cookie cook= new Cookie("NAME", HttpUtility.UrlEncode(cookie));
searches.CookieContainer = new CookieContainer();
searches.CookieContainer.Add(newUri(www.test.com),cook);
searchResults = searches.AdvancedSearch("search params");
return searchResults;
}
でき、誰リスト:
private static void setupClient(Object port, final String cookie) throws Exception {
Client client = ClientProxy.getClient(port);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy policy = http.getClient();
if (policy == null) {
policy = new HTTPClientPolicy();
http.setClient(policy);
}
policy.setCookie(cookie);
policy.setAutoRedirect(true);
}
私のコードは以下の通りです(ポートが渡されたWSDLオブジェクトです)任意のアイデアやソリューション?ここ
それは見ていません(サーバー側のCASのセキュリティ需要がある)セキュリティ例外が発生しますクッキーを正しく設定する。クッキー文字列の値は、クッキー自体の内容、またはNAMEパラメータの値ですか? – Alan
クッキー文字列値の内容です。 makeSearch()メソッドに渡されるCookie文字列値は、別のメソッドによって取得されています。別の方法がありますか? –