4

基本上我要做的是创建工作流(sharepoint 2013for o365),它将向文档上传管理器发送电子邮件。

为此,我创建了自定义活动,VS 2012其中应该返回上传者配置文件,我想从中提取经理登录信息。

我正在使用该HttpSend操作和以下REST服务:

uri + "_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='" + Login + "'"

响应没问题 - 我已经用 fiddler 拦截了它,我可以用任何解析它JSON parser(包括内置到 Fiddler 中)

{"d":{"__metadata":         {"id":"http://sp13dev/sites/dev/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)","uri":"http://sp13dev/sites/dev/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)","type":"SP.UserProfiles.PersonProperties"},"AccountName":"MVO\\mvogelsi","DirectReports":{"results":[]},"DisplayName":"Marcin Vogelsinger","Email":null,"ExtendedManagers":{"results":["MVO\\rmakowsk"]},"ExtendedReports":{"results":["MVO\\mvogelsi"]},"IsFollowed":false,"LatestPost":null,"Peers":{"results":["MVO\\tbiolo"]},"PersonalUrl":"http://sp13dev/my/Person.aspx?accountname=MVO%5Cmvogelsi","PictureUrl":null,"Title":null,"UserProfileProperties":   {"results":[{"__metadata":{"type":"SP.KeyValue"},"Key":"UserProfile_GUID","Value":"b3d09b4d-0d7e-45be-a3d9-b9f23a972e9c","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SID","Value":"S-1-5-21-28665521-4166225307-422210891-1000","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"ADGuid","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"AccountName","Value":"MVO\\mvogelsi","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"FirstName","Value":"Marcin","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-PhoneticFirstName","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"LastName","Value":"Vogelsinger","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-PhoneticLastName","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"PreferredName","Value":"Marcin Vogelsinger","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-PhoneticDisplayName","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"WorkPhone","Value":"888265520","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"Department","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"Title","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-JobTitle","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-Department","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"Manager","Value":"MVO\\rmakowsk","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"AboutMe","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"PersonalSpace","Value":"SPSSITEERROR","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"PictureURL","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"UserName","Value":"mvogelsi","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"QuickLinks","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"WebSite","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"PublicSiteRedirect","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-Dotted-line","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-Peers","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-Responsibility","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-SipAddress","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-MySiteUpgrade","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-ProxyAddresses","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-HireDate","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-DisplayOrder","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-ClaimID","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-ClaimProviderID","Value":"Windows","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-ClaimProviderType","Value":"Windows","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-SavedAccountName","Value":"MVO\\mvogelsi","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-SavedSID","Value":"System.Byte[]","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-ResourceSID","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-ResourceAccountName","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-ObjectExists","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-MasterAccountName","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-UserPrincipalName","Value":"mvogelsi@mvo.dom","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-PersonalSiteCapabilities","Value":"0","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-O15FirstRunExperience","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-PersonalSiteInstantiationState","Value":"8197","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-DistinguishedName","Value":"CN=Marcin Vogelsinger,CN=Users,DC=mvo,DC=dom","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-SourceObjectDN","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-FeedIdentifier","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"WorkEmail","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"CellPhone","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"Fax","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"HomePhone","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"Office","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-Location","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"Assistant","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-PastProjects","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-Skills","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-School","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-Birthday","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-StatusNotes","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-Interests","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-HashTags","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-EmailOptin","Value":"","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-PrivacyPeople","Value":"False","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-PrivacyActivity","Value":"0","ValueType":"Edm.String"},{"__metadata":{"type":"SP.KeyValue"},"Key":"SPS-TimeZone","Value":"","ValueType":"Edm.String"}]},"UserUrl":"http://sp13dev:80/my/Person.aspx?accountname=MVO%5Cmvogelsi"}}

我在使用 sp Designer 2013 创建并部署在我的开发环境中的简单工作流中使用了这个自定义活动。但是在尝试启动工作流时,它会被取消并出现以下错误:

Details: System.IO.InvalidDataException: Unable to deserialize HTTP response content. Expected ContentType : 'application/json', 'text/plain' or 'text/html', Received ContentType : 'application/json'. Content (truncated) : '{"d":{"__metadata":{"id":"http://sp13dev/sites/dev/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)","uri":"http://sp13dev [here goes the rest of JSON which is already available above]

由于它适用于 o365,因此我需要采用声明性方式。

有没有人遇到过这样的问题?

4

1 回答 1

0

我过去遇到过类似的问题,并且遇到了一个帮助我解决相同问题的博客

问题的原因是,默认情况下,来自 SharePoint REST 的响应是 XML 和 SharePoint 设计器工作流无法解析 xml 并需要 JSON 响应。要解决此问题,我们需要将 Accept 和 Content-Type 作为 application/json;odata=verbose 传递给请求标头。这样我们将得到 JSON 响应。

https://prasadpathak.wordpress.com/tag/expected-content-type-applicationjson/

尝试上述博客中提到的步骤。

于 2015-06-18T07:05:01.470 回答