尝试使用Sitecore Web API创建对象会导致BadRequestException

尝试使用Sitecore Web API创建对象会导致BadRequestException,sitecore,sitecore7.2,Sitecore,Sitecore7.2,我已经编写了一些代码来调用Sitecore Web API,并使用HTTP POST请求创建文件夹和其他对象。这些调用过去适用于Sitecore v6,但现在我针对Sitecore v7.2运行它们,它们不再适用。获取请求仍然可以正常工作 我正在做的文章的一个例子如下: 网址: 标题: X-Scitemwebapi-Password=sitecorepassword X-Scitemwebapi-Username=extranet\remote 以下是日志中的确切错误描述: 错误[Item

我已经编写了一些代码来调用Sitecore Web API,并使用HTTP POST请求创建文件夹和其他对象。这些调用过去适用于Sitecore v6,但现在我针对Sitecore v7.2运行它们,它们不再适用。获取请求仍然可以正常工作

我正在做的文章的一个例子如下:

网址:

标题:

  • X-Scitemwebapi-Password=sitecorepassword
  • X-Scitemwebapi-Username=extranet\remote
以下是日志中的确切错误描述:

错误[Item Web API]指定的内容类型不受支持。 异常:Sitecore.ItemWebApi。BadRequestException消息: 不支持指定的内容类型。来源:Sitecore.ItemWebApi
在 Sitecore.ItemWebApi.Pipelines.Request.ResolveAction.ExecuteCreateRequest(RequestArgs args)at(对象,对象[])at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)位于 Sitecore.ItemWebApi.Pipelines.HttpRequest.LaunchRequest.Process(HttpRequestArgs (论据)


如果您想要一些C代码或邮差截图,请告诉我。

我通过反编译Sitecore.ItemWebApi.dll设法解决了这个问题:

  • 将内容类型设置为application/x-www-form-urlencoded
  • 请求正文必须包含fieldId=
    (我不知道fieldId应该设置为什么,但使用blank似乎可以正常工作)

  • 我能够通过传递正确的内容类型来实现这一点

    内容类型:application/x-www-form-urlencoded