2013-05-07 105 views
4

基本上我想要做的是创建工作流程(sharepoint 2013o365),它将发送电子邮件到文档上传管理器。Sharepoint 2013工作流程 - HttpSend操作无法反序列化JSON数据

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

我使用该HttpSend行动和以下REST服务:

uri + "_api/SP.UserProfiles.PeopleManager/GetPropertiesFor([email protected])[email protected]='" + Login + "'" 

反应是好的 - 我用小提琴手拦截它,我可以与任何JSON parser(包括bulit-解析它在进入小提琴手)

{"d":{"__metadata":   {"id":"http://sp13dev/sites/dev/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor([email protected])","uri":"http://sp13dev/sites/dev/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor([email protected])","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":"[email protected]","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设计师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([email protected])","uri":"http://sp13dev [here goes the rest of JSON which is already available above] 

因为它是O365我需要去声明方式。

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

回答

0

我已经面临过类似的问题,跨越博客里面帮我固定在同一

的原因问题来了,通过从SharePoint REST 是在XML和SharePoint Designer工作流默认响应无法解析xml 并需要JSON响应。要解决此问题,我们需要通过Accept 和Content-Type作为application/json; odata = verbose来请求标头。 这样我们将得到JSON响应。

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

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