2016-09-24 2 views
-2

내 authserver API를 통해 업로드하는 루비 스크립트에서 동일한 디렉토리의 역할을 사용하여 POST 호출을하려고합니다. 나는 운없이 우체부에서 전화를 재현하려고하고, 다음과 같은 :API 엑셀 시트를 업로드하는 POST 호출

uri = URI.parse("http://authserver:8080/svc/batchImport/v2/direct/roles") 
request = Net::HTTP::Post.new(uri) 
request["Content-Type"] = 'application/xlsx' 
request["externalTenantId"] = tntid 
request["uid"] = uid 
request.body ={ 
     "file"=> "Roles.xlsx", 
     "importMode"=> "OVERWRITE", 
     "tenantId"=> tntid, 
    }.to_json 
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| 
    http.request(request) 
end 
puts response.code 
puts response.body 

그래서 기본적으로 tntid 및 UID 통화에 대한 헤더되며 몸이 아래 찾을 형태-data.Please 될 것입니다 오류 내가 얻을 :

500 
{"errorCode":["com.domain.common.exception.DefaultErrorCode","UNEXPECTED_ERROR"],"errorMessage":"Unknown server error occurred.","developerMessage":null,"moreInfo":null} 
+0

무엇이 오류입니까? –

+0

500 오류, POSTMAN과 함께 작동하는 호출, 나는 루비의 우편 배달부에서 다른 전화를 변환 할 수 있지만이 업로드 파일은 작동하지 않습니다. system()에서 배쉬 컬 (bash curl)과 함께 작동하면 좋을 것입니다. –

+0

서버 로그에 오류를 표시하십시오. –

답변

0

퍼센트 X [컬 -s -X POST -H 'UID : # {UID}'-H 'externalTenantId : # {tntid}'-F '파일 = @ # {역할} '-F'importMode = OVERWRITE '-F'tenantId = # {tntid} 'http://# {iam} : 8080/iamsvc/batchImport/v2/direct/roles]

관련 문제