每月档案: 5 月 2011

PerformancePoint 和错误 33494

我的一个客户今天打电话时他们 PerformancePoint 环境 (在 SharePoint 中 2010) 抛锚了。  应用程序服务器场中的一个是磁盘空间不足。  而解决这一问题, 客户端卸载"太多",所有的 PP 东西停止运转。  各种 web 部件将显示"时发生意外的错误. 错误 33494. 为您的管理员已记录的其他详细信息":

image

抬起头错误,并没有发现任何特定的"错误 33494",但此张贴的 MSDN 论坛是很有帮助: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

我发现 ADOMD。网来作为 SQL Server 中的组件 2008 功能包: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(点击放大)

下载和安装,并且它和它固定的一切.

我认为这是一个漂亮的古怪的错误, 但是,如果你打它, 您至少有一个选择.

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

Lists.asmx, GetListItems 和文件夹

我做了一些调查有人今天周围作为 SharePoint 的一部分提供的 list.asmx web 服务 2010 (及更早版本).  她之所以能够获得在根文件夹的列表项 (包括子文件夹的名称), 但不能在子文件夹中的项目。  我做了一些环顾四周在互联网络上,这是一个令人惊讶的常见的问题。  然而, 没能得到很好简单问题的答案, "如果我知道该文件夹, 如何获取文件夹中的项目?”  要诚实, 因为我想我自己对这一出图了一会儿我并没有试图在所有的努力 微笑.

进行此设置, 我创建了名为"博客情境"站点和自定义列表名称为"自定义列表的子文件夹"。  然后创建文件夹名:

  • 一年 2005
  • 一年 2006
  • 一年 2007

我添加的文件夹"2006 年"几个项目。  这是它看起来像:

image

我的朋友并不是编写 C# 代码,但宁愿使用 Java, 所以 SOAP 信封是她的真正需要。  达到目标,, 写了有点 jQuery,然后用于小提琴手获得实际的 HTTP 会话.

这里是有关 jQuery (我复制代码下下面如果要复制/粘贴):

image

他们第一个关键是要包括两个 <queryOptions> 和 <QueryOptions> 节点。  第二个关键是, <文件夹> 节点是一个 URL,客户端可以访问.

可能有其他方法来获得这, 但这工作对我来说,使用 jQuery 时.

这里是上述的 SOAP 信封:

<soapenv:信封 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <soapenv:正文>
    <GetListItems xmlns =’
http://schemas.microsoft.com/sharepoint/soap/’>
      <listName>自定义列表的子文件夹</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef 名称 =' 标题’ />
          <FieldRef 名称 ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <文件夹>
http://demoserver1/博客 子文件夹/2006 年年方案/列表/自定义列表</文件夹>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:正文>
</soapenv:信封>

很多例子和讨论围绕这让我相信我所需要的是 <QueryOptions> 并指定文件夹名称。  对我来说, 我需要这两包内 <queryOptions> 也可以指定完全限定的 URL <文件夹> 节点.

这里是 jQuery AJAX 安装程序:

$(文档).准备好了(功能() {
       var soapEnv =
           "<soapenv:信封 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <soapenv:正文> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’> \
                       <listName>自定义列表的子文件夹</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef 名称 =' 标题’ /> \
                              <FieldRef 名称 ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <文件夹>http://demoserver1/Blogging 子文件夹/2006 年年方案/列表/自定义列表</文件夹> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:正文> \
           </soapenv:信封>";

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

Lists.asmx, GetList 和"的值不能为空”

我今天发现的 GetList() 中的方法 lists.asmx web 服务已非常仔细地调用或很容易引发一种神秘"的值不能为空"的异常 (这是假设你过去的更糟的一般错误消息, "类型的异常 ' Microsoft.SharePoint.SoapServer.SoapServerException’ 引发了。")  具体, 我发现你不能提供任何种类的前缀的 GetList 方法。  下面的 jQuery 片断阐释了点:

image

如果你这样做, 以"值不能为空"按此 web 服务响应 小提琴手-提供 HTTP 谈话全文:

<?xml 版本 ="1.0" 编码 ="utf-8"?>
  <肥皂:信封
     xmlns:soap ="
http://schemas.xmlsoap.org/soap/envelope/"    
     xmlns:xsi ="
http://www.w3.org/2001/XMLSchema-instance
     xmlns:xsd ="
http://www.w3.org/2001/XMLSchema">

  <肥皂:正文>
    <肥皂:故障>
      <faultcode>肥皂:服务器</faultcode>
      <faultstring>
        类型的异常 ' Microsoft.SharePoint.SoapServer.SoapServerException’ 引发了.
      </faultstring>
      <详细>
        <errorstring xmlns ="
http://schemas.microsoft.com/sharepoint/soap/">
值不能为空.
        </errorstring>
      </详细>
    </肥皂:故障>
  </肥皂:正文>
</肥皂:信封>

答案是肯定的, 您很可能不会添加该"s0"前缀你自己, 但是一些工具是容易做这件事 (像日食).

这是更令人困惑 / 令人沮丧,因为其他的方法能容忍前缀。  例如, " GetListCollection 方法不介意是否它前缀, 即使使用像"xyzzy"废话前缀:

image

这"的值不能为空"似乎相当常见,所以希望这会帮助别人,在将来的 lists.asmx 与.

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

无止境地嵌套 <div> 标记和 jQuery

这似乎是一个古怪的话题, 我不确定这的确值得有关的博客, 但是,从未停止过我, 所以在这里我们去 微笑

我正在那里我揪一些数据从搜索一个项目, 打包成一条 XML 消息,然后该 XML 是最终转换为 XSLT 通过 HTML。  有很多的 jQuery 涉及, 其中一位实现一些制表符的功能。  当您单击某个选项卡上 (真的, 一 <div>), jQuery 调用.hide() 和.show() 对各种 div (初始页面加载下载的所有内容,所以在这种情况下有没有回发).

一群小时前, 选项卡切换逻辑开始运行不稳定,它不会显示我的选项卡中的一个。  我最终跟踪它的事实,ie 浏览器 (至少) 原以为, <div> 远嵌套标签, 远远超过预期。开发商工具栏将显示:

-<div id ="Tab1Content">
  -<div>
    -<div>
      -<div id ="Tab2Content">
        -<div>
           …………………………
                   </div>  <— — 最后展示它关闭一路了这里!

所以, 如果我做了 $("#"Tab1Content).隐藏(), 我还会隐藏前台,我可能永远不会告诉前台是否我还没显示标签页 1。  我复制并粘贴代码到 visual studio 和它很好地显示所有 div 的衬砌起来的, 就像他们应该做的事情, 看起来像这:

-<div id ="Tab1Content">
  +<div>
  +<div>
-<div id ="Tab2Content">
  +<div>
  +<div>

我的头靠在墙上打了一会儿,并注意到在实际的 HTML 代码产生大量的空 <div> 标签, 像:

<正文>

  <div id ="Tab1Content">

    <div id ="第一行"/>
    <div id ="行 2"/>

  </div>

  <div id ="Tab2Content">

    <div id ="第一行"/>
    <div id ="行 2"/>

  </div>

</正文>

(以上是过于简单化的 waaaaaaaaaaaay。  空的 div 标签都是完全有效. 一些我 <div> 标记是内容的完整, 但更多的不是。  我认识到,那我 <xsl:为每个> 指令发出短型 div 标签时 xsl:对于每个才 ' 找到的任何数据。  被迫输出的 HTML 注释, 如图所示:

image

 

毕竟这样做, 所有 div 的很好地都排队和我选项卡切换开始工作.

如往常一样, 我希望这将有助于在必要时有人.

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

快速修复: "内容类型名称 '$ 资源:ReportServerResources … 不能包含 … 特殊字符”

我花了一些时间来清理 SharePoint 2010 舞弊有关的网站和清理问题之一 / 不正确地安装 SQL 服务器报告服务问题。  我的一个同事试图将网站另存为模板,然后创建时出现的问题创建基于该模板的新网站。  保存操作能正常工作, 但当她试图创建新网站, SharePoint 显示以下错误消息:

错误

内容类型名称 '$ 资源:ReportServerResources,DataSourceContentTypeName;' 不能包含: \ / : * ? “ # % < > { } | ~ & , 两个连续的句点 (..), 或特殊字符如一个选项卡.

这里是屏幕帽:

 

image

我看了一内容类型在站点中,发现这:

image

这些内容类型都清楚不健康.

这个问题似乎拿出了很多关于互联,似乎存在并不是单一的共识,如何解决它。  我找到了得心应手的表映射到这里良好的内容类型名称的不良内容类型名称: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  我这上面手动更新它们:

image

(BrightStarr 在名称中是很明显的可选, 但它不会伤害 微笑 )

这让我将创建新的模板,并没有破坏任何其他网站上, 包括一些 PerformancePoint 服务器的东西完全不同的一群人正在处理的问题。  然后,我得以在模板上创建新的网站。  成功!

我不确定这是 100% 解决方案, 但这让我和大家都涉及过去这恼人的错误。  如果找到了新的东西, 我会发布的更新。  事实上这些名称不应该被错放在第一位,通过固定的显示名称源自我紧张, 不,我要修理的内部名称。 

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

原因之一为"此故障的创建者不指定的原因。”

我一直在做很多工作与 SharePoint 搜索最近和专门的 KeywordQuery 类, 属性和方法.

如果你想要的结果集返回结果超出嫌犯 (请看这里), 您将它添加到 SelectedProperties 集合, 如在:

myKeywordQuery.SelectProperties.Add(""xyzzy);

许多感谢和提示的这顶帽子, 科里 · 罗斯这很有帮助的博客 (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

以我为例, "xyzzy"并不是实际托管的属性。  当我添加到 SelectedProperties 无论如何, SharePoint 扔我最喜欢的一个曾经运行库异常:

此故障的创建者做不指定一个理由。

我特别喜欢资本"R"的原因。  这听起来很喜欢我。净额相当于"我有没有嘴, 和我必须尖叫.”

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

便利的参考: KeywordQuery 搜索的默认结果

当您调用执行() KeywordQuery 方法, 您可以创建基于 ResultType.RelevantResults 的 ResultTable。  此代码片段说明了我的意思是:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

生成的表将有以下各列的信息: 

作业标识符
排名
标题
作者
大小
路径
说明

SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

我从 SharePoint 派生此列表 2010 环境, 企业版。  希望它在未来将再给人方便.

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

其中一个原因: "提取解决方案中的 cab 文件失败”

Visual studio web 部件上工作时项目今日 (星期三), 我做了一些文件作为部署过程的一部分被放入的 _layouts 文件夹中次要再 org. 具体, 我改名.js 文件从"TypeAhead.js"到"TypeAhead(老)."js  我打算将其删除作为其继任者的"TypeAhead.js"证明是正确的。  它看起来像这样:

image

这立即引起 visual studio 的问题,当我想要将项目部署:

在 '添加解决方案' 的部署步骤中发生错误: 提取解决方案中的 cab 文件失败.

事实证明你不应该把一个括号中文件的名称。  我删除了 parens,解决了问题.

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin