2015-07-18 2 views
0

Я следую учебным пособиям Mule для выполнения преобразований JAXB. Трассировка исключение, которое я получаю ниже, после моей конфигурацииПреобразование JAXB не работает в Mule

Я использую Mule 3.6.2 EE на JDK 1.7

WARN 2015-07-18 12:41:34,326 [main] org.mule.config.spring.MuleArtifactContext: Exception encountered during context initialization - cancelling refresh attempt 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name '_muleNotificationManager': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JAXB_Context': Invocation of init method failed; nested exception is javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory could not be instantiated: javax.xml.bind.JAXBException: "com.mulesoft.training" doesnt contain ObjectFactory.class or jaxb.index 
- with linked exception: 
[javax.xml.bind.JAXBException: "com.mulesoft.training" doesnt contain ObjectFactory.class or jaxb.index] 
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:173) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE] 
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE] 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1467) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE] 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:246) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE] 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE] 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:632) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE] 

Моя конфигурация XML выглядит ниже

<http:request-config name="United_REST_Request_Configuration" host="localhost" port="8112" basePath="essentials/united/flights" doc:name="HTTP Request Configuration"/> 
<http:request-config name="Bank_REST_Request_Configuration" host="training.cloudhub.io" port="80" basePath="/build/banking/rest" doc:name="HTTP Request Configuration"> 
    <http:raml-api-configuration location="http://localhost:8112/build/banking/raml"/> 
</http:request-config> 
<ws:consumer-config name="Delta_Web_Service_Consumer" wsdlLocation="http://localhost:8112/essentials/delta?wsdl" service="TicketServiceService" port="TicketServicePort" serviceAddress="http://localhost:8112/essentials/delta" doc:name="Web Service Consumer"/> 
<mulexml:jaxb-context name="JAXB_Context" packageNames="com.mulesoft.training" doc:name="JAXB Context" /> 

<flow name="getDeltaFlightsFlow"> 
    <http:listener config-ref="HTTP_Listener_Configuration" path="/delta" allowedMethods="GET" doc:name="/delta"/> 
    <ws:consumer config-ref="Delta_Web_Service_Consumer" operation="listAllFlights" doc:name="listAllFlightsWS"/> 
    <mulexml:jaxb-xml-to-object-transformer returnClass="com.mulesoft.training.FlightArray" jaxbContext-ref="JAXB_Context" doc:name="XML to JAXB Object"/> 
    <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
</flow> 

Мой пакет структура выглядит следующим образом: enter image description here

+2

Можете ли вы попробовать разместить jaxb.index в src/main/resources/com/mulesoft/training и проверить, работает ли он? – clare

+0

Отлично, что делает трюк! Любые идеи, почему он не выбрал его из папки источников? – Sudarshan

+0

твой проект? это может быть так, что плагин maven исключает индексный файл – clare

ответ

2

Проекты Mule в eclipse (студия mule) являются расширением Java Project Type. Все ресурсы в проекте Java должны идти в записи пути класса ресурса, короче говоря, src/main/resources - это то, где должны существовать эти типы файлов. Вы можете создать там пакет и поместить ресурсы, и он должен работать.

Это верно и для maven, из которого проекты мула получили свою структуру.

Смежные вопросы