2014-12-11 5 views
1

Orion Context Broker 인스턴스에 가입을 보내려고합니다. 나는이 JSON 보내고있다 :Orion Context Broker Fiware에서 서브 스크립 션

{ 
    "duration": "P1M", 
    "reference": "http://130.206.127.23:1026/ngsi10/notifyContext", 
    "notifyConditions": [ 
    { 
     "condValues": [ 
     "PT10s" 
     ], 
     "type": "ONTIMEINTERVAL" 
    } 
    ], 
    "entities": [ 
    { 
     "id": "1.0", 
     "type": "Capsule", 
     "isPattern": "false" 
    } 
    ], 
    "attributes": [ 
    "temperature" 
    ] 
} 

을 그리고 난 다음 메시지가 나타납니다 : 나는 the documentation에서 사용하고있는 모든 속성을 넣어

<subscribeContextResponse> 
    <subscribeError> 
    <errorCode> 
     <code>400</code> 
     <reasonPhrase>Bad Request</reasonPhrase> 
     <details>JSON Parse Error: <unspecified file>(1): invalid escape sequence</details> 
    </errorCode> 
    </subscribeError> 
</subscribeContextResponse> 

합니다. 그러나 웨비나 Orion Context Broker Webinar - Demo part 2에서 Throttling이라는 다른 속성을 볼 수는 있지만 설명서에는 표시되지 않습니다.

내가 뭘 잘못하고있어?

미리 감사드립니다.

답변

1

귀하의 요청 (사본 붙여 넣기)을 테스트했으며 결과가 오리온 0.17.0과 함께 있습니다.

명령 (당신은 페이로드가 사용한 정확히 하나라는 것을 확인하실 수 있습니다) :

(curl localhost:1026/v1/subscribeContext -s -S --header 'Content-Type: application/json' --header 'Accept: application/json' -d @- | python -mjson.tool) <<EOF 
{ 
    "duration": "P1M", 
    "reference": "http://130.206.127.23:1026/ngsi10/notifyContext", 
    "notifyConditions": [ 
    { 
     "condValues": [ 
     "PT10s" 
     ], 
     "type": "ONTIMEINTERVAL" 
    } 
    ], 
    "entities": [ 
    { 
     "id": "1.0", 
     "type": "Capsule", 
     "isPattern": "false" 
    } 
    ], 
    "attributes": [ 
    "temperature" 
    ] 
} 
EOF 

결과 :

{ 
    "subscribeResponse": { 
     "duration": "P1M", 
     "subscriptionId": "5489e0bfe5007d3271ab5a61" 
    } 
} 

따라서, 내 테스트는 괜찮다고 그래서 문제가 있다고 생각하는 경향이 인코딩과 관련되어 있으며 질문 게시에 표시되지 않습니다. 예 : (틀린)의 사용은 "와 그런 물건을 넣는다.

EDIT : 다른 일반적인 문제는 "DOS 텍스트"(일반적으로 DOS/Windows 텍스트 편집기 사용으로 인해)에 CB에 대한 컬 요청을 포함하는 스크립트 파일을 사용하는 것입니다. 를 사용하여 예를 들어, 파일 변환에 "유닉스 텍스트": 이것은 당신이 file yourfile.sh을 실행하면 easility 감지해야하며 대신 다음

yourfile.sh: ASCII text 

솔루션의

yourfile.sh: ASCII text, with CRLF line terminators 

은 매우 간단합니다 다음을 얻을 수 있습니다 dos2unix 명령 줄 도구.

+1

구독 요청 문제에 대해 질문했습니다. 다른 질문 (예 : 참조 속성에 입력해야하는 내용) 구독에 대한 정보를 받기 위해 서버에서 실행중인 프로그램이 필요합니까?이 작업을 수행하기 위해 Orion Context Broker 리소스에서 프로그램을 얻을 수 있습니까?) SOF에서 새로운 질문을 만드는 것이 바람직합니다. 현재의 질문과는 독립적입니다. – fgalan

+0

좋아,이 질문을 편집하고 다른. – jjmartinez

+0

문제는이 응답의 오류 위치를 볼 수 없다는 것입니다. 나는 JSON 코드를 jsoneditoronline.org에 넣었고 문서는 형식이 잘되어있다. 그리고 JSON을 나머지 JSON과 OCB의 다른 일반적인 작업으로 만듭니다. ( – jjmartinez