Проблемы с классами Java в Webservices (CXF) и Jboss - PullRequest
1 голос
/ 30 марта 2010

Я использую CXF (который автоматически генерирует мои веб-сервисы в моем pom.xml из моего wsdl) с JBoss (eclipse ide), и у меня возникают некоторые проблемы с доступом к веб-сервису из моего веб-приложения. Я нашел этот ресурс: http://blog.progs.be/?p=92, но мне действительно трудно использовать WSDL_LOCATION = cl.getResource ("my / progam / pack / wsdl / myService.wsdl"); правильно работать в моем коде.

У меня есть wsdls, расположенные в src / main / wsdl, и я добавил следующую строку в файл .classpath: classpathentry kind = "src" path = "src / main / wsdl"

Я также создал папки my, program, pack, wsdl и поместил мои wsdls в это место, чтобы оно было доступно.

Тем не менее, вызов classloader.getResource всегда возвращает ноль, независимо от того, что.

Когда я указываю getResource ("/wsdl/myService.wsdl"), он не возвращает ноль, но я считаю, что он смотрит на полный путь к файлу, а не на то, что мне нужно (учитывая, что часть URL содержит путь к wsdl файл через каталог сервера jboss и включает каталог WEB-INF.

Неправильно ли настроен мой файл .classpath или я что-то упустил?

Если WSDL-местоположение неверно, оно всегда выдает исключение ClassCast, например:

java.lang.ClassCastException: org.apache.cxf.jaxws.ServiceImpl at javax.xml.ws.Service. (Service.java:81)

1 Ответ

1 голос
/ 30 марта 2010

У меня есть wsdls, расположенные в src/main/wsdl (...)

Чтобы получить эти файлы в путь к классам, вам необходимо объявить каталог как ресурс в вашем POM:

<project>
  ...
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
      <resource>
        <directory>src/main/wsdl</directory>
      </resource>
    </resources>
    ...
  </build>
</project>

И теперь ваши WSDL должны находиться в каталоге classes.

...