SharePoint Log分析 —— 找不到feature的xml文件

偶尔会在SharePoint的log中出现这样的错误信息:

Exception thrown while determining definition for Feature with ID '56gt087c-655j-60hy-9b11-86gtt5af8ghr': Microsoft.SharePoint.SPException: Failed to find the XML file
at location '14\Template\Features\MyFeature\feature.xml'    
 at Microsoft.SharePoint.SPXmlDocCache.GetGlobalXmlDocument(String pathTemplateRelativeXml, SPFeatureDefinition featdef)    
 at Microsoft.SharePoint.Administration.SPFarmFeatureDefinitionContext.LoadFileAsXmlDocument(SPFeatureDefinition featdef, String featureRelativePath)    
 at Microsoft.SharePoint.Administration.SPFeatureDefinition.EnsureGlobalDefinition()    
 at Microsoft.SharePoint.Administration.SPFeatureDefinition.EnsureElementManifestList()    
 at Microsoft.SharePoint.Administration.SPFeatureDefinition.GetElementDefinitions(CultureInfo ciElements)    
 at Microsoft.SharePoint.SPElementProvider.QueryForElementsJoinOR[TElementType](List`1 lstdictAttrPatterns, List`1 lstfeatdefsOfInterest, List`1 listofOptionalElementsToQuery, CultureInfo ciElements, Int32 webUIVersion).  Skipping this feature for element querying consideration.

意思就是找不到feature.xml这个文件,即使是在Feature已经部署和激活之后,还有这样的错误信息。而且在14目录下是可以找到这个文件的,feature的功能也正常,但是就是一直报这个错误。

今天看到了一个原因,原文参见:点击打开链接

原因就是包含feature的wsp包,仅仅部署在了管理中心网站上而没有部署到其他任何web application上(一个典型的情形就是Farm中只有一台服务器的时候)。如果不想有这个烦人的log信息,可以将相应的wsp部署到任意一个其他的web applicaition上。这样就可以解决问题了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将文件上传到SharePoint,您可以使用SharePoint REST API。以下是使用PHP将文件上传到SharePoint的基本步骤: 1. 获取访问令牌或Cookie,以便进行身份验证。可以使用cURL或其他HTTP客户端来发送身份验证请求并接收响应。请注意,您需要具有上传文件的权限。 2. 构建REST API终结点以上传文件。例如,如果您要将文件上传到名为“Documents”的文件夹,则终结点可能类似于: `https://<your-sharepoint-site>/_api/web/getfolderbyserverrelativeurl('/Documents')/files/add(url='filename.txt',overwrite=true)` 3. 使用cURL或其他HTTP客户端发送HTTP POST请求以上传文件。在请求,您需要指定文件的二进制内容和文件名,以及其他所需的元数据。 以下是一个示例PHP代码,演示如何使用SharePoint REST API上传文件: ```php <?php // SharePoint site URL $siteUrl = "https://<your-sharepoint-site>"; // File path on local machine $filePath = "path/to/file.txt"; // File name to use on SharePoint $fileName = "file.txt"; // REST API endpoint for uploading files $endpoint = $siteUrl . "/_api/web/getfolderbyserverrelativeurl('/Documents')/files/add(url='" . $fileName . "',overwrite=true)"; // Read file contents $fileContents = file_get_contents($filePath); // Set HTTP headers $headers = array( "Content-Type: application/json;odata=verbose", "Accept: application/json;odata=verbose", "X-RequestDigest: <insert_request_digest_value_here>", "Content-Length: " . strlen($fileContents) ); // Send HTTP POST request with file contents $ch = curl_init($endpoint); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $fileContents); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($ch); curl_close($ch); // Parse JSON response $json = json_decode($response); if ($json && $json->d && $json->d->Name) { echo "File uploaded successfully: " . $json->d->Name; } else { echo "Failed to upload file"; } ?> ``` 请注意,上面的示例代码仅用于演示目的,您需要根据自己的情况进行修改和优化。特别是,您需要替换以下值: - `<your-sharepoint-site>` :您的SharePoint站点URL - `path/to/file.txt` :要上传的本地文件路径 - `file.txt` :要在SharePoint上使用的文件名 - `<insert_request_digest_value_here>` :您的CSRF请求令牌或Cookie 此外,您还需要确保您的PHP服务器已启用cURL扩展,并且您有足够的权限向SharePoint上传文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值