ינוואָקינג ססרס וועב סערוויסעס פון ווסס / מאָך אין פבאַ סוויווע

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" (אונדזער ססרס דינסט) 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".

דאָ ס דער קאָד וואָס געארבעט פֿאַר אונדז:

רעפּאָרטינגסערוויסע2006 רס = נול; 
// אָטענטאַקייט אָטענטאַקיישאַן אָט = נייַ אָטענטאַקיישאַן(); 
אַוטה.ורל = "הטטפּ://URL / _ווטי_בין / אַוטהענטיקאַטיאָנ.אַסמקס";
אַוטה.קאָאָקיעקאָנטאַינער =
נייַ קאָאָקיעקאָנטאַינער();
לאָגינרעסולט רעזולטאַט = אַוטה.לאָגין("userid", "password");
צי (רעסולט.ערראָרקאָדע == לאָגינערראָרקאָדע.נאָערראָר) 
{
// ניט קיין טעות, אַזוי באַקומען די קיכלעך.
קאָאָקיעקאָללעקטיאָן קיכלעך = אַוטה.קאָאָקיעקאָנטאַינער.געטקאָאָקיעס(נייַ אורי(אַוטה.ורל));
קיכל אַוטהקאָאָקיע = קיכלעך[רעסולט.קאָאָקיענאַמע];
רס =
נייַ רעפּאָרטינגסערוויסע2006();
רס.ורל =
"הטטפּ://server/_vti_bin/ReportServer/ReportService2006.asmx";
רס.קאָאָקיעקאָנטאַינער =
נייַ קאָאָקיעקאָנטאַינער();
רס.קאָאָקיעקאָנטאַינער.אַדד(אַוטהקאָאָקיע);
}
פּרובירן
{
  רס.קרעאַטעסובסקריפּטיאָן(באַריכט, עקסצעטטינגס, דעסק, עווענטטיפּע, matchData, פּאַראַמעטערס1);
}
כאַפּן (ויסנעם עקס)
{
  קאָנסאָלע.ווריטעלינע(עקס.מעססאַגע.טאָסטרינג());
}

איך טייַטשן זאכן צו אַרבעטן ווי דעם:

  • אונדזער וועב טייל דאַרף צו רעדל אַרויף די אָטענטאַקיישאַן דינסט און זאָגן, "Hey, טאני, עס ס מיר!".
  • אָטענטאַקיישאַן דינסט ריפּלייז געזאגט, "Hey, I know you. How are the kids? Here’s a token."
  • מיר רופן זיך די ססרס דינסט און זאָגן, "Tony sent me, דאָ ס די סימען."

</עק>

אַבאָנירן צו מיין בלאָג.

לאָזן אַ ענטפֿערן

אייער בליצפּאָסט אַדרעס וועט ניט זיין ארויס. Required fields are marked *