WSS ಗೆ SSR ಗಳಾಗಿ ವೆಬ್ ಸೇವೆಗಳು ಪ್ರಚೋದಿಸುವುದು / FBA ಎನ್ವಿರಾನ್ಮೆಂಟ್ MOSS

We needed to invoke the "CreateSubscription" method on an SSRS web service that is hosted in an FBA managed MOSS environment from a custom web part. We kept getting variations of:

  • 401: ಅಧಿಕಾರ
  • ಆಬ್ಜೆಕ್ಟ್ ಸರಿಸಲಾಗಿದೆ

The "object moved" message was most interesting because it was saying that the "object" (ನಮ್ಮ SSR ಗಳಾಗಿ ಸೇವೆ) had "moved" to login.aspx. This clearly meant we had some kind of authentication problem.

ನಾನು ಅಂತಿಮವಾಗಿ ನಾನು ಅರಿತುಕೊಂಡಾಗ ಅಚ್ಚುಮೆಚ್ಚು ಬ್ಲಾಗ್ ಪ್ರವೇಶ by Robert Garret that described how to invoke a general purpose WSS/MOSS web service living inside an FBA environment. Note that I can’t link directly to the article (ಆಫ್ ಮಾಹಿತಿ 06/09/08) because it wants to authenticate. The link I provide brings you to an "all posts" view and you can locate the specific article by searching for "Accessing MOSS Web Services using Forms Based Authentication".

ಇಲ್ಲಿ ನಮಗೆ ಕೆಲಸ ಕೋಡ್ ಇಲ್ಲಿದೆ:

ReportingService2006 ರೂಗಳಲ್ಲಿ = ಶೂನ್ಯ; 
// ದೃಢೀಕರಿಸಲು ದೃಢೀಕರಣ ದೃಢೀಕರಣ = ಹೊಸ ದೃಢೀಕರಣ(); 
auth.Url = "HTTP://URL / _vti_bin / Authentication.asmx";
auth.CookieContainer =
ಹೊಸ CookieContainer();
LoginResult ಪರಿಣಾಮವಾಗಿ = auth.Login("userid", "password");
ವೇಳೆ (result.ErrorCode == LoginErrorCode.NoError) 
{
// ಯಾವುದೇ ದೋಷ, ಆದ್ದರಿಂದ ಕುಕೀಸ್ ಪಡೆಯಿರಿ.
CookieCollection ಕುಕೀಸ್ = auth.CookieContainer.GetCookies(ಹೊಸ ಯೂರಿ(auth.Url));
ಕುಕಿ authCookie = ಕುಕೀಗಳನ್ನು[result.CookieName];
ರೂ =
ಹೊಸ ReportingService2006();
rs.Url =
"HTTP://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
ಹೊಸ CookieContainer();
rs.CookieContainer.Add(authCookie);
}
ಪ್ರಯತ್ನಿಸಿ
{
  rs.CreateSubscription(ವರದಿ, extSettings, DESC, eventType, matchData, parameters1);
}
ಹಿಡಿ (ಎಕ್ಸೆಪ್ಶನ್ ಮಾಜಿ)
{
  Console.WriteLine(ex.Message.ToString());
}

ನಾನು ವಿಷಯಗಳನ್ನು ಈ ರೀತಿಯ ಕೆಲಸ ಮಾಡಲು ವ್ಯಾಖ್ಯಾನಿಸುವ:

  • ನಮ್ಮ ವೆಬ್ ಭಾಗ ದೃಢೀಕರಣ ಸೇವೆ ಡಯಲ್ ಅಪ್ ಮತ್ತು ಹೇಳಲು ಅಗತ್ಯವಿದೆ, "Hey, ನಯನಾಜೂಕಿನ, ಇದು ನಾನೇ!".
  • ದೃಢೀಕರಣ ಸೇವೆಗೆ ಪ್ರತ್ಯುತ್ತರಗಳನ್ನು ಹೇಳಿದರು, "Hey, I know you. How are the kids? Here’s a token."
  • ನಾವು SSR ಗಳಾಗಿ ಸೇವೆ ಕರೆ ಮತ್ತು ಹೇಳುತ್ತಾರೆ, "Tony sent me, ಇಲ್ಲಿ ಟೋಕನ್ ಇಲ್ಲಿದೆ."

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಬ್ಲಾಗ್ ಚಂದಾದಾರರಾಗಿ.

ಒಂದು ಉತ್ತರಿಸಿ ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ರ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *