You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Christopher Perry <cp...@sapient.com> on 2010/02/25 20:12:53 UTC

Apache CXF client inside Apache Felix Container

Hey all,

The application we are developing requires that it access an outside webservice using Apache CXF from within an OSGi container (Apache Felix). I've created a quick Java console application that connects to and utilizes the web service successfully, so I know the service is working. However, when I try to accomplish the same task inside the OSGi Felix environment, it is unsuccessful.

I've tried a couple different approaches: (1) use the distributed OSGi CXF bundle to export the CXF dependencies  (I'll have a different group help me with these issues) and (2) provide all dependencies within the client bundle. For the second option, I think I'm running into a Felix Maven plugin issue. I'm specifying all of the dependencies in the Bundle-ClassPath instruction, but the errors I receive make me think that the dependencies aren't actually being exposed to the client code. I'm really just basically trying to take the same code that runs outside of the OSGi environment, package it all up, and run it from within the OSGi container.

I've included the POM file I'm using to build the client bundle. Please let me know if I've missed something or if I have not been clear in what I'm trying to do. Can anyone figure out why the client code wouldn't see the packages listed in the Bundle-ClassPath instruction? Thanks in advance for your help!

--Chris

My POM file:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<groupId>my.test.ws</groupId>
	<artifactId>cis</artifactId>
	<packaging>bundle</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>Test Webservice</name>
	<description>Provides access to the webservice</description>

	<properties>
		<file.encoding>utf-8</file.encoding>
	</properties>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>5</source>
					<target>5</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-scr-plugin</artifactId>
				<version>1.2.0</version>
				<executions>
					<execution>
						<id>generate-scr-scrdescriptor</id>
						<goals>
							<goal>scr</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<version>2.0.1</version>
				<configuration>
					<instructions>
						<Export-Package>
							my.test.ws.poc;version=${pom.version},
							org.apache.ws.commons.schema.*,
							org.apache.commons.logging.*,
							schemas.*,
							com.sun.tools.xjc.addon.apache_cxf.*,
							org.apache.cxf.*,
							javax.activation,
							javax.annotation.*,
							javax.mail.*,
							org.apache.geronimo.mail.*,
							javax.xml.ws.*,
							javax.servlet.*,
							javax.xml.stream.*,
							javax.jws.*,
							javax.xml.bind.*,
							com.sun.istack.*,
							com.sun.xml.*,
							org.mortbay.*,
							org.apache.neethi,
							javax.xml.soap,
							com.sun.xml.messaging.saaj.*,
							com.ibm.wsdl.*,
							javax.wsdl.*,
							com.ctc.wstx.*,
							com.codehaus.stax2.*,
							org.apache.xml.resolver.*
						</Export-Package>
						<Import-Package>
							!*
						</Import-Package>
						<Include-Resource>
							{maven-resources}, {maven-dependencies},
							cis-ws-api-1.5.0-SNAPSHOT.jar=target/classes/cis-ws-api-1.5.0-SNAPSHOT.jar,
							cis-ws-support-1.5.0-SNAPSHOT.jar=target/classes/cis-ws-support-1.5.0-SNAPSHOT.jar,
							commons-logging-1.1.1.jar=target/classes/commons-logging-1.1.1.jar,
							cxf-2.2.5.jar=target/classes/cxf-2.2.5.jar,
							geronimo-activation_1.1_spec-1.0.2.jar=target/classes/geronimo-activation_1.1_spec-1.0.2.jar,
							geronimo-annotation_1.0_spec-1.1.1.jar=target/classes/geronimo-annotation_1.0_spec-1.1.1.jar,
							geronimo-javamail_1.4_spec-1.6.jar=target/classes/geronimo-javamail_1.4_spec-1.6.jar,
							geronimo-jaxws_2.1_spec-1.0.jar=target/classes/geronimo-jaxws_2.1_spec-1.0.jar,
							geronimo-servlet_2.5_spec-1.2.jar=target/classes/geronimo-servlet_2.5_spec-1.2.jar,
							geronimo-stax-api_1.0_spec-1.0.1.jar=target/classes/geronimo-stax-api_1.0_spec-1.0.1.jar,
							geronimo-ws-metadata_2.0_spec-1.1.2.jar=target/classes/geronimo-ws-metadata_2.0_spec-1.1.2.jar,
							jaxb-api-2.1.jar=target/classes/jaxb-api-2.1.jar,
							jaxb-impl-2.1.12.jar=target/classes/jaxb-impl-2.1.12.jar,
							jaxws-api-2.1.jar=target/classes/jaxws-api-2.1.jar,
							jetty-6.1.21.jar=target/classes/jetty-6.1.21.jar,
							jetty-util-6.1.21.jar=target/classes/jetty-util-6.1.21.jar,
							neethi-2.0.4.jar=target/classes/neethi-2.0.4.jar,
							saaj-api-1.3.jar=target/classes/saaj-api-1.3.jar,
							saaj-impl-1.3.2.jar=target/classes/saaj-impl-1.3.2.jar,
							wsdl4j-1.6.2.jar=target/classes/wsdl4j-1.6.2.jar,
							wstx-asl-3.2.9.jar=target/classes/wstx-asl-3.2.9.jar,
							xml-resolver-1.2.jar=target/classes/xml-resolver-1.2.jar,
							XmlSchema-1.4.5.jar=target/classes/XmlSchema-1.4.5.jar
						</Include-Resource>
						<Bundle-ClassPath>
							.,
							cis-ws-api-1.5.0-SNAPSHOT.jar,
							cis-ws-support-1.5.0-SNAPSHOT.jar,
							commons-logging-1.1.1.jar,
							cxf-2.2.5.jar,
							geronimo-activation_1.1_spec-1.0.2.jar,
							geronimo-annotation_1.0_spec-1.1.1.jar,
							geronimo-javamail_1.4_spec-1.6.jar,
							geronimo-jaxws_2.1_spec-1.0.jar,
							geronimo-servlet_2.5_spec-1.2.jar,
							geronimo-stax-api_1.0_spec-1.0.1.jar,
							geronimo-ws-metadata_2.0_spec-1.1.2.jar,
							jaxb-api-2.1.jar,
							jaxb-impl-2.1.12.jar,
							jaxws-api-2.1.jar,
							jetty-6.1.21.jar,
							jetty-util-6.1.21.jar,
							neethi-2.0.4.jar,
							saaj-api-1.3.jar,
							saaj-impl-1.3.2.jar,
							wsdl4j-1.6.2.jar,
							wstx-asl-3.2.9.jar,
							xml-resolver-1.2.jar,
							XmlSchema-1.4.5.jar
						</Bundle-ClassPath>
					</instructions>

				</configuration>
			</plugin>
		</plugins>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<directory>src/main/libs</directory>
			</resource>
		</resources>
	</build>

	<dependencies>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.1</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-simple</artifactId>
			<version>1.5.2</version>
		</dependency>
		<dependency>
			<groupId>cis-ws-api</groupId>
			<artifactId>cis-ws-api</artifactId>
			<version>1.5.0-SNAPSHOT</version>
		</dependency> 
	</dependencies>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: Apache CXF client inside Apache Felix Container

Posted by "Richard S. Hall" <he...@ungoverned.org>.
On 2/26/10 3:12 AM, Christopher Perry wrote:
> Hey all,
>
> The application we are developing requires that it access an outside webservice using Apache CXF from within an OSGi container (Apache Felix). I've created a quick Java console application that connects to and utilizes the web service successfully, so I know the service is working. However, when I try to accomplish the same task inside the OSGi Felix environment, it is unsuccessful.
>
> I've tried a couple different approaches: (1) use the distributed OSGi CXF bundle to export the CXF dependencies  (I'll have a different group help me with these issues) and (2) provide all dependencies within the client bundle. For the second option, I think I'm running into a Felix Maven plugin issue. I'm specifying all of the dependencies in the Bundle-ClassPath instruction, but the errors I receive make me think that the dependencies aren't actually being exposed to the client code. I'm really just basically trying to take the same code that runs outside of the OSGi environment, package it all up, and run it from within the OSGi container.
>
> I've included the POM file I'm using to build the client bundle. Please let me know if I've missed something or if I have not been clear in what I'm trying to do. Can anyone figure out why the client code wouldn't see the packages listed in the Bundle-ClassPath instruction? Thanks in advance for your help!
>
> --Chris
>
> My POM file:
>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
>
> 	<modelVersion>4.0.0</modelVersion>
>
> 	<groupId>my.test.ws</groupId>
> 	<artifactId>cis</artifactId>
> 	<packaging>bundle</packaging>
> 	<version>1.0-SNAPSHOT</version>
> 	<name>Test Webservice</name>
> 	<description>Provides access to the webservice</description>
>
> 	<properties>
> 		<file.encoding>utf-8</file.encoding>
> 	</properties>
>
> 	<build>
> 		<plugins>
> 			<plugin>
> 				<artifactId>maven-compiler-plugin</artifactId>
> 				<configuration>
> 					<source>5</source>
> 					<target>5</target>
> 				</configuration>
> 			</plugin>
> 			<plugin>
> 				<groupId>org.apache.felix</groupId>
> 				<artifactId>maven-scr-plugin</artifactId>
> 				<version>1.2.0</version>
> 				<executions>
> 					<execution>
> 						<id>generate-scr-scrdescriptor</id>
> 						<goals>
> 							<goal>scr</goal>
> 						</goals>
> 					</execution>
> 				</executions>
> 			</plugin>
>
> 			<plugin>
> 				<groupId>org.apache.felix</groupId>
> 				<artifactId>maven-bundle-plugin</artifactId>
> 				<extensions>true</extensions>
> 				<version>2.0.1</version>
> 				<configuration>
> 					<instructions>
> 						<Export-Package>
> 							my.test.ws.poc;version=${pom.version},
> 							org.apache.ws.commons.schema.*,
> 							org.apache.commons.logging.*,
> 							schemas.*,
> 							com.sun.tools.xjc.addon.apache_cxf.*,
> 							org.apache.cxf.*,
> 							javax.activation,
> 							javax.annotation.*,
> 							javax.mail.*,
> 							org.apache.geronimo.mail.*,
> 							javax.xml.ws.*,
> 							javax.servlet.*,
> 							javax.xml.stream.*,
> 							javax.jws.*,
> 							javax.xml.bind.*,
> 							com.sun.istack.*,
> 							com.sun.xml.*,
> 							org.mortbay.*,
> 							org.apache.neethi,
> 							javax.xml.soap,
> 							com.sun.xml.messaging.saaj.*,
> 							com.ibm.wsdl.*,
> 							javax.wsdl.*,
> 							com.ctc.wstx.*,
> 							com.codehaus.stax2.*,
> 							org.apache.xml.resolver.*
> 						</Export-Package>
> 						<Import-Package>
> 							!*
> 						</Import-Package>
> 						<Include-Resource>
> 							{maven-resources}, {maven-dependencies},
> 							cis-ws-api-1.5.0-SNAPSHOT.jar=target/classes/cis-ws-api-1.5.0-SNAPSHOT.jar,
> 							cis-ws-support-1.5.0-SNAPSHOT.jar=target/classes/cis-ws-support-1.5.0-SNAPSHOT.jar,
> 							commons-logging-1.1.1.jar=target/classes/commons-logging-1.1.1.jar,
> 							cxf-2.2.5.jar=target/classes/cxf-2.2.5.jar,
> 							geronimo-activation_1.1_spec-1.0.2.jar=target/classes/geronimo-activation_1.1_spec-1.0.2.jar,
> 							geronimo-annotation_1.0_spec-1.1.1.jar=target/classes/geronimo-annotation_1.0_spec-1.1.1.jar,
> 							geronimo-javamail_1.4_spec-1.6.jar=target/classes/geronimo-javamail_1.4_spec-1.6.jar,
> 							geronimo-jaxws_2.1_spec-1.0.jar=target/classes/geronimo-jaxws_2.1_spec-1.0.jar,
> 							geronimo-servlet_2.5_spec-1.2.jar=target/classes/geronimo-servlet_2.5_spec-1.2.jar,
> 							geronimo-stax-api_1.0_spec-1.0.1.jar=target/classes/geronimo-stax-api_1.0_spec-1.0.1.jar,
> 							geronimo-ws-metadata_2.0_spec-1.1.2.jar=target/classes/geronimo-ws-metadata_2.0_spec-1.1.2.jar,
> 							jaxb-api-2.1.jar=target/classes/jaxb-api-2.1.jar,
> 							jaxb-impl-2.1.12.jar=target/classes/jaxb-impl-2.1.12.jar,
> 							jaxws-api-2.1.jar=target/classes/jaxws-api-2.1.jar,
> 							jetty-6.1.21.jar=target/classes/jetty-6.1.21.jar,
> 							jetty-util-6.1.21.jar=target/classes/jetty-util-6.1.21.jar,
> 							neethi-2.0.4.jar=target/classes/neethi-2.0.4.jar,
> 							saaj-api-1.3.jar=target/classes/saaj-api-1.3.jar,
> 							saaj-impl-1.3.2.jar=target/classes/saaj-impl-1.3.2.jar,
> 							wsdl4j-1.6.2.jar=target/classes/wsdl4j-1.6.2.jar,
> 							wstx-asl-3.2.9.jar=target/classes/wstx-asl-3.2.9.jar,
> 							xml-resolver-1.2.jar=target/classes/xml-resolver-1.2.jar,
> 							XmlSchema-1.4.5.jar=target/classes/XmlSchema-1.4.5.jar
> 						</Include-Resource>
> 						<Bundle-ClassPath>
> 							.,
> 							cis-ws-api-1.5.0-SNAPSHOT.jar,
> 							cis-ws-support-1.5.0-SNAPSHOT.jar,
> 							commons-logging-1.1.1.jar,
> 							cxf-2.2.5.jar,
> 							geronimo-activation_1.1_spec-1.0.2.jar,
> 							geronimo-annotation_1.0_spec-1.1.1.jar,
> 							geronimo-javamail_1.4_spec-1.6.jar,
> 							geronimo-jaxws_2.1_spec-1.0.jar,
> 							geronimo-servlet_2.5_spec-1.2.jar,
> 							geronimo-stax-api_1.0_spec-1.0.1.jar,
> 							geronimo-ws-metadata_2.0_spec-1.1.2.jar,
> 							jaxb-api-2.1.jar,
> 							jaxb-impl-2.1.12.jar,
> 							jaxws-api-2.1.jar,
> 							jetty-6.1.21.jar,
> 							jetty-util-6.1.21.jar,
> 							neethi-2.0.4.jar,
> 							saaj-api-1.3.jar,
> 							saaj-impl-1.3.2.jar,
> 							wsdl4j-1.6.2.jar,
> 							wstx-asl-3.2.9.jar,
> 							xml-resolver-1.2.jar,
> 							XmlSchema-1.4.5.jar
> 						</Bundle-ClassPath>
>    

I am not sure if this is what you want. If you list the packages in 
Export-Package, then BND will automatically suck them in and make them a 
part of your bundle and will export them too. (If they are listed on 
Private-Package then BND will automatically suck them into the bundle 
too, but it won't export them.) So, I'd start by removing them from your 
bundle class path and then potentially decide which packages should be 
Export-Package and which should be Private-Package.

-> richard
> 					</instructions>
>
> 				</configuration>
> 			</plugin>
> 		</plugins>
> 		<resources>
> 			<resource>
> 				<directory>src/main/resources</directory>
> 			</resource>
> 			<resource>
> 				<directory>src/main/libs</directory>
> 			</resource>
> 		</resources>
> 	</build>
>
> 	<dependencies>
> 		<dependency>
> 			<groupId>javax.servlet.jsp</groupId>
> 			<artifactId>jsp-api</artifactId>
> 			<version>2.1</version>
> 			<scope>compile</scope>
> 		</dependency>
> 		<dependency>
> 			<groupId>org.slf4j</groupId>
> 			<artifactId>slf4j-simple</artifactId>
> 			<version>1.5.2</version>
> 		</dependency>
> 		<dependency>
> 			<groupId>cis-ws-api</groupId>
> 			<artifactId>cis-ws-api</artifactId>
> 			<version>1.5.0-SNAPSHOT</version>
> 		</dependency>
> 	</dependencies>
> </project>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>    

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: Apache CXF client inside Apache Felix Container

Posted by Freeman Fang <fr...@gmail.com>.
Hi,

Use Include-Resource heavily  in osgi bundle MAY not  be a good  
practice for OSGI IMHO.

Not exactly sure what the error come from, but you may need take a  
look how we use cxf client as OSGI service from Servicemix.
  cxf-soap-handler-osgi[1] is a bundle used for integration test, take  
a look at the pom.xml[2] with this bundle and more importantly, [3]how  
to expose the cxf client as osgi service so that you can use later on  
to invoke external web services.

[1]https://svn.apache.org/repos/asf/servicemix/smx4/features/trunk/examples/itests/cxf-soap-handler-osgi/
[2]https://svn.apache.org/repos/asf/servicemix/smx4/features/trunk/examples/itests/cxf-soap-handler-osgi/pom.xml
[3]https://svn.apache.org/repos/asf/servicemix/smx4/features/trunk/examples/itests/cxf-soap-handler-osgi/src/main/resources/META-INF/spring/beans.xml

Freeman
On 2010-2-26, at 上午3:12, Christopher Perry wrote:

> Hey all,
>
> The application we are developing requires that it access an outside  
> webservice using Apache CXF from within an OSGi container (Apache  
> Felix). I've created a quick Java console application that connects  
> to and utilizes the web service successfully, so I know the service  
> is working. However, when I try to accomplish the same task inside  
> the OSGi Felix environment, it is unsuccessful.
>
> I've tried a couple different approaches: (1) use the distributed  
> OSGi CXF bundle to export the CXF dependencies  (I'll have a  
> different group help me with these issues) and (2) provide all  
> dependencies within the client bundle. For the second option, I  
> think I'm running into a Felix Maven plugin issue. I'm specifying  
> all of the dependencies in the Bundle-ClassPath instruction, but the  
> errors I receive make me think that the dependencies aren't actually  
> being exposed to the client code. I'm really just basically trying  
> to take the same code that runs outside of the OSGi environment,  
> package it all up, and run it from within the OSGi container.
>
> I've included the POM file I'm using to build the client bundle.  
> Please let me know if I've missed something or if I have not been  
> clear in what I'm trying to do. Can anyone figure out why the client  
> code wouldn't see the packages listed in the Bundle-ClassPath  
> instruction? Thanks in advance for your help!
>
> --Chris
>
> My POM file:
>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
> "
> 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd 
> ">
>
> 	<modelVersion>4.0.0</modelVersion>
>
> 	<groupId>my.test.ws</groupId>
> 	<artifactId>cis</artifactId>
> 	<packaging>bundle</packaging>
> 	<version>1.0-SNAPSHOT</version>
> 	<name>Test Webservice</name>
> 	<description>Provides access to the webservice</description>
>
> 	<properties>
> 		<file.encoding>utf-8</file.encoding>
> 	</properties>
>
> 	<build>
> 		<plugins>
> 			<plugin>
> 				<artifactId>maven-compiler-plugin</artifactId>
> 				<configuration>
> 					<source>5</source>
> 					<target>5</target>
> 				</configuration>
> 			</plugin>
> 			<plugin>
> 				<groupId>org.apache.felix</groupId>
> 				<artifactId>maven-scr-plugin</artifactId>
> 				<version>1.2.0</version>
> 				<executions>
> 					<execution>
> 						<id>generate-scr-scrdescriptor</id>
> 						<goals>
> 							<goal>scr</goal>
> 						</goals>
> 					</execution>
> 				</executions>
> 			</plugin>
>
> 			<plugin>
> 				<groupId>org.apache.felix</groupId>
> 				<artifactId>maven-bundle-plugin</artifactId>
> 				<extensions>true</extensions>
> 				<version>2.0.1</version>
> 				<configuration>
> 					<instructions>
> 						<Export-Package>
> 							my.test.ws.poc;version=${pom.version},
> 							org.apache.ws.commons.schema.*,
> 							org.apache.commons.logging.*,
> 							schemas.*,
> 							com.sun.tools.xjc.addon.apache_cxf.*,
> 							org.apache.cxf.*,
> 							javax.activation,
> 							javax.annotation.*,
> 							javax.mail.*,
> 							org.apache.geronimo.mail.*,
> 							javax.xml.ws.*,
> 							javax.servlet.*,
> 							javax.xml.stream.*,
> 							javax.jws.*,
> 							javax.xml.bind.*,
> 							com.sun.istack.*,
> 							com.sun.xml.*,
> 							org.mortbay.*,
> 							org.apache.neethi,
> 							javax.xml.soap,
> 							com.sun.xml.messaging.saaj.*,
> 							com.ibm.wsdl.*,
> 							javax.wsdl.*,
> 							com.ctc.wstx.*,
> 							com.codehaus.stax2.*,
> 							org.apache.xml.resolver.*
> 						</Export-Package>
> 						<Import-Package>
> 							!*
> 						</Import-Package>
> 						<Include-Resource>
> 							{maven-resources}, {maven-dependencies},
> 							cis-ws-api-1.5.0-SNAPSHOT.jar=target/classes/cis-ws-api-1.5.0- 
> SNAPSHOT.jar,
> 							cis-ws-support-1.5.0-SNAPSHOT.jar=target/classes/cis-ws- 
> support-1.5.0-SNAPSHOT.jar,
> 							commons-logging-1.1.1.jar=target/classes/commons- 
> logging-1.1.1.jar,
> 							cxf-2.2.5.jar=target/classes/cxf-2.2.5.jar,
> 							geronimo-activation_1.1_spec-1.0.2.jar=target/classes/ 
> geronimo-activation_1.1_spec-1.0.2.jar,
> 							geronimo-annotation_1.0_spec-1.1.1.jar=target/classes/ 
> geronimo-annotation_1.0_spec-1.1.1.jar,
> 							geronimo-javamail_1.4_spec-1.6.jar=target/classes/geronimo- 
> javamail_1.4_spec-1.6.jar,
> 							geronimo-jaxws_2.1_spec-1.0.jar=target/classes/geronimo- 
> jaxws_2.1_spec-1.0.jar,
> 							geronimo-servlet_2.5_spec-1.2.jar=target/classes/geronimo- 
> servlet_2.5_spec-1.2.jar,
> 							geronimo-stax-api_1.0_spec-1.0.1.jar=target/classes/geronimo- 
> stax-api_1.0_spec-1.0.1.jar,
> 							geronimo-ws-metadata_2.0_spec-1.1.2.jar=target/classes/ 
> geronimo-ws-metadata_2.0_spec-1.1.2.jar,
> 							jaxb-api-2.1.jar=target/classes/jaxb-api-2.1.jar,
> 							jaxb-impl-2.1.12.jar=target/classes/jaxb-impl-2.1.12.jar,
> 							jaxws-api-2.1.jar=target/classes/jaxws-api-2.1.jar,
> 							jetty-6.1.21.jar=target/classes/jetty-6.1.21.jar,
> 							jetty-util-6.1.21.jar=target/classes/jetty-util-6.1.21.jar,
> 							neethi-2.0.4.jar=target/classes/neethi-2.0.4.jar,
> 							saaj-api-1.3.jar=target/classes/saaj-api-1.3.jar,
> 							saaj-impl-1.3.2.jar=target/classes/saaj-impl-1.3.2.jar,
> 							wsdl4j-1.6.2.jar=target/classes/wsdl4j-1.6.2.jar,
> 							wstx-asl-3.2.9.jar=target/classes/wstx-asl-3.2.9.jar,
> 							xml-resolver-1.2.jar=target/classes/xml-resolver-1.2.jar,
> 							XmlSchema-1.4.5.jar=target/classes/XmlSchema-1.4.5.jar
> 						</Include-Resource>
> 						<Bundle-ClassPath>
> 							.,
> 							cis-ws-api-1.5.0-SNAPSHOT.jar,
> 							cis-ws-support-1.5.0-SNAPSHOT.jar,
> 							commons-logging-1.1.1.jar,
> 							cxf-2.2.5.jar,
> 							geronimo-activation_1.1_spec-1.0.2.jar,
> 							geronimo-annotation_1.0_spec-1.1.1.jar,
> 							geronimo-javamail_1.4_spec-1.6.jar,
> 							geronimo-jaxws_2.1_spec-1.0.jar,
> 							geronimo-servlet_2.5_spec-1.2.jar,
> 							geronimo-stax-api_1.0_spec-1.0.1.jar,
> 							geronimo-ws-metadata_2.0_spec-1.1.2.jar,
> 							jaxb-api-2.1.jar,
> 							jaxb-impl-2.1.12.jar,
> 							jaxws-api-2.1.jar,
> 							jetty-6.1.21.jar,
> 							jetty-util-6.1.21.jar,
> 							neethi-2.0.4.jar,
> 							saaj-api-1.3.jar,
> 							saaj-impl-1.3.2.jar,
> 							wsdl4j-1.6.2.jar,
> 							wstx-asl-3.2.9.jar,
> 							xml-resolver-1.2.jar,
> 							XmlSchema-1.4.5.jar
> 						</Bundle-ClassPath>
> 					</instructions>
>
> 				</configuration>
> 			</plugin>
> 		</plugins>
> 		<resources>
> 			<resource>
> 				<directory>src/main/resources</directory>
> 			</resource>
> 			<resource>
> 				<directory>src/main/libs</directory>
> 			</resource>
> 		</resources>
> 	</build>
>
> 	<dependencies>
> 		<dependency>
> 			<groupId>javax.servlet.jsp</groupId>
> 			<artifactId>jsp-api</artifactId>
> 			<version>2.1</version>
> 			<scope>compile</scope>
> 		</dependency>
> 		<dependency>
> 			<groupId>org.slf4j</groupId>
> 			<artifactId>slf4j-simple</artifactId>
> 			<version>1.5.2</version>
> 		</dependency>
> 		<dependency>
> 			<groupId>cis-ws-api</groupId>
> 			<artifactId>cis-ws-api</artifactId>
> 			<version>1.5.0-SNAPSHOT</version>
> 		</dependency>
> 	</dependencies>
> </project>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>


-- 
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com


Fwd: Apache CXF client inside Apache Felix Container

Posted by Charles Moulliard <cm...@gmail.com>.
Hi,

Here is the packages that I have imported in my bundle. It works fine
with Apache Felix 2.0.x / Felix Karaf and ServiceMix + CXF 2.2.6 and
Camel 2.X

                            META-INF.cxf,
                            META-INF.cxf.osgi,
                            META-INF.wsdl,
                            javax.xml.namespace,
                            org.apache.commons.logging,
                            org.apache.camel;version="[2.0,2.3)",
                            org.apache.camel.component;version="[2.0,2.3)",
                            org.apache.camel.component.cxf;version="[2.0,2.3)",

org.apache.camel.component.cxf.converter;version="[2.0,2.3)",
                            org.apache.camel.component.jms;version="[2.0,2.3)",
                            org.apache.camel.converter;version="[2.0,2.3)",
                            org.apache.camel.converter.jaxp;version="[2.0,2.3)",

org.apache.camel.converter.stream;version="[2.0,2.3)",

org.apache.camel.dataformat.bindy;version="[2.0,2.3)",

org.apache.camel.dataformat.bindy.csv;version="[2.0,2.3)",
                            org.apache.camel.processor;version="[2.0,2.3)",

org.apache.activemq.camel.component;${activemq.osgi.version},

org.apache.activemq.camel.converter;${activemq.osgi.version},
                            org.apache.activemq.pool,
                            org.apache.cxf,
                            org.apache.cxf.binding,
                            org.apache.cxf.binding.corba,
                            org.apache.cxf.binding.soap,
                            org.apache.cxf.binding.soap.spring,
                            org.apache.cxf.bus,
                            org.apache.cxf.bus.resource,
                            org.apache.cxf.bus.spring,
                            org.apache.cxf.buslifecycle,
                            org.apache.cxf.catalog,
                            org.apache.cxf.configuration,
                            org.apache.cxf.configuration.spring,
                            org.apache.cxf.endpoint,
                            org.apache.cxf.headers,
                            org.apache.cxf.management,
                            org.apache.cxf.management.jmx,
                            org.apache.cxf.phase,
                            org.apache.cxf.resource,
                            org.apache.cxf.transport,
                            org.apache.cxf.transport.http,
                            org.apache.cxf.transport.http.policy,
                            org.apache.cxf.transport.http_jetty,
                            org.apache.cxf.transport.http_osgi,
                            org.apache.cxf.transport.jms,
                            org.apache.cxf.transports.http,
                            org.apache.cxf.workqueue,
                            org.apache.cxf.ws.rm,
                            org.apache.cxf.ws.rm.policy,
                            org.apache.cxf.ws.policy.builder.jaxb,
                            org.apache.cxf.wsdl,
                            org.apache.cxf.wsdl11,
Kind regards,

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com
twitter : http://twitter.com/cmoulliard
Linkedlin : http://www.linkedin.com/in/charlesmoulliard

Apache Camel Group :
http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm


On Thu, Feb 25, 2010 at 8:12 PM, Christopher Perry <cp...@sapient.com> wrote:
>
> Hey all,
>
> The application we are developing requires that it access an outside webservice using Apache CXF from within an OSGi container (Apache Felix). I've created a quick Java console application that connects to and utilizes the web service successfully, so I know the service is working. However, when I try to accomplish the same task inside the OSGi Felix environment, it is unsuccessful.
>
> I've tried a couple different approaches: (1) use the distributed OSGi CXF bundle to export the CXF dependencies  (I'll have a different group help me with these issues) and (2) provide all dependencies within the client bundle. For the second option, I think I'm running into a Felix Maven plugin issue. I'm specifying all of the dependencies in the Bundle-ClassPath instruction, but the errors I receive make me think that the dependencies aren't actually being exposed to the client code. I'm really just basically trying to take the same code that runs outside of the OSGi environment, package it all up, and run it from within the OSGi container.
>
> I've included the POM file I'm using to build the client bundle. Please let me know if I've missed something or if I have not been clear in what I'm trying to do. Can anyone figure out why the client code wouldn't see the packages listed in the Bundle-ClassPath instruction? Thanks in advance for your help!
>
> --Chris
>
> My POM file:
>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
>
>        <modelVersion>4.0.0</modelVersion>
>
>        <groupId>my.test.ws</groupId>
>        <artifactId>cis</artifactId>
>        <packaging>bundle</packaging>
>        <version>1.0-SNAPSHOT</version>
>        <name>Test Webservice</name>
>        <description>Provides access to the webservice</description>
>
>        <properties>
>                <file.encoding>utf-8</file.encoding>
>        </properties>
>
>        <build>
>                <plugins>
>                        <plugin>
>                                <artifactId>maven-compiler-plugin</artifactId>
>                                <configuration>
>                                        <source>5</source>
>                                        <target>5</target>
>                                </configuration>
>                        </plugin>
>                        <plugin>
>                                <groupId>org.apache.felix</groupId>
>                                <artifactId>maven-scr-plugin</artifactId>
>                                <version>1.2.0</version>
>                                <executions>
>                                        <execution>
>                                                <id>generate-scr-scrdescriptor</id>
>                                                <goals>
>                                                        <goal>scr</goal>
>                                                </goals>
>                                        </execution>
>                                </executions>
>                        </plugin>
>
>                        <plugin>
>                                <groupId>org.apache.felix</groupId>
>                                <artifactId>maven-bundle-plugin</artifactId>
>                                <extensions>true</extensions>
>                                <version>2.0.1</version>
>                                <configuration>
>                                        <instructions>
>                                                <Export-Package>
>                                                        my.test.ws.poc;version=${pom.version},
>                                                        org.apache.ws.commons.schema.*,
>                                                        org.apache.commons.logging.*,
>                                                        schemas.*,
>                                                        com.sun.tools.xjc.addon.apache_cxf.*,
>                                                        org.apache.cxf.*,
>                                                        javax.activation,
>                                                        javax.annotation.*,
>                                                        javax.mail.*,
>                                                        org.apache.geronimo.mail.*,
>                                                        javax.xml.ws.*,
>                                                        javax.servlet.*,
>                                                        javax.xml.stream.*,
>                                                        javax.jws.*,
>                                                        javax.xml.bind.*,
>                                                        com.sun.istack.*,
>                                                        com.sun.xml.*,
>                                                        org.mortbay.*,
>                                                        org.apache.neethi,
>                                                        javax.xml.soap,
>                                                        com.sun.xml.messaging.saaj.*,
>                                                        com.ibm.wsdl.*,
>                                                        javax.wsdl.*,
>                                                        com.ctc.wstx.*,
>                                                        com.codehaus.stax2.*,
>                                                        org.apache.xml.resolver.*
>                                                </Export-Package>
>                                                <Import-Package>
>                                                        !*
>                                                </Import-Package>
>                                                <Include-Resource>
>                                                        {maven-resources}, {maven-dependencies},
>                                                        cis-ws-api-1.5.0-SNAPSHOT.jar=target/classes/cis-ws-api-1.5.0-SNAPSHOT.jar,
>                                                        cis-ws-support-1.5.0-SNAPSHOT.jar=target/classes/cis-ws-support-1.5.0-SNAPSHOT.jar,
>                                                        commons-logging-1.1.1.jar=target/classes/commons-logging-1.1.1.jar,
>                                                        cxf-2.2.5.jar=target/classes/cxf-2.2.5.jar,
>                                                        geronimo-activation_1.1_spec-1.0.2.jar=target/classes/geronimo-activation_1.1_spec-1.0.2.jar,
>                                                        geronimo-annotation_1.0_spec-1.1.1.jar=target/classes/geronimo-annotation_1.0_spec-1.1.1.jar,
>                                                        geronimo-javamail_1.4_spec-1.6.jar=target/classes/geronimo-javamail_1.4_spec-1.6.jar,
>                                                        geronimo-jaxws_2.1_spec-1.0.jar=target/classes/geronimo-jaxws_2.1_spec-1.0.jar,
>                                                        geronimo-servlet_2.5_spec-1.2.jar=target/classes/geronimo-servlet_2.5_spec-1.2.jar,
>                                                        geronimo-stax-api_1.0_spec-1.0.1.jar=target/classes/geronimo-stax-api_1.0_spec-1.0.1.jar,
>                                                        geronimo-ws-metadata_2.0_spec-1.1.2.jar=target/classes/geronimo-ws-metadata_2.0_spec-1.1.2.jar,
>                                                        jaxb-api-2.1.jar=target/classes/jaxb-api-2.1.jar,
>                                                        jaxb-impl-2.1.12.jar=target/classes/jaxb-impl-2.1.12.jar,
>                                                        jaxws-api-2.1.jar=target/classes/jaxws-api-2.1.jar,
>                                                        jetty-6.1.21.jar=target/classes/jetty-6.1.21.jar,
>                                                        jetty-util-6.1.21.jar=target/classes/jetty-util-6.1.21.jar,
>                                                        neethi-2.0.4.jar=target/classes/neethi-2.0.4.jar,
>                                                        saaj-api-1.3.jar=target/classes/saaj-api-1.3.jar,
>                                                        saaj-impl-1.3.2.jar=target/classes/saaj-impl-1.3.2.jar,
>                                                        wsdl4j-1.6.2.jar=target/classes/wsdl4j-1.6.2.jar,
>                                                        wstx-asl-3.2.9.jar=target/classes/wstx-asl-3.2.9.jar,
>                                                        xml-resolver-1.2.jar=target/classes/xml-resolver-1.2.jar,
>                                                        XmlSchema-1.4.5.jar=target/classes/XmlSchema-1.4.5.jar
>                                                </Include-Resource>
>                                                <Bundle-ClassPath>
>                                                        .,
>                                                        cis-ws-api-1.5.0-SNAPSHOT.jar,
>                                                        cis-ws-support-1.5.0-SNAPSHOT.jar,
>                                                        commons-logging-1.1.1.jar,
>                                                        cxf-2.2.5.jar,
>                                                        geronimo-activation_1.1_spec-1.0.2.jar,
>                                                        geronimo-annotation_1.0_spec-1.1.1.jar,
>                                                        geronimo-javamail_1.4_spec-1.6.jar,
>                                                        geronimo-jaxws_2.1_spec-1.0.jar,
>                                                        geronimo-servlet_2.5_spec-1.2.jar,
>                                                        geronimo-stax-api_1.0_spec-1.0.1.jar,
>                                                        geronimo-ws-metadata_2.0_spec-1.1.2.jar,
>                                                        jaxb-api-2.1.jar,
>                                                        jaxb-impl-2.1.12.jar,
>                                                        jaxws-api-2.1.jar,
>                                                        jetty-6.1.21.jar,
>                                                        jetty-util-6.1.21.jar,
>                                                        neethi-2.0.4.jar,
>                                                        saaj-api-1.3.jar,
>                                                        saaj-impl-1.3.2.jar,
>                                                        wsdl4j-1.6.2.jar,
>                                                        wstx-asl-3.2.9.jar,
>                                                        xml-resolver-1.2.jar,
>                                                        XmlSchema-1.4.5.jar
>                                                </Bundle-ClassPath>
>                                        </instructions>
>
>                                </configuration>
>                        </plugin>
>                </plugins>
>                <resources>
>                        <resource>
>                                <directory>src/main/resources</directory>
>                        </resource>
>                        <resource>
>                                <directory>src/main/libs</directory>
>                        </resource>
>                </resources>
>        </build>
>
>        <dependencies>
>                <dependency>
>                        <groupId>javax.servlet.jsp</groupId>
>                        <artifactId>jsp-api</artifactId>
>                        <version>2.1</version>
>                        <scope>compile</scope>
>                </dependency>
>                <dependency>
>                        <groupId>org.slf4j</groupId>
>                        <artifactId>slf4j-simple</artifactId>
>                        <version>1.5.2</version>
>                </dependency>
>                <dependency>
>                        <groupId>cis-ws-api</groupId>
>                        <artifactId>cis-ws-api</artifactId>
>                        <version>1.5.0-SNAPSHOT</version>
>                </dependency>
>        </dependencies>
> </project>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>