【发布时间】:2011-06-16 11:08:55
【问题描述】:
更新: 当我尝试从以下 url 获取集合时有一点更新: lista.Url = @"http://website/Page1/Page2/_vti_bin/Lists.asmx"; 我得到了集合,我可以看到列表。 其余部分: WebReferenceTest/Lists/ListTest/ 已由我创建,即 WebReferenceTest。也许我搞砸了对该页面的权限等。 也许这会对问题有所了解。
嗨, 我是网络服务的新手, 我一直在尝试做一个简单的应用程序来获取项目并将其添加到通过 AddWebReference 存储在 Sharepoint 服务器上的特定列表中。 我一直在关注这件事上的几个线程/howtos/文章,但我已经到了不知道我做错了什么的地步,或者服务器必须有一些特定的设置。 我正在使用 Visual Studio 2005。
代码如下:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
listTest.Lists lista = new listTest.Lists();
lista.Url = @"http://website/Page1/Page2/WebReferenceTest/Lists/ListTest/_vti_bin/Lists.asmx";
lista.Credentials = System.Net.CredentialCache.DefaultCredentials;
System.Xml.XmlNode activeItemData = lista.GetListCollection();
foreach (System.Xml.XmlNode listItem in activeItemData)
{
textBox1.AppendText(listItem.OuterXml + Environment.NewLine);
}
}
catch (System.Web.Services.Protocols.SoapException E)
{
MessageBox.Show(E.Detail.InnerText);
}
}
}
当我按原样运行此代码时,我会得到“HTTP 404:未找到”,但是当我将更改后的 URL 注释为恢复为基本地址时,我会在主页上得到一组列表,或者类似的东西。
我可以在网络浏览器中访问该页面,但在 VS2005 中我会收到 404 错误。
所以问题是我做了一些尴尬的事情还是服务器需要额外的配置。我无法访问它,但我想我可以让其他人完成它。
PS:app.config 如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="WindowsApplication2.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<WindowsApplication2.Properties.Settings>
<setting name="WindowsApplication2_listTest_Lists" serializeAs="String">
<value>http://website/_vti_bin/lists.asmx</value>
</setting>
</WindowsApplication2.Properties.Settings>
</applicationSettings>
</configuration>
感谢您的任何意见。 帕维尔
【问题讨论】:
-
确保您对子站点具有相同的权限。另外,我假设两者都在同一个端口上的同一个域 localhost 下?
标签: c# web-services sharepoint http-status-code-404