我有一個查詢Web服務的小程序,使用XSLT轉換結果並將它們顯示在jQuery控件中。當我的代碼進入一個網絡的一部分,並部署它,但我發現了以下錯誤:Web部分錯誤:(401)未授權
The remote server returned an error: (401) Unauthorized.
這就是會加載我的XSLT文件中的代碼,這是我懷疑的問題是:
XPathDocument xPathDoc;
XsltArgumentList args;
protected override void OnPreRender(EventArgs e)
{
xPathDoc = QueryRunner.GetQueryResults();
args = QueryRunner.GetColumnsToShow();
}
public static XPathDocument GetQueryResults()
{
OpacAccess.OpacAccess proxy = new OpacAccess.OpacAccess();
string result = string.Empty;
try
{
result = proxy.query("CompanyName", "username", "password",
ReadingList=\"London\"", 1000);
}
catch (Exception ex)
{
}
// Store the xml of the result
XPathDocument xPathDoc = new XPathDocument(new StringReader(result));
return xPathDoc;
}
protected override void RenderContents(HtmlTextWriter output)
{
XslTransform xslt = new XslTransform();
// Load the xslt file and perform the transformation
xslt.Load("http://rginfonet/Style%20Library/XSL%20Style%20Sheets/Liberty.xslt");
xslt.Transform(xPathDoc, args, output, null);
output.Flush();
}
這裏是我的堆棧跟蹤,如果它是在所有有用的人:
[引發WebException:遠程服務器返回錯誤:(401)未經授權] System.Net.HttpWebRequest.GetResponse()5375213系統.Xml.XmlDownloadManager.GetNonFileStream(Uri uri,ICredentials憑證)+6 9 System.Xml.XmlDownloadManager.GetStream(URI URI,ICredentials憑證)3929371 System.Xml.XmlUrlResolver.GetEntity(URI絕對URI,字符串的作用,類型ofObjectToReturn)+54 System.Xml.XmlTextReaderImpl.OpenUrlDelegate(對象的XmlResolver)+74系統.Threading.CompressedStack.runTryCode(對象的UserData)70 System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode代碼,CleanupCode backoutCode,對象的UserData)0 System.Threading.CompressedStack.Run(compressedStack compressedStack,ContextCallback回調,對象狀態) 108 System.Xml.XmlTextReaderImpl.OpenUrl()186 System.Xml.XmlTextReaderImpl.Read()208 System.Xml.XPath.XPathDocument.LoadFromReader(的XmlReader讀取器,XmlSpace空間)217 System.Xml.XPath.XPathDocument。 。(XmlReader reader,XmlSpace空間)+20 System.Xml.Xsl.XsltOld.Compiler.LoadDocument(XmlTextReaderImpl reader)+85 System.Xml.Xsl.XslTransform.Load(String url,XmlResolver解析器)+100 System.Xml。 Xsl.XslTransform.Load(String u RL)25個LibertyControl.ResultsGrid.RenderContents(HtmlTextWriter的輸出)74 System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter的作家)32 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter的作家的ControlAdapter適配器)27 System.Web.UI.Control.RenderControl(HtmlTextWriter writer,ControlAdapter adapter)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,ICollection children)+ 134 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)+19 System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)+10 System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)+32 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter適配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter適配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter作家)+ 25 Microsoft.SharePoint.WebPartPages.SPChrome.RenderPart內容(HtmlTextWriter輸出,WebPart部分)+66
[WebPartException:遠程服務器返回錯誤:(401)Unauthorized。] Microsoft.SharePoint.WebPartPages.SPChrome.RenderPartContents(HtmlTextWriter輸出,WebPart部件)+140 Microsoft。 SharePoint.WebPartPages.SPChrome.RenderWebPart(HtmlTextWriter輸出,WebPart部分)+63 Microsoft.SharePoint.WebPartPages.WebPartZone.RenderZoneCell(HtmlTextWriter輸出,布爾bMoreParts,WebPart部分)+144 Microsoft.SharePoint.WebPartPages.WebPartZone.RenderWebParts(HtmlTextWriter輸出, ArrayList中的WebParts)495 Microsoft.SharePoint.WebPartPages.WebPartZone.Render(HtmlTextWriter的輸出)902 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter的作家的ControlAdapter適配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter的作家,ControlAdapter適配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter wri ter)+25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,ICollection children)+134 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)+19 System.Web.UI.Control.Render(HtmlTextWriter writer) +10 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter適配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter適配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter作家)+25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter的作家,ICollection的兒童)+134 System.Web.UI.Control.RenderChildren(HtmlTextWriter的作家)+19 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter的作家)+32 System.Web.UI.Control。RenderControlInternal(HtmlTextWriter作家,ControlAdapter適配器)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter作家,ControlAdapter適配器)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter作家)+25 System.Web.UI.Control .RenderChildrenInternal(HtmlTextWriter writer,ICollection children)+134 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)+19 System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)+163 System.Web.UI.HtmlControls .HtmlContainerControl.Render(HtmlTextWriter作家)+32 System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter輸出)+51 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter適配器)+27 System.Web.UI .Control.RenderControl(HtmlTextWriter writer,ControlAdapter adapter)+99 System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer)+40 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,ICollection children)+134 System。 Web.UI.Control.RenderChild ren(HtmlTextWriter作家)+19 System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter作家)+32 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter適配器)+27 System.Web.UI.Control。 RenderControl(HtmlTextWriter writer,ControlAdapter adapter)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,ICollection children)+134 System.Web.UI.Control .RenderChildren(HtmlTextWriter作家)+19 System.Web.UI.Control.Render(HtmlTextWriter作家)+10 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter作家,ControlAdapter適配器)+27 System.Web.UI.Control.RenderControl (HtmlTextWriter writer,ControlAdapter adapter)+99 System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer,ICollection children)+134 System.Web.UI.Control。 RenderChildren(HtmlTextWriter作家)+19 System.Web.UI.Page.Rend er(HtmlTextWriter writer)+29 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer,ControlAdapter adapter)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter writer,ControlAdapter adapter)+99 System.Web.UI.Control .RenderControl(HtmlTextWriter作家)+25 System.Web.UI.Page.ProcessRequestMain(布爾includeStagesBeforeAsyncPoint,布爾includeStagesAfterAsyncPoint)+1266
請讓我知道,如果你可以借一些洞察什麼是造成這一點。謝謝!
謝謝!聽起來最簡單的方法是將其作爲資源。最初,該程序正在爲我的硬盤驅動器上的XSLT文件提供一個目錄,但這不會繼續前進。您能否告訴我一個很好的資源,其中解釋瞭如何在Sharepoint 2007的webpart中包含資源? – 2011-06-14 14:28:53
您可以將XSLT作爲嵌入式資源包含在程序集中。 – 2011-06-14 17:09:17