IT한 것/webservice

AXIS에서 닫기태그(end-tag)가 사라질때

lovian 2006. 11. 9. 10:16
분명히 핸들러에서는 정상적인 메시지를 보냈음을 확인하고 return 했는데
SOAPMonitor를 보면 수십바이트의 데이터가 누락되어 닫기태그가 없다는 오류가 발생한다.

한참을 방황하다가 숫자놀이를 시작했는데,
누락된 데이터의 길이가 xml헤더의 길이와 일치하는 것이 아닌가?

그리하여 SOAPPart 객체에 setContent를 사용하는 방법에 문제가 있는 것이 아닌가를 확인하였고
원래 만들어두었던 DOMSource(Document)를 사용하던 방법을 사용하지 않고
StreamSource( InputStream )을 사용하여 Source를 만들었다.

그 결과 메지지가 누락되는 일은 발생하지 않았는데,
예상치 못하게 서버에서 정확한 응답을 해 주었다. 서버에는 변경된 소스를 적용하지 않았는데도 말이다.

일단은 xml데이터를 내가 파싱할 필요가 없는 방법으로 하는 것이 괜찮은 것 같다.