I am upgrading a dev environment from 2013SP1 to Web8 keeping it simple for now using legacy in-process APIs. I have a dedicated new CD webservice Java webapp created from the provided .war file.
The odata.svc is reachable just fine when I disable oAuth, and lists the available entities. However hitting Refresh Preview in XPM fails with the following in the Windows event log:
Unable to update the changes using OData Service. An error occurred while processing this request. The expected content type for a batch requests is "multipart/mixed;boundary=batch" not "application/xml". Component: Tridion.ContentManager.Publishing.PreviewService Errorcode: 1003 User: NT AUTHORITY\NETWORK SERVICE StackTrace Information Details: at System.Data.Services.Client.DataServiceContext.SaveResult.HandleBatchResponse() at System.Data.Services.Client.DataServiceContext.SaveResult.HandleBatchResponse() at System.Data.Services.Client.DataServiceContext.SaveResult.EndRequest() at System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options) at Tridion.ContentManager.Publishing.PreviewService.ServiceImplementation.Preview(IEnumerable
1 publishedItemsInfo, TcmUri publishingTargetId) at Tridion.ContentManager.Publishing.PreviewService.ServiceImplementation.Preview(IEnumerable
1 publishedItemsInfo, TcmUri publishingTargetId) at Tridion.ContentManager.Publishing.PreviewService.FastTrackPublishingService.Preview(IEnumerable`1 publishedItemsInfo, TcmUri publishingTargetId) at SyncInvokePreview(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
And the following in the cd_core log:
2016-01-25 17:46:23,560 DEBUG ServerEngine - Running request start claim processor class com.sdl.web.content.claimprocessor.WritableODataClaimProcessor 2016-01-25 17:46:23,566 DEBUG ODataServiceImpl - Handling request: POST http://mydemo.com:8080/cd_webservice/odata.svc/$batch 2016-01-25 17:46:23,572 DEBUG ODataParserImpl - Parsing URI: http://mydemo.com:8080/cd_webservice/odata.svc/$batch 2016-01-25 17:46:23,573 DEBUG ODataParserImpl - Parse result: ODataUri(http://mydemo.com:8080/cd_webservice/odata.svc,BatchUri) 2016-01-25 17:46:23,648 DEBUG AtomUnmarshaller - Match for AtomUnmarshaller: POST http://mydemo.com:8080/cd_webservice/odata.svc/$batch with score: 0 2016-01-25 17:46:23,650 DEBUG BatchUnmarshaller - Matched MultipartUnmarshaller: POST http://mydemo.com:8080/cd_webservice/odata.svc/$batch with score: 180 2016-01-25 17:46:23,650 DEBUG JsonUnmarshaller - Match for JsonUnmarshaller: POST http://mydemo.com:8080/cd_webservice/odata.svc/$batch with score: 0 2016-01-25 17:46:23,655 INFO BatchUnmarshaller - Multipart unmarshaller invoked with POST http://mydemo.com:8080/cd_webservice/odata.svc/$batch 2016-01-25 17:46:23,782 DEBUG ODataMessageRouter - Sending error message for exception: com.sdl.odata.api.parser.ODataBatchParseException:
DELETE ' expected but
M' found at com.sdl.odata.parser.ODataBatchRequestParser.parseBatch(ODataBatchRequestParser.scala:49) ~[odata_parser-2.0.0-1218.jar:2.0.0-1218] at com.sdl.odata.unmarshaller.batch.ODataBatchParser.processEntity(ODataBatchParser.java:44) ~[odata_renderer-2.0.0-1218.jar:2.0.0-1218] at com.sdl.odata.unmarshaller.AbstractParser.getODataEntity(AbstractParser.java:79) ~[odata_renderer-2.0.0-1218.jar:2.0.0-1218] at com.sdl.odata.unmarshaller.batch.BatchUnmarshaller.unmarshall(BatchUnmarshaller.java:60) ~[odata_renderer-2.0.0-1218.jar:2.0.0-1218] at com.sdl.odata.service.actor.ODataUnmarshallerActor$$anonfun$receive$1.applyOrElse(ODataUnmarshallerActor.scala:37) ~[odata_service-2.0.0-1218.jar:2.0.0-1218] at akka.actor.Actor$class.aroundReceive(Actor.scala:465) ~[akka-actor_2.10-2.3.2.jar:na] at com.sdl.odata.service.actor.ODataUnmarshallerActor.aroundReceive(ODataUnmarshallerActor.scala:30) ~[odata_service-2.0.0-1218.jar:2.0.0-1218] at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) ~[akka-actor_2.10-2.3.2.jar:na] at akka.actor.ActorCell.invoke(ActorCell.scala:487) ~[akka-actor_2.10-2.3.2.jar:na] at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) ~[akka-actor_2.10-2.3.2.jar:na] at akka.dispatch.Mailbox.run(Mailbox.scala:220) ~[akka-actor_2.10-2.3.2.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_60] at java.lang.Thread.run(Unknown Source) [na:1.8.0_60] 2016-01-25 17:46:23,786 DEBUG JsonServiceDocumentRenderer - Score of JSON service document renderer is 0 2016-01-25 17:46:23,786 DEBUG XMLServiceDocumentRenderer - Score of XML service document renderer is 0 2016-01-25 17:46:23,787 DEBUG XMLErrorResponseRenderer - Start rendering error response for request: POST http://mydemo.com:8080/cd_webservice/odata.svc/$batch 2016-01-25 17:46:23,788 DEBUG XMLErrorResponseRenderer - End rendering error response for request: POST http://mydemo.com:8080/cd_webservice/odata.svc/$batch 2016-01-25 17:46:23,789 DEBUG ODataServiceImpl - Request completed in 223
- I am using the cd_ambient_conf.xml as provided in the .war file
- Do I need to change something in the web.xml to set the requests content type?
- I tried to disable the ReadWrite filter in web.xml but it does not change the result
Any pointers are welcome! Thanks