모든 POST 요청에서 계속 HTTP 409 오류가 발생합니다. 새롭고 깨끗한 RavenDB 설치로 시작합니다. 필자는 Windows 7 64 비트 개발 워크 스테이션에서 권장되는 최소 시스템 요구 사항을 초과하는 빌드 960을 추출했습니다. 내 구성은 다음과 같습니다. Start.cmd를 실행하여 서버를 시작합니다. 서버가 실행되는 동안 RavenDB 웹 사이트의 HTTP API 문서에서 CURL 명령을 복사하여 실행하지만 HTTP 코드 409 오류가 발생합니다. 적절한 익명 액세스를 설정하는 것 외에 명시 적 구성을 위해이 오류를 적절히 처리하거나 특별한 지침을 다루는 지침을 찾지 못했습니다. 또한이 같은 문제는 다른 워크 스테이션에서 동일한 서버 설정을 실행하고 다른 클라이언트 (Ruby rest-client gem)를 사용하는 것을 보았습니다.POST에서 RavenDB HTTP 오류 409 (충돌)
CONFIG
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Raven/Port" value="*"/>
<add key="Raven/DataDir" value="~\Data"/>
<add key="Raven/AnonymousAccess" value="All"/>
<add key="Raven/RunInMemory" value="true"/>
</appSettings>
<runtime>
<loadFromRemoteSources enabled="true"/>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Analyzers"/>
</assemblyBinding>
</runtime>
</configuration>
명령 행 클라이언트 : 여기
C:\dev\RavenDB> curl -v -X POST http://localhost:8080/docs -d "{ FirstName: 'Bob', LastName: 'Smith', Address: '5 Elm St' }"
* timeout on name lookup is not supported
* About to connect() to localhost port 8080 (#0)
* Trying XXX.XXX.XXX.XXX...
* connected
* Connected to localhost (XXX.XXX.XXX.XXX) port 8080 (#0)
> POST /docs HTTP/1.1
> User-Agent: curl/7.26.0
> Host: localhost:8080
> Accept: */*
> Content-Length: 60
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 60 out of 60 bytes
< HTTP/1.1 409 Conflict
< Transfer-Encoding: chunked
< Server: Microsoft-HTTPAPI/2.0
< Raven-Server-Build: 960
< Date: Tue, 06 Nov 2012 19:36:35 GMT
<
{
"Url": "/docs",
"ActualETag": "00000000-0000-0000-0000-000000000000",
"ExpectedETag": "213966fe-5c42-41c4-80c1-6a73c44e77d3",
"Error": "PUT attempted on document 'ac171c38-5428-40d5-beb6-56ea006dbcf6' using a non current etag (document deleted)"
}* Connection #0 to host localhost left intact
* Closing connection #0
내가 수동으로 웹 인터페이스를 통해 새 문서를 만들려고 할 때 발생하는 오류입니다.
Message: PUT attempted on document 'bbc8a11d-94fb-4e80-958d-4b5c74d8e8be' using a non current etag (document deleted)
Uri: /edit?mode=new&database=Default
Server Uri: unknown
-- Error Information --
Raven.Abstractions.Exceptions.ConcurrencyException: PUT attempted on document 'bbc8a11d-94fb-4e80-958d-4b5c74d8e8be' using a non current etag (document deleted)
at Raven.Client.Silverlight.Connection.Async.AsyncServerClient.<>c__DisplayClass39.<PutAsync>b__38(Task`1 task1)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
Inner StackTrace:
at Raven.Studio.Infrastructure.InvocationExtensions.Catch(Task parent, Action`1 action)
at Raven.Studio.Models.EditableDocumentModel.SaveDocumentCommand.SaveDocument()
at Raven.Studio.Models.EditableDocumentModel.SaveDocumentCommand.Execute(Object parameter)
at System.Windows.Controls.Primitives.ButtonBase.ExecuteCommand()
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)