ここで私の簡単なコードです。同じコードはSWFからの呼び出しでも動作しますが、プロジェクトの他の部分にもフッ素フッ素コードがありますが、これを破るために何もしません。Adobe AIR&Webサービスコール。エラー#1085のエラー:エレメントタイプ "br"は、一致する終了タグ "</br>"で終わらなければなりません。
すべてのPOSTコールが何とかGETに変更されていることがわかりました。これは本当に私を驚かせるものです。私はこれの答えを得ることがとてもうれしいです。みんなに感謝します。以下は、私のWebサービスとほぼ同じコードです。そのすぐ下にAIRコードがあります。
var ws:WebService = new WebService();
ws.wsdl="http://mysite.com/myservice.asmx?WSDL";
ws.useProxy=false;
ws.addEventListener(LoadEvent.LOAD,onWSDLLoad);
ws.loadWSDL();
ws.Authenticate.addEventListener(ResultEvent.RESULT,resultHandler);
ws.Authenticate.addEventListener(FaultEvent.FAULT,onLoginFaultHandler);
ws.Authenticate("usrname","password");
protected function onLoginFaultHandler(event:FaultEvent):void
{
Alert.show('Login Failed with messsage\r\n[ '+event.fault.faultString+' ]');
/* Error #1085: The element type "br" must be terminated
by the matching end-tag "</br>". */
/* checking the content value of fault event shows
same out put as http://mysite.com/myservice.asmx */
}
protected function onLoginResultHandler(event:ResultEvent):void
{
/* on success code */
}
以下のように
[WebMethod(EnableSession = true)]
public bool Authenticate(string UserName,string Password)
{
try
{
if (Membership.ValidateUser(UserName, Password)){
FormsAuthentication.SetAuthCookie(UserName, true);
return true;
}
return false;
}
catch (Exception ex)
{
return false;
}
}
およびAdobe AIRコードから私のコールこの男はhttp://verveguy.blogspot.com/2008/07/truth-about-flex-httpservice.html
- すべてのHTTP GETリクエストがヘッダを剥奪されているページで、次を教えてくれる。これはFlexスタックにはないので、恐らくFlash Playerの基本ランタイムです。
- 「application/x-www-form-url-encoded」以外のすべてのHTTP GET要求はPOST要求に変換されます。
- 実際の投稿データがないすべてのHTTP POST要求はGET要求に変換されます。 1/2を参照/
- HTTP PUT要求とHTTP DELETE要求はすべてPOST要求に変換されます。これは、Flash Playerが立ち往生しているブラウザの制限のようです。
上記のリクエストはGETに変わりますが、その中に値を投稿しています。または、それらが何らかの形でWebサービスオブジェクトによって送信または記録されない場合はどうなりますか?
興味深いことに、すべての呼び出しがPOST呼び出しとして送信される代わりに、GETに変わることがわかりました。 WebメソッドのPOST呼び出しを強制する方法はありますか? –
webserviceからwebmethod 'Authenticate'を呼び出すことを指定していますか?これを試してみてください.http://www.giantflyingsaucer.com/blog/?p = 26 – naveen
私は、この呼び出しをws.Authenticateと考えています。そして、この方法だけに特化したものではありません。すべてのメソッドが失敗します。同じエラーが発生しました。 –