2009-05-19 5 views
1

Я преобразовал api, написанный на Java, в dll .net с использованием IKVM, и до сих пор это было хорошо.Кастор и IKVM

В основном он использует xml за кулисами для доступа к некоторым веб-сервисам. Api является сторонним, и у меня нет доступа к исходному коду. Api использует Castor для (я считаю) связывать xml с объектами.

Однако, когда я начал использовать некоторые из более полезных частей api, у меня возникла проблема с кастором. Моя Специфическая ошибка:

«Вложенные ошибка: org.exolab.castor.mapping.MappingException: Не удалось найти класс ...»

Класс упоминается является частью API. Из прочесывания сети, seems, что кастор не может получить доступ к классу, потому что он находится в отдельной сборке с ролика.

Моя проблема в том, что я действительно недостаточно разбираюсь в Classloaders в Java и, вероятно, недостаточно знаю об IKVM, чтобы разобраться в этом.

Кто-нибудь использовал IKVM с Castor (или другую библиотеку, которая, возможно, использует отражение на Java-классах), и столкнулась с этой проблемой раньше?

ответ

2

Ну, я удивлен, что на это никто не ответил, поэтому я отправил свой вопрос в список рассылки ikvm и получил ответ.

Ответ на этот вопрос действительно касается разделения библиотеки Castor и стороннего кода api, который я использовал.

Решение, которое я использовал, чтобы добавить опцию:

-classloader:ikvm.runtime.AppDomainAssemblyClassLoader 

при компиляции Castor с ikvmc.

Это позволило Кастору связаться с 3-й частью api и разрешить мне захватить отчет из веб-службы.