현재, equinox에서 osgi bundle 를 구현하고 있는데,
XmlBeans(2.4)를 이용한 xml 문서 파싱 중에 이상한 문제가 발생하여 문의 드립니다.
A 라는 번들에서 아래의 코드를 실행하는 경우, 정상적으로 원하는 xml 파싱이 이루어집니다.
XmlObject docXml = (XmlObject)XmlObject.Factory.parse(new File
("test.xml"));
System.out.print("Type of docXml: " + docXml.getClass());
정상적인 결과: "Type of docXml: class myclass"
그런데, 새로운 HTTP 서블릿 번들(B)을 만들고, B 번들에서 A 번들을 호출하게 되면,
아래와 같이 xml 파싱 중에 오류가 발생합니다.
비정상적인 결과: "Type of docXML: class
org.apache.xmlbeans.impl.values.XmlAnyTypeImpl"
위의 두 경우를 비교하면, A 번들의 동일한 코드가 실행되는 것이며, 차이라면 다른 번들에서 호출되어 실행된다는 점 뿐입니다.
XmlBeans가 OSGi 번들에서 사용시에 어떤 문제가 있는 것인가요?
아이디어 있으시면 알려주세요.
감사합니다.
A번들의 클래스라면 서비스로 등록해서, B 번들에서 해당 서비스를 호출한 것이고,
xml 스키마의 컴파일된 클래스(myclass) 또한 B 번들에 import-package에 넣어 있습니다.
그리고, 이미 B번들에서 xmlbeans 클래스를 import 해 보았지만, 결과는 동일 했습니다.
해외 포럼 사이트에서 찾아본 것 중에 비슷한 사례가 있는데요.
물론 경우가 tomcat 상에는 잘 동작하면서 Junit 테스트시 오류가 나는 경우이긴 합니다만,
http://old.nabble.com/Strange-Type-Resolution-Error-td2708361.html#a2708361
문제 원인이 SOAP marshalling/unmarshalling 이라고 하는데 정확한 해결법을 모르겠습니다.
감사합니다.
On 8월12일, 오후6시20분, Chris Kwon <gurug...@gmail.com> wrote:
> 말씀하신 내용만으로는
> B 번들에서 A 번들의 클래스 사용시 Classpath 설정이 약간 오류가 있는듯 한데요.
> 해당 클래스 패키지를 그냥 import-package 에 넣으신건가요 ?
>
> xmlbeans 자체가 한단계 건너뛰어 사용되면서 제대로 처리가 안되는듯 합니다.
> 혹시 xmlbeans 클래스를 B 에서 import 해보면 어떤가요 ?
>
> ==
> Guru / Chris Kwon / 권정혁
> g...@xguru.nethttp://xguru.nethttp://twitter.com/xguru
>
> 2010/8/12 Chungho Lee <chungho....@gmail.com>
>
>
>
> > 안녕하세요?
>
> > 현재, equinox에서 osgi bundle 를 구현하고 있는데,
> > XmlBeans(2.4)를 이용한 xml 문서 파싱 중에 이상한 문제가 발생하여 문의 드립니다.
>
> > A 라는 번들에서 아래의 코드를 실행하는 경우, 정상적으로 원하는 xml 파싱이 이루어집니다.
>
> > XmlObject docXml = (XmlObject)XmlObject.Factory.parse(new File
> > ("test.xml"));
> > System.out.print("Type of docXml: " + docXml.getClass());
>
> > 정상적인 결과: "Type of docXml: class myclass"
>
> > 그런데, 새로운 HTTP 서블릿 번들(B)을 만들고, B 번들에서 A 번들을 호출하게 되면,
> > 아래와 같이 xml 파싱 중에 오류가 발생합니다.
> > 비정상적인 결과: "Type of docXML: class
> > org.apache.xmlbeans.impl.values.XmlAnyTypeImpl"
>
> > 위의 두 경우를 비교하면, A 번들의 동일한 코드가 실행되는 것이며, 차이라면 다른 번들에서 호출되어 실행된다는 점 뿐입니다.
>
> > XmlBeans가 OSGi 번들에서 사용시에 어떤 문제가 있는 것인가요?
>
> > 아이디어 있으시면 알려주세요.
>
> > 감사합니다.- 원본 텍스트 숨기기 -
>
> - 원본 텍스트 보기 -