私は自分のアプリケーションでASMXサービスを使用しており、特定のWebサービスURLを指していることを望みます。異なるホストヘッダーを使用するASMX Javascriptプロキシ
私は以下のようにそれを定義している:ここで
string serviceUrl = SPContext.Current.Web.Url + "/_vti_bin/MyService.asmx";
ScriptManager scriptManager = ScriptManager.GetCurrent(Page);
if (scriptManager != null) scriptManager.Services.Add(new ServiceReference(serviceUrl));
else
{
scriptManager = new ScriptManager();
scriptManager.Services.Add(new ServiceReference(serviceUrl));
Page.Form.Controls.Add(scriptManager);
}
SPContext.Current.Web.Url ==> http://mysite/mysubsite
をしかし、私は以下のようにJavaScriptからサービスを呼び出す際に、Firebugの中にホストヘッダー検査は、Javascriptのプロキシが実際に呼び出していることを示唆していますサービス:http://mysite/_vti_bin/MyService.asmx/Execute
MyWorkCore.API.Execute("GetData", dataXml, function (response) {
// doing something here
});
これが問題の原因であるかどうかわかりませんが、asmxの間違った場所を指している可能性があります。 "_vti_bin"フォルダは、フロントページ拡張が作成するフォルダです。 asmxファイルは、サイトのルートまたはWebサイトのルート内のフォルダ構造内に存在する必要があります。それはビンまたは "_vti_bin"に存在すべきではありません。 –
@Alex Mendez:すべてのSharePointサービスは_vti_binにあります – Moon
私はsharepointを使ったことがないので、これは認識していませんでした。情報をありがとう。現時点では、他のことは考えられません。 –