Я следую учебным пособиям 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>
Мой пакет структура выглядит следующим образом:
Можете ли вы попробовать разместить jaxb.index в src/main/resources/com/mulesoft/training и проверить, работает ли он? – clare
Отлично, что делает трюк! Любые идеи, почему он не выбрал его из папки источников? – Sudarshan
твой проект? это может быть так, что плагин maven исключает индексный файл – clare