난 그냥 현재 시간 디버깅 몇 시간에 POSTing JSON to WCF REST Endpoint 및 Generic WCF JSON Deserialization 같은 질문을 통해 찾고 있지만, 한 내가 설정 한WCF - JSON을 끝점에 게시 - 요청 콘텐츠 본문은 어떻게 표시되어야합니까?
... 내 코드 및/또는 디버깅은 매우 기본적인 수준에서 실패라고 생각합니다 WCF 서비스와 같은 :
[ServiceContract]
public interface IAutomationService
{
[OperationContract]
[ServiceKnownType("GetKnownTypes", typeof(KnownTypeProvider))]
CommandBase GetNextCommand(int timeoutInMilliseconds);
}
내가 지금이 서비스를 SOAP 및 JSON 엔드 포인트에 성공적으로 설치있어 : IAutomationService가
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, IncludeExceptionDetailInFaults = true)]
public class AutomationService : IAutomationService
{
[WebInvoke(Method = "POST", UriTemplate = "getNextCommand")]
public CommandBase GetNextCommand(int timeoutInMilliseconds)
{
// stuff
}
}
.
그러나 ... 필자가 ContentBody에서 전달한 변수를 사용하여 서비스를 호출하는 방법을 알아낼 수 없습니다.
예를 들어 Uri에서 POST로 서비스를 호출 할 수 있습니다.
그러나 콘텐츠를 본문에 넣으려고하면 예외가 발생합니다. 예 :
서버가 요청을 처리하는 중에 오류가 발생
POST http://localhost:8085/phoneAutomation/jsonAutomate/getNextCommand Host: localhost:8085 Connection: keep-alive Cache-Control: max-age=0 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1 Accept: application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 Cookie: Orchrd-=%7B%22Exp-N42-Settings%22%3A%22open%22%2C%22Exp-N42-New%22%3A%22open%22%7D Content-Length: 31 Content-Type: application/json {"timeoutInMilliseconds":10000}
는 실패. 예외 메시지가 ' System.Int32 유형의 개체를 deserialize하는 동안 오류가 발생했습니다. ''값을 'Int32'유형으로 구문 분석 할 수 없습니다. '. 자세한 내용은 서버 로그를 참조하십시오. 예외 스택 트레이스이다 System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject (XmlDictionaryReader 리더에서 System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions (XmlReaderDelegator 리더 부울 verifyObjectName, DataContractResolver dataContractResolver)에서
내가 잘못 (다른 WCF를 사용하는 것보다 뭘하는지 어떤 아이디어를 가지고
누구나
에서, 부울 verifyObjectName) ...!) - 나는 J 해요 JSON { "timeoutInMilliseconds": 10000}의 모양이 확실하지 않습니다.
나는 당신을 사랑한다고 생각합니다. 도와 주셔서 감사합니다! – Stuart
지금 테스트하고 테스트했습니다 ... 당신이 말하는 모든 것은 ... 이제 당신을 사랑합니다. 고맙습니다. 고맙습니다. 고맙습니다. 또한 내 계약을 정리하고 정리할 것입니다. – Stuart