web services - ClassNotFoundException: ObjectServiceDescriptor in OSGi -


i trying develop simple java program calls dfs web services , runtime error:

caused by: com.emc.documentum.fs.rt.impl.servicemodel.servicemodelexception: service descriptor class not found: "java.lang.classnotfoundexception: com.emc.documentum.fs.services.core.client.objectservicedescriptor". @ com.emc.documentum.fs.rt.impl.servicemodel.javabeantreefactory.getdescriptor(javabeantreefactory.java:218) @ com.emc.documentum.fs.rt.impl.servicemodel.javabeantreefactory.getmodule(javabeantreefactory.java:41) @ com.emc.documentum.fs.rt.context.servicefactory.makeserviceurl(servicefactory.java:332) @ com.emc.documentum.fs.rt.context.servicefactory.getremoteservice(servicefactory.java:143) @ com.emc.documentum.fs.rt.context.servicefactory.getremoteservice(servicefactory.java:197) @ info.hartmann.dfs.impl.handler.init(handler.java:112) 

i'm using maven build project , install osgi container of adobe cq5. tried same code in usual java application in eclipse , worked.

the strange thing me class objectservicedescriptor is in 1 of .jar libraries include through maven dependencies. jar name emc-dfs-services-remote-1.0.jar. if open .jar generated maven, can see emc-dfs-services-remote-1.0.jar there.

the project compilation goes without problems, during runtime error on line:

iobjectservice objectservice = servicefactory.getremoteservice(com.emc.documentum.fs.services.core.client.iobjectservice.class, servicecontext,  module, host); 

my pom.xml below. see, declare of packages optional in imported-packages. if don't this, bundle can compiled, cannot started. declaring these packages optional problem?

<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>cxf-example-ievgen</groupid>     <artifactid>cxf-example-ievgen</artifactid>     <version>0.0.1-snapshot</version>     <packaging>bundle</packaging>     <name>ievgeng sample bundle</name>       <properties>         <project.build.sourceencoding>utf-8</project.build.sourceencoding>     </properties>      <build>         <plugins>             <plugin>                 <groupid>org.apache.sling</groupid>                 <artifactid>maven-sling-plugin</artifactid>                 <executions>                     <execution>                         <id>install-bundle</id>                         <goals>                             <goal>install</goal>                         </goals>                     </execution>                 </executions>                 <configuration>                     <slingurl>http://192.168.56.101:4502/system/console</slingurl>                     <user>user</user>                     <password>password</password>                 </configuration>             </plugin>              <plugin>                 <groupid>org.apache.felix</groupid>                 <artifactid>maven-scr-plugin</artifactid>                 <version>1.7.2</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>                 <version>2.1.0</version>                 <extensions>true</extensions>                 <executions>                     <execution>                         <id>wrap-my-dependency</id>                         <goals>                             <goal>wrap</goal>                         </goals>                         <configuration>                             <wrapimportpackage>;</wrapimportpackage>                         </configuration>                     </execution>                 </executions>                 <configuration>                     <instructions>                         <export-package>info.hartmann.dfs.api</export-package>                         <private-package>info.hartmann.dfs.impl                          </private-package>                         <!-- bundle supplied resource prefixes -->                         <include-resource>{maven-resources}</include-resource>                          <!-- not inline jars, include jar files -->                         <embed-dependency>*;scope=compile|runtime;inline=false</embed-dependency>                         <embed-transitive>true</embed-transitive>                          <!-- use _exportcontents instead of export-package avoid conflict embed-dependency inline=true -->                         <!-- <_exportcontents> -->                         <!-- org.apache.cxf.*;version=${project.version} -->                         <!-- </_exportcontents> -->                          <!-- declare optional dependencies -->                         <import-package>                          com.documentum.fc.client.search;resolution:=optional,                          com.documentum.fc.client.impl.session;resolution:=optional,                          com.documentum.fc.common;resolution:=optional,                          com.documentum.fc.client;resolution:=optional,                          com.documentum.com;resolution:=optional,                          com.documentum.ci;resolution:=optional,                          com.documentum.ucf.*;resolution:=optional,                          com.documentum.operations.*;resolution:=optional,                          com.documentum.registry;resolution:=optional,                          com.documentum.xerces_2_8_0.xerces.impl.dv.util;resolution:=optional,                          org.slf4j.*;resolution:=optional,                          org.osgi.*;resolution:=optional,                          com.emc.documentum.kerberos.*;resolution:=optional,                          javax.xml.registry.*;resolution:=optional,                          jp.co.swiftinc.relax.*;resolution:=optional,                          junit.framework;resolution:=optional,                          org.apache.xerces.*;resolution:=optional,                          org.apache.xml.*;resolution:=optional,                          sun.io;resolution:=optional,                          sun.misc;resolution:=optional,                          sun.nio.cs;resolution:=optional,                          sun.security.action;resolution:=optional,                          com.sun.tools.javadoc;resolution:=optional,                          org.apache.regexp;resolution:=optional,                          org.apache.tools.*;resolution:=optional,                          org.apache.xerces.*;resolution:=optional,                          org.apache.xml.*;resolution:=optional,                          org.aspectj.bea.jvm;resolution:=optional,                          org.eclipse.jface.text;resolution:=optional,                          org.eclipse.osgi.framework.*;resolution:=optional,                          org.eclipse.osgi.internal.profile;resolution:=optional,                          org.eclipse.osgi.service.*;resolution:=optional,                          org.eclipse.osgi.util;resolution:=optional,                          org.eclipse.update.configurator;resolution:=optional,                           *                         </import-package>                     </instructions>                 </configuration>             </plugin>              </plugins>         <pluginmanagement>             <plugins>                 <!--this plugin's configuration used store eclipse m2e settings only. has no influence on maven build itself.-->                 <plugin>                     <groupid>org.eclipse.m2e</groupid>                     <artifactid>lifecycle-mapping</artifactid>                     <version>1.0.0</version>                     <configuration>                         <lifecyclemappingmetadata>                             <pluginexecutions>                                 <pluginexecution>                                     <pluginexecutionfilter>                                         <groupid> org.apache.felix                                         </groupid>                                         <artifactid> maven-scr-plugin                                         </artifactid>                                         <versionrange> [1.7.2,)                                         </versionrange>                                         <goals>                                             <goal>scr</goal>                                         </goals>                                     </pluginexecutionfilter>                                     <action>                                         <ignore/>                                     </action>                                 </pluginexecution>                              </pluginexecutions>                         </lifecyclemappingmetadata>                     </configuration>                 </plugin>             </plugins>         </pluginmanagement>      </build>        <dependencies>        <dependency>             <groupid>activation</groupid>             <artifactid>activation</artifactid>             <!-- version 1.1 didnt how resolve error -->             <version>1.0</version>             <scope>runtime</scope>               </dependency>         <dependency>             <groupid>aspectj</groupid>             <artifactid>aspectjrt</artifactid>             <version>1.5.2a</version>             <scope>compile</scope>           </dependency>         <dependency>             <groupid>com.emc</groupid>             <artifactid>emc-collaboration</artifactid>             <version>1.0</version>             <scope>compile</scope>         </dependency>         <dependency>             <groupid>commons-io</groupid>             <artifactid>commons-io</artifactid>             <version>1.2</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>commons-lang</groupid>             <artifactid>commons-lang</artifactid>             <version>2.4</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>com.emc</groupid>             <artifactid>emc-admin-services-remote</artifactid>             <version>1.0</version>             <scope>compile</scope>             <!--<systempath>${project.basedir}/src/main/resources/emc-admin-services-remote.jar</systempath>-->         </dependency>         <dependency>             <groupid>com.emc</groupid>             <artifactid>emc-bpm-services-remote</artifactid>             <version>1.0</version>             <scope>compile</scope>         </dependency>         <dependency>             <groupid>com.emc</groupid>             <artifactid>emc-ci-services-remote</artifactid>             <version>1.0</version>             <scope>compile</scope>         </dependency>         <dependency>             <groupid>com.emc</groupid>             <artifactid>emc-dfs-rt-remote</artifactid>             <version>1.0</version>             <scope>compile</scope>         </dependency>         <dependency>             <groupid>com.emc</groupid>             <artifactid>emc-dfs-services-remote</artifactid>             <version>1.0</version>             <scope>compile</scope>         </dependency>         <dependency>             <groupid>com.emc</groupid>             <artifactid>emc-search-services-remote</artifactid>             <version>1.0</version>             <scope>compile</scope>         </dependency>         <dependency>             <groupid>com.sun.xml.fastinfoset</groupid>             <artifactid>fastinfoset</artifactid>             <version>1.2</version>         </dependency>               <dependency>             <groupid>com.emc</groupid>             <artifactid>http</artifactid>             <version>1.0</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>com.sun.xml.bind</groupid>             <artifactid>jaxb1-impl</artifactid>             <version>2.1.4</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>javax.xml</groupid>             <artifactid>jaxb-api</artifactid>             <version>2.0</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>com.sun.xml.bind</groupid>             <artifactid>jaxb-impl</artifactid>             <version>2.1.11</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>javax.xml</groupid>             <artifactid>jaxws-api</artifactid>             <version>2.1</version>         </dependency>         <dependency>             <groupid>com.sun.xml.ws</groupid>             <artifactid>jaxws-rt</artifactid>             <version>2.1.7</version>         </dependency>                 <dependency>             <groupid>javax.xml.bind</groupid>             <artifactid>jsr173_api</artifactid>             <version>1.0</version>         </dependency>         <dependency>             <groupid>javax.jws</groupid>             <artifactid>jsr181-api</artifactid>             <version>1.0</version>         </dependency>                 <dependency>             <groupid>javax.annotation</groupid>             <artifactid>jsr250-api</artifactid>             <version>1.0</version>         </dependency>         <dependency>             <groupid>org.jvnet</groupid>             <artifactid>mimepull</artifactid>             <version>1.4</version>         </dependency>         <dependency>             <groupid>com.sun.org.apache.xml.internal</groupid>             <artifactid>resolver</artifactid>             <version>20050927</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>javax.xml</groupid>             <artifactid>saaj-api</artifactid>             <version>1.3</version>         </dependency>                  <dependency>             <groupid>com.sun.xml.messaging.saaj</groupid>             <artifactid>saaj-impl</artifactid>             <version>1.3.3</version>         </dependency>         <dependency>             <groupid>javax.servlet</groupid>             <artifactid>servlet-api</artifactid>             <version>1.0</version>         </dependency>         <dependency>             <groupid>com.sun.xml.stream</groupid>             <artifactid>sjsxp</artifactid>             <version>1.0</version>         </dependency>         <dependency>             <groupid>org.jvnet.staxex</groupid>             <artifactid>stax-ex</artifactid>             <version>1.0</version>             <scope>runtime</scope>             <!--<systempath>${project.basedir}/src/main/resources/stax-ex.jar</systempath>-->         </dependency>         <dependency>             <groupid>com.sun.xml.stream.buffer</groupid>             <artifactid>streambuffer</artifactid>             <version>0.8</version>         </dependency>         <dependency>             <groupid>xerces</groupid>             <artifactid>xercesimpl</artifactid>             <version>2.5.0</version>         </dependency>          <dependency>             <groupid>org.apache.felix</groupid>             <artifactid>org.apache.felix.scr.annotations</artifactid>             <version>1.6.0</version>             <scope>provided</scope>         </dependency>         <dependency>             <groupid>org.osgi</groupid>             <artifactid>org.osgi.core</artifactid>             <version>4.0.0</version>             <scope>provided</scope>         </dependency>         <dependency>             <groupid>org.apache.sling</groupid>             <artifactid>org.apache.sling.commons.osgi</artifactid>             <version>2.0.2-incubator</version>             <type>bundle</type>             <scope>provided</scope>         </dependency>         <dependency>             <groupid>org.apache.felix</groupid>             <artifactid>org.osgi.compendium</artifactid>             <version>1.4.0</version>             <scope>provided</scope>         </dependency>         <dependency>             <groupid>org.apache.sling</groupid>             <artifactid>org.apache.sling.commons.log</artifactid>             <version>2.0.6</version>             <scope>provided</scope>         </dependency>     </dependencies> </project> 

bundle classpath after installing osgi console:

    bundle classpath    ., sjsxp-1.0.jar, emc-collaboration-1.0.jar, fastinfoset-1.2.jar,  aspectjrt-1.5.2a.jar,stax-api-1.0.jar,jsr250-api-1.0.jar,activation-1.0.jar,  resolver-20050927.jar,streambuffer-0.8.jar,jsr181-api-1.0.jar, jsr173_api-1.0.jar,jaxb1-impl-2.1.4.jar, emc-dfs-rt-remote-1.0.jar, commons-lang-2.4.jar,commons-io-1.2.jar,stax-ex-1.0.jar,saaj-impl-1.3.3.jar,  jaxws-rt-2.1.7.jar,xercesimpl-2.5.0.jar,jaxb-api-2.0.jar,mimepull-1.4.jar,  emc-bpm-services-remote-1.0.jar,emc-search-services-remote-1.0.jar,activation-1.1.jar,http-1.0.jar,  jaxb-impl-2.1.11.jar,jaxws-api-2.1.jar,emc-ci-services-remote-1.0.jar, emc-admin-services-remote-1.0.jar, emc-dfs-services-remote-1.0.jar,servlet-api-1.0.jar,saaj-api-1.3.jar 

my java code:

public void init() throws exception {   contextfactory contextfactory = contextfactory.getinstance();   servicecontext = contextfactory.newcontext();   repositoryidentity repositoryidentity = new repositoryidentity();    repositoryidentity.setrepositoryname(repository);   repositoryidentity.setusername(user);   repositoryidentity.setpassword(pass);   servicecontext.addidentity(repositoryidentity);    servicefactory servicefactory = servicefactory.getinstance(); //error thrown here:   objectservice = servicefactory.getremoteservice(iobjectservice.class, servicecontext,  module, host);   queryservice = servicefactory.getremoteservice(iqueryservice.class, servicecontext,  module, host);   } 

i've seen similar problem here: https://community.emc.com/thread/82798 solution provided there didn't me. tried

  • changing jre version higher 1.5
  • making sure make sure creating class of type com.emc.documentum.fs.services.core.client.iobjectservice (and not com.emc.documentum.fs.services.core.impl.iobjectservice).
  • trying more parameterized version of getremoteservice remove ambiguties call.
  • and lots of other things, installing external jars in separate bundle , importing them.

it looks maven dependency problem, can't figure out, included .jars in project used in eclipse project, should work same, shouldn't it?

i appreciate help.

edit: tried changing export-packages to: info.hartmann.dfs.api, com.emc.documentum.* in other words, tried exporting documentum packages. above listed error dissapeared, got new one:

caused by: com.emc.documentum.fs.rt.impl.servicemodel.servicemodelexception: service descriptor file not found: "services-core-service-model.xml". @ com.emc.documentum.fs.rt.impl.servicemodel.javabeantreefactory.getmodulebyname(javabeantreefactory.java:65) @ com.emc.documentum.fs.rt.impl.servicemodel.javabeantreefactory.getmodule(javabeantreefactory.java:42) @ com.emc.documentum.fs.rt.context.servicefactory.makeserviceurl(servicefactory.java:332) @ com.emc.documentum.fs.rt.context.servicefactory.getremoteservice(servicefactory.java:143) @ com.emc.documentum.fs.rt.context.servicefactory.getremoteservice(servicefactory.java:197) @ info.hartmann.dfs.impl.handler.init(handler.java:112) 

unfortunatelly, don't know if moves me 1 step further or 1 step behind.

it looks user bundle missing wiring com.emc.documentum.fs.services.core.client.objectservicedescriptor. being in classpath not enough

confirm javabeantreefactory bundle imports package com.emc.documentum.fs.services.core.client


Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -