Invocando SSRS Web Services do WSS / MUSGO no ambiente FBA

Precisávamos invocar o CreateSubscription"" método em um serviço de web SSRS que está hospedado em um FBA gerenciado ambiente MOSS de uma personalizado web part. Estamos ficando variações de:

  • 401: Não autorizado
  • Objeto movido

O "objeto movido" mensagem era mais interessante, porque ele estava dizendo que o objeto"" (nosso serviço do SSRS) "mudou-se" para login. aspx. Isto foi claramente que tivemos algum tipo de problema de autenticação.

Eventualmente percebi que eu tinha... marcada uma entrada de blog por Robert Garret, que descreveu como chamar um serviço de web do WSS/MOSS de propósito geral vivendo dentro de um ambiente de FBA. Note que eu não posso ligar diretamente para o artigo (a partir de 06/09/08) Porque ele quer autenticar. O link que forneço traz a uma "todas as mensagens" Vista e você pode localizar o artigo específico procurando por "Acessando MOSS Web Services usando a autenticação de formulários com base".

Aqui está o código que trabalhou para nós:

ReportingService2006 rs = nulo; 
// Autenticar Autenticação auth = Novo Autenticação(); 
auth.URL = "http://URL/_vti_bin/Authentication.asmx";
auth.CookieContainer =
Novo CookieContainer();
LoginResult resultado = autenticação.Login("userid", "senha");
se (resultado.ErrorCode = = LoginErrorCode.NoError) 
{
// Nenhum erro, Então, pegar os biscoitos.
CookieCollection cookies = autenticação.CookieContainer.GetCookies(Novo URI(auth.URL));
Cookie authCookie = cookies[resultado.CookieName];
RS =
Novo ReportingService2006();
RS.URL =
"http://Server/_vti_bin/ReportServer/ReportService2006.asmx";
RS.CookieContainer =
Novo CookieContainer();
RS.CookieContainer(authCookie);
}
Tente
{
  RS.CreateSubscription(relatório, extSettings, DESC, eventType, matchData, parameters1);
}
pegar (Exceção ex)
{
  Console. WriteLine(ex.Message.ToString());
}

Eu interpreto as coisas funcionem assim:

  • Nossa parte de web precisa de dial-up do serviço de autenticação e dizer, "Ei, Tony, Sou eu!".
  • Serviço de autenticação responde dizendo, "Ei, Eu sei que você. Como estão as crianças? Aqui está um token."
  • Chamamos o serviço de SSRS e dizer, "Tony me mandou, aqui é o token."

</fim>

Subscreva ao meu blog.

Deixar uma resposta

seu endereço de e-mail não será publicado. Campos obrigatórios são marcados *