배포 된 Tomcat 6 서버에서 WAR 파일을 실행할 때 변환 된 XML (xsls로 변환 됨)을 표시 할 수 없지만 내 시스템의 Tomcat에서 실행할 때 그것은 잘 작동합니다.배포 된 Apache 6.0에서 XML을 변형 할 때 오류가 발생할 수 있습니다.
코드 :
경로가 GET 요청을 통해 사용할 수있는 배치 Tomcat 서버에 XSL 파일의 URL입니다StringReader xmlInput = new StringReader(xmlString);
InputStream xslInput = new URL(path).openStream();
Source xmlSource = new StreamSource(xmlInput);
Source xslSource = new StreamSource(xslInput);
// XML result will be written to HTTP response.
Result xmlResult = new StreamResult(response.getOutputStream());
try {
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(xslSource);
transformer.transform(xmlSource, xmlResult);
} catch (Exception e) {
Log.err("xml xslt transform error");
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
return ("return couldn't load file");
}
.
왜 배포 된 컴퓨터에서 작동하지 않습니까?
WAR 파일이 서버에서 실행되는 방법을 잘 모르겠습니다. Tomcat 6.0 서버에서 실행 중이며 서버의 출력을 볼 수 없습니다. 교수가 공유 할 수 없으므로 서버의 출력을 볼 수 없습니다. 이 정보.
그래서 내가 일반적으로이 문제를 일으킬 수있는 것은 무엇입니까?
편집
나는 문제에 대한 몇 가지 정보를 얻을 관리했습니다. 먼저 오류가 발생하지 않으면 서블릿은 200 상태를 반환합니다. 두 번째는 아무 것도 응답에 기록되지 않습니다. 즉 변환 함수가 변환 또는 응답에 대한 쓰기 작업의 일부를 수행하지 못했음을 의미합니다.
여기서'xmlString'은 어디에서 왔습니까? 배포 된/로컬 머신간에 차이가 있습니까? –
아무것도 생성하지 않았거나 결과를 볼 수 없다 (보기 소스보기)? XML 출력으로 변환하면 브라우저에 제대로 표시되지 않을 수 있습니다 ('text()'노드 만 렌더링하고 출력이없는 것처럼 보일 수 있습니다). –
나는 xmlString을 혼자서 구성한다. 그것은 분명히 내 컴퓨터와 기계 모두에서 올바르게 생산됩니다. 변환이 내 로컬 컴퓨터에서 실행될 때 생성해야하는 것을 생산합니다. 실제로 배포 된 컴퓨터에서 아무 것도 반환하지 않습니다 (다시 한번 확인했습니다). . – Whitebear