0

Flash(as3)からアクセスできるようにgSoap c ++ webservice-serverを実装しました。.swfをローカルでテストし、.wsdlが正常に読み込まれ、サーバーが外部IPで実行されている場合でも、通信が機能する限り、すべてがスムーズに実行されます。すでに。

しかし、私がその.swfをオンラインにした瞬間、標準について叫んでいるサンドボックスのセキュリティ違反が発生しました。次のようなスキーマです。

Error: [strict] Ignoring policy file at http://schemas.xmlsoap.org/crossdomain.xml 
due to incorrect syntax.  See http://www.adobe.com/go/strict_policy_files to fix this 
problem.

*** Security Sandbox Violation ***
Connection to http://schemas.xmlsoap.org/soap/encoding/ halted - not permitted from 
http://mydomain.com/main.swf
Error: Request for resource at http://schemas.xmlsoap.org/soap/encoding/ by requestor  
from http://mydomain.com/main.swf is denied due to lack of policy file 
permissions.

誰かがその問題で私を助けることができますか?

または、.wsdlファイルをロードせずに1つの単純なWebサービスメソッド(stringResult = command(stringSessionId、stringCommand、stringParams、stringResult)など)を定義する良い方法はありますか?もし私がその可能性を持っていれば、私はそのサンドボックスについてつまずく必要はないでしょう-もの。

助けていただければ幸いです。

4

3 に答える 3

1

クロスドメイン ポリシー ファイルがありません。この場所にあるはずです。サンドボックスがローカルで信頼されている (つまり、最も便利なサンドボックス) ため、ローカル マシンから 'wsdl' をロードできます。そのため、現在、目的の場所にクロスドメイン ポリシー ファイルがない限り、フラッシュでこれを達成する方法がわかりません。ただし、wsdl をロードするためにServer Side Proxy Method
を 試すことができます。

于 2009-11-10T05:56:02.357 に答える
0

Flash では、SWF がホストされているドメイン以外のドメインからのコンテンツの読み込みは、それらのドメインで許可されていない限り許可されません。リモート ドメインは、Web ルートでホストされている crossdomain.xml ポリシー ファイルを使用して、ドメイン内の SWF がコンテンツをロードできるようにすることを選択できます。

ポリシー ファイルの例を次に示します。YouTubeTwitter。詳細については、ポリシー ファイルのAdob​​eリンクを確認してください。

「構文が正しくないため無視しています」というエラー メッセージは、ポリシー ファイルがそこに存在するが、形式が正しくないか、構文エラーがあることを示します。しかし、 で何も見つかりませんhttp://schemas.xmlsoap.org/crossdomain.xml

Web サービスはどこでホストされていますか? 何からロードしようとしていますhttp://schemas.xmlsoap.org/soap/encoding/か?

于 2009-11-10T06:03:35.337 に答える
0

コメントありがとうございます。ここでの本当の問題は、gSoap (生成された wsdl) ファイルがこれらのドメイン全体に「アクセス」しようとするため、クロスドメイン (crossdomain) が私の手に負えなくなることです。とにかく、wsdl gsoap の巨大な肥大化なしに手動で wsdl を書くことで問題を解決したので、w3c.* ドメインにアクセスするだけで、明らかにクロスドメイン化されています。

于 2009-11-11T15:19:33.607 に答える