2012-10-16 6 views
0

스프링 웹 서비스 (2.1.0) 클라이언트 비누 UI 모의 웹 서비스에 매우 간단한 메시지를 보냅니다. 이 jdom2.transform.JDOMSource로 jdom2.Element에서 추출 SpringWebserviceTemplate를 통해 DOMSource 인을 보내기 전에 (안녕하세요 스타일, 아니 네임 스페이스)javax DOMSource에서 데이터를 추출 할 때 saxon IdentityTransformer.transform의 NullPointerException이 발생했습니다.

. (JDOM 2.0.2)

변압기는 Saxon 9.4.0.4입니다. 은 (DOMSource 인, responseResult) 변환 함수를 실행할 때

스프링 Webservice를 템플릿 함수 호출 sendSourceAndReceiveToResult하면서 net.sf.saxon.IdentityTransformerNullPointerException이을 던진다.

그 시점에서 DOMSource를 사용할 수 있으므로 무엇이 잘못 될 수 있는지 알 수 없습니다. net.sf.saxon.lib.SerializerFactory.getReceiver (라인 239) :

스택 트레이스는 Nullpointer가에 던져졌다 알려줍니다.

가능한 원인을 추측 할 수 있다면 크게 도움이 될 것입니다.

답변

1

Saxon 문제를보고하는 가장 좋은 방법은 Saxon 포럼 http://saxonica.plan.io 또는 SourceForge의 saxon-help 메일 링리스트를 사용하는 것입니다. 우리는 StackOverflow에 대한 질문을 모니터하려고하지만, 종종 우리가 알아 차리기 며칠 전입니다.

이런 종류의 문제 때문에 스프링 웹 서비스와 같은 일부 소프트웨어는 JAXP TransformerFactory 메커니즘을 사용하여 클래스 경로에서 찾은 XSLT 변환기를로드하지만 실제 테스트를 수행하지 않은 경우가 종종 있습니다. 임의의 XSLT 변환기로 작동하는지 확인하십시오. 사람들은 종종 JDK가 제공하는 기본값으로 만 테스트합니다. 당신이 실제로 색슨 색을 사용하도록 의도했는지 여부는 귀하의 질문에서 분명하지 않습니다.

SerializerFactory 239 실제로
throw new IllegalArgumentException("Unknown type of result: " + result.getClass()); 

을하고

라인 (결과는 인식 결과의 종류 중 하나인지 여부를 테스트 있음); 그래서 결과 (아마 transform() 메소드에 전달 된 값)가 null 인 것처럼 보입니다. responseResult 값의 내용을 확인하십시오.