glassfish 서버를 설치 한 사람이 연락하지 않습니다. 우리는 json과 xml 형식으로 출력 할 수 있도록했습니다. 현재 json에서 출력하고 있지만 XML이 필요합니다. xml로 어떻게 변경합니까?Glassfish를 JSON에서 XML로 전환하는 방법
답변
그것을 만날 수있는 다른 사람.
이 경우 서버를 호출하는 클라이언트는 application/xml
값을 보내려면 HTTP 수락 헤더를 지정해야합니다. 많은 RESTful 서버 구현은이 헤더를 사용하여 응답 형식을 지정하는 방법을 결정합니다.
내 문제는 내가 수락 헤더를 지정하지 않았다는 것입니다. 그래서 하나의 버전에서는 JSON으로, 다른 버전에서는 JSON으로 기본 설정되었습니다. – galactikuh
그리고 'Content-type'이 아닌 'Accept'헤더를 사용해야합니다 ... * sigh * – galactikuh
@galactikuh 예 'Content-type'은 요청의 형식을 지정하고 'Accept'는 응답의 예상 형식을 지정합니다. –
일부 REST 프레임 워크를 사용하고 있다고 가정합니다. 서버 응용 프로그램 클래스의 일부는 다음과 같이 보일 수 있습니다 :
는@GET
@Path("/somepath")
@Produces(MediaType.APPLICATION_JSON)
public SomeClass getSomething();
@Produces annotation은 고객에게 전달 될 수있는 미디어 유형을 선언합니다.
이로 변경해야합니다 : 클래스 SomeClass
는 @XmlRootElement로 주석이 경우
@Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
또는이
@Produces({"application/json", "application/xml"}))
이 작동합니다. 이 방법은 문자열과 같은 몇 가지 "표준"클래스를 반환하는 경우에 당신은 이런 식으로 작업을 수행 할 수 있습니다
내가 언급 클라이언트 헤더 우려가 솔루션, 난 그냥 가서 여기 솔루션을 입력합니다 었죠 때문에// This method is called if XML is requested
@GET
@Produces(MediaType.TEXT_XML)
public String getXML() {
return "<?xml version=\"1.0\"?>" + "<hello> Hello" + "</hello>";
}
// This method is called if JSON is requested
@GET
@Produces(MediaType.APPLICATION_JSON)
public String getJSON() {
return "{ 'hello': 'Hello' }";
}
감사합니다. 클라이언트 측에서 문제가 발생한 것으로 나타났습니다. 요청 헤더 유형을 JSON으로 지정하지 않았기 때문에 생각합니다. – galactikuh
- 1. JSON.Net을 사용하여 사용자 정의 JSON에서 XML로 변환
- 2. netfish에 glassfish를 설치하는 방법
- 3. WCF 도움말 페이지에서 JSON에서 XML로 응답을 변경합니다.
- 4. JSON에서 XML로 Webservice 출력을 변환하는 IIS
- 5. 식과 함께 glassfish를 사용하는 방법?
- 6. 블렌드에서 전환하는 방법을 전환하는 방법?
- 7. netbeans에 glassfish를 저장하는 방법 3 암호
- 8. Glassfish를 PostgreSQL 복제 서버 설정에 연결하는 방법
- 9. Apigee에서 JSON에서 XML로 변환 한 후 루트 요소가 누락됩니다.
- 10. Apigee 프록시에서 JSON에서 XML로 오류 메시지를 변환하는 적절한 방법은 무엇입니까?
- 11. jsonlib을 사용하여 JSON에서 XML로 변환하는 중에 문자가 올바르지 않습니다.
- 12. GlassFish를 통한 HTTPS 요청
- 13. Glassfish를 고객에게 제안
- 14. Eclipse와 Glassfish를 오프라인으로 설정
- 15. Oracle에서 Glassfish를 오픈하면 어떻게됩니까?
- 16. GlassFish를 사용하는 Java EE
- 17. maven과 glassfish를 사용하는 웹 서비스
- 18. Android UI : HTML에서 XML로
- 19. d3 + socket.io로 부드럽게 전환하는 방법
- 20. 12 조각 사이를 전환하는 방법
- 21. Json에서 인수를 전달하는 방법
- 22. JSON에서 DateTime을 얻는 방법
- 23. json에서 패스를 저장하는 방법
- 24. JSON에서 날짜를 직렬화하는 방법
- 25. json에서 값을 검색하는 방법
- 26. JSON에서 클래스를 찾는 방법
- 27. JSON에서 '['를 탐색하는 방법
- 28. JSON에서 배열을 선택하는 방법
- 29. json에서 $ .each를 사용하는 방법?
- 30. JSON에서 필드를 찾는 방법
이것이 REST 서버 인 경우 HTTP 수락 헤더 값을'application/xml'으로 변경해 보았습니다 –
어디서 할 수 있습니까? 현재 각각의 메소드에는 헤더가 있습니다. @Consumes ({ "application/xml", "application/json"}) 하지만 어디에서 사용할지를 지정해야합니다. – galactikuh
서버를 호출하는 클라이언트에서. –