非常に単純な質問のように思えますが、こことWebで数時間調査した後、私はおそらく間違った質問をしている、または何か間違ったことをしていると思い始めています。
いずれにせよ、ログインに使用されるWebサービスがあります。成功すると、ヘッダーCookieが返され、このCookieを使用した他のサービスへの後続の呼び出しは認証済みと見なされます。これは最も安全またはベストプラクティスではないかもしれませんが、これは私が持っているサービスです
Javaでは、ログインに成功した応答からCookieを取得し、他の呼び出しに渡すだけです。
例(一部の呼び出しは非推奨であり、Axis 1は完全に非推奨ですが、想像力を働かせてください)
// get the cookie
Call authCall = service1Locator.getCall();
org.apache.axis.MessageContext msgContext = authCall.getMessageContext();
String cookie = msgContext.getStrProp(HTTPConstants.HEADER_COOKIE);
// Standard binding
Service2Locator service2Locator=new Service2Locator();
Service2SoapBindingStub service2=(Service2SoapBindingStub)service2Locator.getSomeService();
service2Locator.setMaintainSession(true);
// And now - SET THE COOKIE
service2._setProperty(HTTPConstants.HEADER_COOKIE,cookie);
(ここからの元の例)
古い、正しくない、または安全でない(そうですか?)限り、.NETでも同じことをしたいと思います。
CookieContainerに関するコメントを見ましたが、私のサービス(VS Express 2010によって自動生成されたもの)にはそのようなプロパティがありません...
1つのサービス呼び出しからCookieを取得し、他のサービス呼び出しに渡すのと同等の方法は何ですか(ブラウザーが自動的に行うようにセッションの永続性をエミュレートするため)
(可能であれば、単純な「サービス参照の追加」自動生成されたWeb .NETサービスクライアントを引き続き使用したい)