我有一个查询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