2013-06-14 4 views
0

ColdFusion을 사용하여 JSON을 API에 게시하려고합니다. 다음 코드는 지금까지 한 것입니다 -콘텐츠 유형을 무시한 POST JSON

<cfhttp url="#url#" method="post" result="httpResp" timeout="60"> 
    <cfhttpparam type="header" name="Content-Type" value="application/json" /> 
    <cfhttpparam type="body" value="#serializeJSON(jsonStr)#"> 
</cfhttp> 

json으로의 예는 여기에있다 - 나는 크롬에 POSTMAN 클라이언트와 API의 URL이 JSON을 통과하면, 모든 좋은

{ 
    "booking":{ 
     "username"   : "#username#", 
     "password"   : "#password#", 
     "customerEmail"  : "#customer_email_address#", 
     "firstName"   : "#customer_firstname#", 
     "lastName"   : "#customer_surname#", 
     "telephoneNumber"  : "#customer_mobile_number#", 
     "guestNumber"   : #url.guests#, 
     "unitNumber"  : #url.location#, 
     "eventDate"  : "#LSDateFormat(url.when,'dd/mm/yyyy')#" 
    } 
} 

! 그러나 CF에서이 작업을 처리하면 API에서 잘못된 요청 오류가 발생합니다. 나는 메시지가 API에서 설정되는 간단한 용도가 아니라는 것을 알고 있습니다.

Chrome의 POSTMAN 클라이언트에서 콘텐츠 유형을 삭제하면 동일한 메시지가 표시됩니다. 그래서 저는 컨텐트 유형이 CF에서 어떻게 든 보내지거나 덮어 쓰지 않는다고 가정합니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까?

감사합니다.

+3

내가 꺼져 있지만 JSON으로 직렬화하는 변수를 jsonStr이라고합니다. 이미 문자열이 아닙니다. 그렇지 않다면 http 트래픽을 디버깅 할 때 선택해야 할 무기는 Fiddler입니다. cfhttp 호출을 수정하여 프록시 (localhost 8888)로 사용하고 coldfusion 호출을 캡처 한 다음 POSTMAN과 비교하여 content-type이 차이인지 확인할 수 있습니다 – barnyr

답변

1

문제는 API가 내가 필요한 것으로 받아 들일 수 없음을 나타냅니다.

관련 문제