2013-01-15 4 views
0

HTTP의 콘텐츠 유형을 xxxx + xml로 설정하려면 어떻게해야합니까?HTTP 콘텐츠 유형 설정

나는이 링크에있는 해결책을 언급했다. Android, sending XML via HTTP POST (SOAP). 우리는이 같은 내용 유형을 설정할 때 그것의 벌금, 내 말은 XML 요청과 함께 온된다

httppost.setHeader("Content-Type","application/soap+xml;charset=UTF-8"); 

하지만 난 뭔가 정의에 유형 비누을 변경하면 XML 요청에 사라 (난에보고 이 같은 와이어 샤크) : 다음

httppost.setHeader("Content-Type","application/vnd.oma-pcc+xml;charset=UTF-8"); 

은, 난 단지 XML을 넣어 시도, 그래서 요청이 다시 괜찮아 :

httppost.setHeader("Content-Type","application/xml;charset=UTF-8"); 

내가 무엇을 exac을 알고 싶어 콘텐츠 형식에 대한 규칙은 xml 형식과 함께 제공되므로 xml 형식이 그대로 유지됩니다.

감사합니다.

+0

MIME 유형이 표준화 된 MIME 유형 중 하나 인 경우 처음부터 + xml을 사용할 수 있습니다. 사용자 지정 프로토콜을 사용하는 경우 공급 업체를 나타내는 "vnd"로 대체해야합니다. – Abraham

+0

나는 이미 vnd.oma-pcc를 넣었으나 여전히 작동하지 않습니다. 내가 놓친 것? – dejoong

+0

"vnd"를 추가하면 해당 유형의 컨텐트를 디코딩 할 수있는 브라우저가 없으면 작동하지 않습니다. 해당 종류의 컨텐츠를 구문 분석하는 데 필요한 라이브러리를 추가해야합니다. – Abraham

답변

1

당신은 4.1.3 이상의 HttpClient를를 사용하는 가정 -

당신이 엔티티있어 구성 할 때, 당신은 POST에 사용되는 내용을 지정하거나 특정 개체에 대한 작업을 PUT 할 수있는 옵션이 있습니다.

ContentType 개체를 지정해야합니다.

factory 메소드 인 .create()를 사용하면 charset으로 MIME 유형을 지정할 수 있습니다. ContentType은 해당 헤더를 제대로 내보내려면 프레임 워크에서 사용됩니다.

예 API 호출 : 당신이 게시하거나 넣어 작동을 위해 개체를 만들 때

ContentType.create("application/vnd.oma-pcc+xml", CharSet.forName("UTF-8"));

주, HttpClient를 4.1.2의 경우 4.1.2

에 대한 편집, 콘텐츠 유형을 엔터티이 아닌 실행 HttpPost 또는 HttpPut)를 사용하여 setContentType (String)을 호출합니다. 이 기능은 4.1.3 이상에서 사용되지 않습니다.

+0

오 .. 불행히 내가 버전 4.1.2를 사용하지만 httpmime-4.1.2.jar가 있음을 알 수 있습니다. 지금 내가 도울 수 있는지 조사 중이다. – dejoong

+0

@dejoong - 나는 httpmime이 필요하다고 생각하지 않는다 - 그 API는 표준 httpclient 항아리에있다. –

관련 문제