Hello friends, I deployed the cxf-osgi example with success and after that I started to try to reproduce the example on my own. I compared my project with the example one and everything looks okay but I see problems when I invoke my Webservice wsdl. The response I get from my Service WSDL is this: *
<wsdl:definitions xmlns:ns1="http://javafirst.ws.cxf.mindrefactoring.com/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://impl.javafirst.ws.cxf.mindrefactoring.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CXFGreetingImplementationService" targetNamespace="http://impl.javafirst.ws.cxf.mindrefactoring.com/"> <wsdl:import location="http://localhost:8181/cxf/JavaFirstGreeting?wsdl=CXFGreeting.wsdl" namespace="http://javafirst.ws.cxf.mindrefactoring.com/"></wsdl:import> <wsdl:binding name="CXFGreetingImplementationServiceSoapBinding" type="ns1:CXFGreeting"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="sendGreetings"> <soap:operation soapAction="" style="document"/> <wsdl:input name="sendGreetings"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="sendGreetingsResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="CXFGreetingImplementationService"> <wsdl:port binding="tns:CXFGreetingImplementationServiceSoapBinding" name="CXFGreetingImplementationPort"> <soap:address location="http://localhost:8181/cxf/JavaFirstGreeting"/> </wsdl:port> </wsdl:service> </wsdl:definitions> * My class and interface are very similar to the cxf-osgi example. This is the class: * package com.mindrefactoring.cxf.ws.javafirst.impl; import javax.jws.WebService; package com.mindrefactoring.cxf.ws.javafirst; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; @WebService public interface CXFGreeting { @WebMethod @WebResult(name="response") public String sendGreetings(@WebParam(name="greetingName") String name); } * and this is the interface: * import com.mindrefactoring.cxf.ws.javafirst.CXFGreeting; @WebService(endpointInterface = "com.mindrefactoring.cxf.ws.javafirst.CXFGreeting") public class CXFGreetingImplementation implements CXFGreeting{ public String sendGreetings(String name) { return "Greetings from CXF First Java: Cap'n " + name; } } * This is my beans.xml: * <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <jaxws:endpoint id="cxfGreeting" implementor="com.mindrefactoring.cxf.ws.javafirst.impl.CXFGreetingImplementation" address="/JavaFirstGreeting"/> </beans>* Not sure if I am missing some dependencies to build the project (couldn't find out what is missing inspecting cfx-osgi pom.xml files): * <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mindrefactoring.cxf</groupId> <artifactId>cxf-javafirst-ws</artifactId> <version>0.0.1</version> <packaging>bundle</packaging> <name>MindRefactoring :: Examples :: JavaFirst CXF OSGi </name> <description>JavaFirst CXF example using OSGi instead of JBI</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.osgi.core</artifactId> <version>1.4.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>org.apache.servicemix</groupId> <artifactId>servicemix-utils</artifactId> <version>1.5.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>2.2.0</version> <extensions>true</extensions> <configuration> <instructions> <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> <Bundle-Description>${project.description}</Bundle-Description> <_include>src/main/resources/META-INF/spring/beans.xml</_include> <Import-Package> javax.jws;version="2.0", javax.wsdl, javax.xml.namespace, org.apache.servicemix.util;version="1.5", org.springframework.beans.factory.config </Import-Package> <Private-Package>com.mindrefactoring.cxf.ws.javafirst,com.mindrefactoring.cxf.ws.javafirst.impl</Private-Package> </instructions> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>build-for-felix</id> <dependencies> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.main</artifactId> <version>3.0.7</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>compile</id> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <pathconvert property="plugins.jars" pathsep="${path.separator}"> <path refid="maven.runtime.classpath"/> <map from="${project.build.directory}${file.separator}classes" to=""/> </pathconvert> <pathconvert pathsep=" " property="bundles"> <path path="${plugins.jars}"/> <mapper> <chainedmapper> <flattenmapper/> <globmapper from="*" to="file:modules/*" casesensitive="no"/> </chainedmapper> </mapper> </pathconvert> <propertyfile file="${project.build.directory}/config.properties"> <entry key="felix.auto.start" value="${bundles} file:modules/${project.build.finalName}.jar"/> <entry key="org.osgi.framework.bootdelegation" value="*"/> </propertyfile> <copy file="${maven.dependency.org.apache.felix.org.apache.felix.main.jar.path}" tofile="${project.build.directory}/felix.jar"/> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.2</version> <executions> <execution> <id>create-executable-jar</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptors> <descriptor>${basedir}/src/main/assembly/felix.xml</descriptor> </descriptors> <finalName>${project.build.finalName}</finalName> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>run-on-felix</id> <dependencies> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.main</artifactId> <version>3.0.7</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.6</version> <configuration> <target> <property name="vm.args" value=""/> <pathconvert property="plugins.jars" pathsep="${path.separator}"> <path refid="maven.runtime.classpath"/> <map from="${project.build.directory}${file.separator}classes" to=""/> </pathconvert> <makeurl property="urls" separator=" "> <path path="${plugins.jars}"/> <path location="${project.build.directory}/${project.build.finalName}.jar"/> </makeurl> <propertyfile file="${project.build.directory}/run.properties"> <entry key="felix.auto.start" value="${urls}"/> <entry key="felix.auto.deploy.action" value="uninstall,install,update,start"/> <entry key="org.osgi.framework.storage" value="${project.build.directory}${file.separator}felix-cache"/> <entry key="org.osgi.framework.bootdelegation" value="*"/> </propertyfile> <makeurl property="run.properties.url" file="${project.build.directory}/run.properties"/> <java fork="true" jar="${maven.dependency.org.apache.felix.org.apache.felix.main.jar.path}"> <sysproperty key="felix.config.properties" value="${run.properties.url}"/> <jvmarg line="${vm.args}"/> </java> </target> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project> * I tried to find a tutorial or guide in google, CXF and ServiceMix page without success. Do you guys have any ideas about what am I missing? Thanks and my best regards. VinÃcius. -- View this message in context: http://servicemix.396122.n5.nabble.com/ServiceMix-CXF-SOAP-Webservice-problem-copy-of-cfx-osgi-tp5706032.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
