You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "brad (JIRA)" <ji...@apache.org> on 2010/01/07 06:16:15 UTC

[jira] Updated: (SMX4-457) busCfg cannot find xsd files after moving to SM4

     [ https://issues.apache.org/activemq/browse/SMX4-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

brad updated SMX4-457:
----------------------

    Component/s:     (was: Bundles)

> busCfg cannot find xsd files after moving to SM4
> ------------------------------------------------
>
>                 Key: SMX4-457
>                 URL: https://issues.apache.org/activemq/browse/SMX4-457
>             Project: ServiceMix 4
>          Issue Type: Bug
>    Affects Versions: 4.1.0
>            Reporter: brad
>
> I've taken a working JBI Service Assembly from ServiceMix 3.3.1and dropped it into the ServiceMix 4.1.0 deploy folder. It fails to process the busCfg file specified in the CXF Provider object, and it seems to be because the ClassLoader used when the busCfg file is read uses only the servicemix-cxf-bc jar and any jars inside my Service Unit zip. For comparison, back in 3.3.1 I'd also have available anything in SM_HOME/lib (e.g. Spring jars) as well as anything in the much larger SM_HOME/hotdeploy/servicemix-cxf-bc-2009.01-installer.zip (e.g. cxf-rt-transports-*.jar)
> Here are some relevant parts of my Service Assembly to illustrate the issue.
> jbi.xml
> {quote}
>     <service-unit>
>         <identification>
>             <name>cxf_provider</name>
>             <description>cxf_provider</description>
>         </identification>
>         <target>
>             <artifacts-zip>cxf_provider.zip</artifacts-zip>
>             <component-name>servicemix-cxf-bc</component-name>
>         </target>
>     </service-unit>
> {quote}
> cxf_provider.zip / xbean.xml
> {quote}
>     <cxfbc:provider wsdl="classpath:service.wsdl"
>             locationURI="http://myhost:8080/myservice" 
>             ...
>             busCfg="myBusCfg.xml">
> {quote}
> cxf_provider.zip / myBusCfg.xml
> {quote}
>     <beans xmlns="http://www.springframework.org/schema/beans"
>             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>             xmlns:sec="http://cxf.apache.org/configuration/security"
>             xmlns:http="http://cxf.apache.org/transports/http/configuration"
>             xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
>             xsi:schemaLocation="
>                 http://cxf.apache.org/configuration/security
>                 http://cxf.apache.org/schemas/configuration/security.xsd
>                 http://cxf.apache.org/transports/http/configuration
>                 http://cxf.apache.org/schemas/configuration/http-conf.xsd
>                 http://www.springframework.org/schema/beans
>                 http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
>         <http:conduit ...>
>         </http:conduit>
> {quote}
> At the point it starts to read the busCfg file it fails to resolve the "beans" object, and similarly the "http:conduit" object.
> My temporarily solution for now was taken from http://servicemix.apache.org/classloaders.html where I've defined a classpath.xml in my Service Unit zip as follows:
> {quote}
>     <beans>
>         <classpath>
>             <location>.</location>
>             <location>lib/myJarFile.jar</location>
>             <location>../../../../../system/org/springframework/spring-beans/2.5.6.SEC01/spring-beans-2.5.6.SEC01.jar</location>
>             <location>../../../../../system/org/apache/cxf/cxf-bundle/2.2.5-psc-01-00/cxf-bundle-2.2.5-psc-01-00.jar</location>
>         </classpath>
>     </beans>
> {quote}
> Can you advise a more suitable way to achieve this ?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.