cxf 를 이용한 웹서비스 사용시 xml 선언 첨부하는 방법
Submitted by slothink on 월, 12/07/2009 - 10:22
자바 계열 웹서비스(정확히 cxf라이브러리를 사용한)끼리의 연동은 잘되었는데,
닷넷 계열과의 웹서비스시에는 에러가 발생합니다.
이유하여 xml 선언이 안되어서 오류가 난다고 하는데.
<?xml version="1.0" encoding="UTF-8" ?> 를 받는쪽에서 강제적으로 삽입하여 테스트하면 잘 된다고 합니다.
1. xml 선언이 첨부가 안되면 웹서비스 표준에 어긋나는 것인지.
2. 그리고 xml 선언까지 웹서비스로 전송하고 싶을 경우에는 어떻게 해야하는지 질문드립니다.
아래는 엔드포인트 설정부분입니다.
<jaxws:endpoint id="sampleWebService" implementor="#com.test.SampleWebService" address="/SWS">
<jaxws:properties>
<entry key="mtom-enabled" value="true" />
<entry key="encoding" value="UTF-8" />
</jaxws:properties>
감사합니다.


답변입니다.
1. xml 선언이 첨부가 안되면 웹서비스 표준에 어긋나는 것인지.
--> 웹서비스 표준과는 상관이 없어보입니다.
2. 그리고 xml 선언까지 웹서비스로 전송하고 싶을 경우에는 어떻게 해야하는지 질문드립니다.
--> 위에 말씀하신 것처럼 클라이언트 측에서 SOAP Message를 받은 뒤, <?xml version="1.0" encoding="UTF-8" ?> 를 삽입하여 사용하셔야 할 것 같습니다.
Apache CXF에서는 설정을 통해서 XML 선언부를 삽입하는 기능을 제공하지 않는 것으로 알고 있습니다.
감사합니다.
문제 발생 원인은 mtom 지원을 못해서였습니다.
닷넷 웹서비스 모듈이 받는 xop+xml 방식을 지원하지 않아(또는 잘못 설정하여) 문제가 발생한것이었네요.
mtom 기능을 제거하고 나서는 잘 돌아갑니다.
굳이 xml 선언은 필요가 없었네요.
감사합니다.