Thursday, December 13, 2012

maven: HOW external resource extract from artefactory.jar

I want to extract some resource form artefactory to used in other proyect, we need 2 plugins maven-dependency-plugin to extract and maven-clean-plugin to clean proyect. call first plugin execute the goal dependency:unpack.

   
    org.apache.maven.plugins
    maven-dependency-plugin
    2.6
    
     
      
       ${project.groupId}
       com.company.artefactory
       ${project.version}
       jar
       true
       directoryInsideJar/**/*.*
       src/main/resources
      
     
     
    
   
   
    maven-clean-plugin
    2.5
    
     
      
       src/main/resources/directoryInsideJar/
      
     
    
   

Thursday, November 29, 2012

Repository rejected artifact "due to its snapshot/release handling policy."

I'm a newbie in proxy maven server management. I have a problem with download own artefactory from my maven server. To solver this problem put this in your pom.xml [1]http://forums.jfrog.org/Repository-rejected-artifact-quot-due-to-its-snapshot-release-handling-policy-quot-td6513457.html

  
   ubuntu-releases
   ubuntu-releases
   http://serverMaven:8080/artifactory/libs-release-local
   
    interval:1
   
  
  
   ubuntu-snapshots
   ubuntu-snapshots
   http://serverMaven:8080/artifactory/libs-snapshot-local
   
    false
   
   
    true
    interval:1
   
  
 

GWT proyect in eclipse and maven

To create a GWT proyect in eclipse or another IDE use console the Archetype execute this command Use it as you would any other Maven archetype to create a template/stub project. launch this command y your console cmd> or terminal> mvn archetype:generate \ -DarchetypeGroupId=org.codehaus.mojo \ -DarchetypeArtifactId=gwt-maven-plugin \ -DarchetypeVersion=2.5.0 The generated project can then be imported as "existing project" into Eclipse, and run command-line maven to launch GWT 'mvn gwt:run' with plugin M2E. [1] But M2E has a problem: M2E problem : Plugin execution not covered by lifecycle configuration solver. Ref in [2] put this in your pom.

            
                
                    org.eclipse.m2e
                    lifecycle-mapping
                    1.0.0
                    
                        
                            
                                
                                    
                                        org.codehaus.mojo
                                        gwt-maven-plugin
                                        [2.4.0,)
                                        
                                            resources
                                            compile
                                            i18n
                                           generateAsync
                                        
                                    
                                    
                                        
                                    
                                
                                
                                    
                                        org.apache.maven.plugins
                                        maven-war-plugin
                                        [2.1.1,)
                                        
                                            exploded
                                        
                                    
                                    
                                        
                                    
                                

                            
                        
                    
                
            
        
[1]http://mojo.codehaus.org/gwt-maven-plugin/user-guide/archetype.html [2]http://stackoverflow.com/questions/8523737/getting-error-plugin-execution-not-covered-by-lifecycle-configuration-with-gwt

Tuesday, October 30, 2012

Cassandra keys in Unix/linux server and client in java windows

In this link talk about to count in rows in cassandra. But there a little problem when Unix database and client java Windows. The serialize UUID dont work.
byte[] start = null;
byte[] lastEnd = null;
int count = 0;
while (true) {
RangeSlicesQuery rsq = HFactory
 .createRangeSlicesQuery(keyspaceOperator,
       me.prettyprint.cassandra.serializers.BytesArraySerializer.get(), StringSerializer.get(),
 StringSerializer.get());
 rsq.setColumnFamily("columnFamily");
 rsq.setColumnNames("uuid","idUser","timestamp","urlPageVisited","processed");
 rsq.setKeys(start, null);
 rsq.setReturnKeysOnly(); // Return column names instead of values
 rsq.setRowCount(3); // Arbitrary default
 OrderedRows rows = rsq.execute().get();
 int rowCount = rows.getCount();

if (rowCount == 0) {
 break;
} else {
 start = rows.peekLast().getKey();

 if (lastEnd != null && Arrays.equals(start,lastEnd) ) { // modify this line
  break;
 }
 count += rowCount - 1;
 lastEnd = start;
}
  if (count > 0) {
   count += 1;
  }
  System.out.print("count de la tabla " + count);
  return count;
 }
change the UUID identify. Put byte[]

Thursday, October 25, 2012

Kundera not implement getCriteriaBuilder


I have cassandra intalled a computer.... I try create a template to make dinamics query with JPA. This is implemente.



    public <E extends Object> List<E> getAll(E e){
   
          CriteriaBuilder cb = em.getCriteriaBuilder();
         
          CriteriaQuery<E> q = cb.createQuery((Class<E>) e);
          Root<E> c = q.from((Class<E>) e);
          return (List<E>) q.select(c);
    }

But when I executed this progran throw a exception

NotImplementedException: TODO
    at com.impetus.kundera.persistence.EntityManagerFactoryImpl.getCriteriaBuilder(EntityManagerFactoryImpl.java:199)
    at com.impetus.kundera.persistence.EntityManagerImpl.getCriteriaBuilder(EntityManagerImpl.java:682)

Friday, October 19, 2012

cant find parent project

I have a maven project with module and parent proyect. If you launch a test module with command mvn  test this work, but you add a variable inside module that reference to parent proyect. ${project.version} and now launch mvn test, this fail. You must install project parent in your local repository to launch module.

Wednesday, October 17, 2012

start reasoner in virtuoso


load Model from virtuoso

        VirtGraph set = new VirtGraph(GraphIri, "jdbc:virtuoso://" + uriServer + ":"
                + portJDBC + "", db_user, db_pass);
        System.out.println("Start inference!");
        Reasoner reasoner = PelletReasonerFactory.theInstance().create();
        reasoner = reasoner.bindSchema(set);
        InfModel infModel = ModelFactory.createInfModel(reasoner, modelVirtuoso);
        System.out.println("Stop inference!");

        Model m2 = vd.getNamedModel(GraphIri);


save inference in virtuoso

       
         System.out.print("instancias "+m2.size());
         if(m2.containsAll(infModel)){ System.out.print("no hay inferencia ");
         }else{ System.out.print("hay inferencia "); }
         if(m2.containsAny(infModel)){ System.out.print("es correcto ");
         }else{ System.out.print("es incorrecto "); }
        
        Model inferido = infModel.difference(m2);
        m2.add(inferido);

Monday, October 15, 2012

install virtuoso in windows


Download database virtuoso in http://sourceforge.net/projects/virtuoso/files/latest/download
unzip in virtuoso-opensource and add in variable path virtuoso-opensource\lib

copy  database/virtuoso.ini  as  demo.ini  in virtuoso-opensource
remove in file demo.ini  all character ../

open cmd admin mode
http://networkadminkb.com/KB/a47/how-to-allow-users-to-enumerate-service-remotely.aspx
unable to open sthe service control manager

execute in virtuoso-opensource   ./bin/virtuoso-t.exe -c demo -I Demo -S create
the service has been register

start service openlink virtuoso server [Demo]

open http://localhost:8890/




load OWL file model in virtuoso

If you try save a model from OWL file in Virtuoso with class

VirtuosoUpdateFactory  or VirtuosoQueryExecutionFactory this fail.

http://answers.semanticweb.com/questions/10520/virtrdfinsert-examples
http://answers.semanticweb.com/questions/12513/graph-in-virtuoso

To load in virtuoso used VirtDataSource

    VirtDataSource vd = new VirtDataSource("jdbc:virtuoso://localhost:1111", "dba", "dba");

        ModelMaker maker = ModelFactory.createMemModelMaker();   
        Model m = maker.createModel(BASE, false);
               
        //load owl file in model M
        FileInputStream  fis = new FileInputStream (getClass().getClassLoader().getResource("file.owl").getFile());
        m.read(fis ,null);
        fis.close();

       
        //TODO: if exist BASE in virtuoso FAIL
        //to erase datas conductor SQL> RDF_GLOBAL_RESET ();
        Model m2 =vd.getNamedModel(BASE);
        if(m2 == null)
            vd.addNamedModel(BASE, m);

Wednesday, October 3, 2012

Neo4j + Sesame + OwlApi + Pellet


 To create inference in pellet and export this inferece to Neo4j with sail connector

function OpenSail 

        Map<String, String> config = new HashMap<String, String>();
        config.put("allow_store_upgrade", "true");
         graph = new MyNeo4jGraph("data/graph.db", 100000, config);
        graph.setCheckElementsInTransaction(true);
        sail = new GraphSail<Neo4jGraph>(graph);

        // sail.
        sail.initialize();

        SailRepository repository = new SailRepository(sail);
        connection = repository.getConnection();
        connection.setAutoCommit(true);

function import ontology
  
     connection.add(getClass().getClassLoader().getResource("Prueba.owl"),
                "etiqueta", RDFFormat.RDFXML);       
        System.out.println("Import stopped ...");
        connection.commit();

function Sparql

TupleQuery durationquery = connection
                .prepareTupleQuery(
                        QueryLanguage.SPARQL,
                        "PREFIX : <http://www.semanticweb.org/ontologies/2012/8/Prueba.owl#> "
                                + "PREFIX Prueba: <http://www.semanticweb.org/ontologies/2012/8/Prueba.owl#> "
                                + "PREFIX owl: <http://www.w3.org/2002/07/owl#>  "
                                + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "
                                + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>  "
                                + "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>  "
                                + "SELECT ?person " + "WHERE { " +
                                 " Prueba:Jean  Prueba:hasSibling ?person  . "+

                                "}");
        TupleQueryResult result = durationquery.evaluate();
        while (result.hasNext()) {
            BindingSet binding = result.next();
            System.out.println(binding.getBinding("person").getValue());
            Assert.assertEquals("Assert ", binding.getBinding("person").getValue().toString(),
            "http://www.semanticweb.org/ontologies/2012/8/Prueba.owl#Gemma");
        }



reasoner


         //prepare ontology and reasoner
        OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
        //OWLOntology ontology = manager.loadOntologyFromOntologyDocument(IRI.create(BASE_URL));
        OWLOntology ontology = manager.loadOntologyFromOntologyDocument(
                IRI.create(getClass().getClassLoader().getResource("Prueba.owl")));
        System.out.println(" Load ontology" );

        OWLReasonerFactory reasonerFactory = PelletReasonerFactory.getInstance();
        System.out.println(" Load reasoner" );
        OWLReasoner reasoner = reasonerFactory.createReasoner(ontology, new SimpleConfiguration());

        OWLDataFactory factory = manager.getOWLDataFactory();
        PrefixOWLOntologyFormat pm = manager.getOntologyFormat(ontology).asPrefixOWLOntologyFormat();

        pm.setDefaultPrefix(BASE_URL + "#");
        //get class and its individuals
        OWLClass personClass = factory.getOWLClass(":Person", pm);
        pm.setDefaultPrefix("http://www.semanticweb.org/ontologies/2012/8/Prueba.owl#");
       
        OWLObjectProperty hasSibling = factory.getOWLObjectProperty(":hasSibling", pm);

//export pellet inference to sesame sail neo4j



 for (OWLNamedIndividual person : reasoner.getInstances(personClass, false).getFlattened()) {
            System.out.println("person : " + renderer.render(person));
           
            for (Node<OWLNamedIndividual> siblings : reasoner.getObjectPropertyValues(person, hasSibling)) {
                for (OWLNamedIndividual sibling : siblings.getEntities()) {
                    System.out.println("Person has sibling: " + sibling.getIRI());
                   
                    Map<OWLObjectPropertyExpression, Set<OWLIndividual>> assertedValues =  person.getObjectPropertyValues(ontology);
                    for (OWLObjectProperty objProp : ontology.getObjectPropertiesInSignature(true)) {
                        for (OWLNamedIndividual ind : reasoner.getObjectPropertyValues(person, objProp).getFlattened()) {
                            if (assertedValues.get(objProp)==null ) {//inference
                                System.out.println("inferred object property for :"
                                        + renderer.render(objProp) + " -> " + renderer.render(ind));

                           
                                ValueFactory mValueFactory = connection.getValueFactory();
                                org.openrdf.model.URI predicate = mValueFactory.createURI(hasSibling.getIRI().toURI().toString());
                                Resource subject =  mValueFactory.createURI(person.getIRI().toURI().toString()); // mValueFactory.createURI(subj.getIRI().toURI().toString());
                                Resource resource =  mValueFactory.createBNode();
                                Value object = null;
                               
                                object =  mValueFactory.createURI(ind.getIRI().toURI().toString());
                               
                                try {
                                    System.out.println("Triplet --"+subject+"--"+predicate+"--"+object+"--"+resource+"--");
                                    connection.add(subject, predicate, object,resource);
                                } catch (RepositoryException e) {
                                    System.out.println(e);
                                }
                                                               
                            }else{//asserted
                                boolean asserted = assertedValues.get(objProp).contains(ind);
                                System.out.println((asserted ? "asserted" : "inferred") + " object property for Martin: "
                                    + renderer.render(objProp) + " -> " + renderer.render(ind));
                            }
                        }
                    }
                }
            }
        }
        Assert.assertTrue(reasoner.isConsistent());

Monday, October 1, 2012

java.lang.UnsatisfiedLinkError:

I have a next error with maven and eclipse

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project database: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-surefire-plugin:2.10:test: java.lang.UnsatisfiedLinkError: java.io.WinNTFileSystem.createFileExclusively(Ljava/lang/String;Z)Z

Change version SE java to JDK or other version java. This fix the problem.




Friday, September 21, 2012

NoClassDefFoundError: org/apache/lucene/util/Version






I make a project with blueprint-neo4j-graph and pellet , but pellet use lucene-core  2.3.1 and blueprint-neo4j-graph use lucene-core 3.5.0

I have a new error  in neo4j to load lucene version

Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/util/Version
    at org.neo4j.index.impl.lucene.LuceneDataSource.<clinit>(LuceneDataSource.java:110)
    at org.neo4j.index.lucene.LuceneIndexProvider.load(LuceneIndexProvider.java:70)
    at org.neo4j.kernel.InternalAbstractGraphDatabase$DefaultKernelExtensionLoader.loadIndexImplementations(InternalAbstractGraphDatabase.java:1191)
    at org.neo4j.kernel.InternalAbstractGraphDatabase$DefaultKernelExtensionLoader.init(InternalAbstractGraphDatabase.java:1163)
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:382)
    ... 39 more
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.util.Version
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 44 more



I have pellet dependence
    <dependency>
            <groupId>com.owldl</groupId>
            <artifactId>pellet</artifactId>
            <version>2.3.0</version>
        </dependency>
         <dependency>
            <groupId>com.tinkerpop.blueprints</groupId>
            <artifactId>blueprints-neo4j-graph</artifactId>
            <version>2.1.0</version>
        </dependency>

With plugin m2e resolve depencence add this code in pom.xml project 


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-core</artifactId>
                <version>3.5.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

Thursday, September 6, 2012

Install cassandra database

To install cassandra database distribution http://www.datastax.com/download/community

Dont work in 32 bit architecture. java Heap space  error
To see web service
http://<publicIP>:8888/opscenter/

Ubuntu 12, 64 bit

Before
**** remove version of java openjdk and install java oracle
sudo apt-ger purge openjdk*
java 7
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get install oracle-java7-installer

****openssl python
sudo apt-get install libssl0.9.8
sudo apt-get install sysstat
sudo apt-get install python-cql

****Install cassandra, DataStax Community distribution of Cassandra. Read more in http://www.datastax.com/docs/1.1/install/install_deb
sudo apt-get install dsc1.1

****install web service. Read more in http://www.datastax.com/docs/opscenter/install/install_deb
sudo apt-get install opscenter-free

***web service configure
sudo vi /etc/opscenter/opscenterd.conf
***add in file
[cassandra]
seed_hosts=publicIP
[logging]
level=INFO
[jmx]
port =7199


***configure cassadra
sudo vi /etc/cassandra/cassandra.yaml
***change IP and localhost for publiIP

***start cassandra
sudo service cassandra start

***node cassandra
nodetool ring -h publicIP

**start web
sudo service opscenterd start

*** check web service
wget http://publicIP:8888/

***to see log
/var/log/opscenter/opscenterd.log


*** to start client cassandra
cassandra-cli -h publicIP -p 9160

***to see  log of  cassandra
/var/log/cassandra/output.log
/var/log/cassandra/system.log


***  delete database cassandra if you want , stop service before
sudo bash -c '/var/lib/cassandra/data/system/*'

Monday, July 23, 2012

Access denied to http://repository.jboss.org


I have an error,

Failure to transfer javax.servlet:servlet-api/maven-metadata.xml from http://repository.jboss.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of jboss-repo has elapsed or updates are forced. Original error: Could not transfer metadata javax.servlet:servlet-api/maven-metadata.xml from/to jboss-repo (http://repository.jboss.org/maven2): Access denied to http://repository.jboss.org/maven2/javax/servlet/servlet-api/maven-metadata.xml. Error code 403, Forbidden

I find this entry
http://stackoverflow.com/questions/1979957/maven-dependency-for-servlet-3-0-api

The proyect maven org.bricked socialauth-spring  have this entry in pom.xml
      <repository>
            <id>jboss-repo</id>
            <url>http://repository.jboss.org/maven2</url>
      </repository>

but I cant solver.

to solver this error

Make this in settings.xml we should add something like:

<mirrors>
    <mirror>
    <id>my-internal-repository</id>
    <name>Mirror of jboss-repo /</name>
    <url>http://repo2.maven.org/maven2/</url>
    <mirrorOf>jboss-repo</mirrorOf>
    </mirror>

</mirrors>



Wednesday, July 18, 2012

Eclipse+ Maven

Control de la configuración de los proyectos es una de las prácticas de CMMI. Y ¿Que significa esto? Pues saber que librerias usas en tu proyecto y como debes instalar estas librerias y configuara todo para compilarlo correctamente. ¿y como configuramos esto? Pues con un subversion + ant + eclipse , te bajas las librerias de los repositorios vas actualizado los script de ant. Pero ¿No hay algo mas fácil que andar actualizardo los script de ant y bajando la libreria adecuada del repositorio de java que sea? Pues sí, la solucion a esto es maven.

Instalamos maven. y después de meses intentando usarlo ... he decidido pasarme al plugin de maven para  eclipse.
Tambien usa la configuración de maven, en maven hay un fichero de configuracion llamado settings.xml en el cual se debe configurar para pasar el proxy empresarial. Tambien debe añadir dos repositorios uno donde estan las libreiras y otro donde estan los plugin de maven.
que es esto de plugins de maven. Son un conjunto de extensiones de maven para hacer mas tareas.

Para intergrar maven en eclipse hay que instalar m2e se añade el pluging al eclipse J2EE en el siguiente URL
http://download.eclipse.org/technology/m2e/releases

Una vez instalado simplemente tiene que crear un proyecto maven, en este proyecto configurar tus repositorios y propiedades globales del proyecto.
Creamos un modulo dependiente del proyecto.
Para depurar un proyecto maven debes elegir el ciclo de vida de un proyecto maven. los mas importantes son install (instala el artefacto en tu repositorio local ) deploy (despliega en un repositorio remoto definido) test (lanza los test que has definido en tu proyecto) clear (limpia todo )






Wednesday, July 11, 2012

Open ID simple-openid error

Hace tiempo quisimos probar OpenID. Si te bajas el codigo fuente de OpenID de 
http://code.google.com/p/openid4java/ y quieres ejecutar el ejemplo de simple-openid te dice que ejecutes este comando
 
mvn jetty:run en el directorio de simple-openid 
 
pero sale este maravilloso error 
 
[ERROR] Failed to execute goal on project simple-openid: Could not resolve dependencies for project org.openid4java:simple-openid:war:0.9.6: The following artifacts could not be resolved: org.openid4java:openid4java:jar:0.9.6, org.openid4java:openid4java-consumer:jar:0.9.6, org.openid4java:openid4java-server:jar:0.9.6, org.openid4java:openid4java-server-JdbcServerAssociationStore:jar:0.9.6, org.openid4java:openid4java-consumer-SampleConsumer:jar:0.9.6, org.openid4java:openid4java-server-SampleServer:jar:0.9.6: Failure to find org.openid4java:openid4java:jar:0.9.6 in http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project simple-openid: Could not resolve dependencies for project org.openid4java:simple-openid:war:0.9.6: The following artifacts could not be resolved: org.openid4java:openid4java:jar:0.9.6, org.openid4java:openid4java-consumer:jar:0.9.6, org.openid4java:openid4java-server:jar:0.9.6, org.openid4java:openid4java-server-JdbcServerAssociationStore:jar:0.9.6, org.openid4java:openid4java-consumer-SampleConsumer:jar:0.9.6, org.openid4java:openid4java-server-SampleServer:jar:0.9.6: Failure to find org.openid4java:openid4java:jar:0.9.6 in http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
    at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:196)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project org.openid4java:simple-openid:war:0.9.6: The following artifacts could not be resolved: org.openid4java:openid4java:jar:0.9.6, org.openid4java:openid4java-consumer:jar:0.9.6, org.openid4java:openid4java-server:jar:0.9.6, org.openid4java:openid4java-server-JdbcServerAssociationStore:jar:0.9.6, org.openid4java:openid4java-consumer-SampleConsumer:jar:0.9.6, org.openid4java:openid4java-server-SampleServer:jar:0.9.6: Failure 
Caused by: org.sonatype.aether.resolution.DependencyResolutionException: The following artifacts could not be resolved: org.openid4java:openid4java:jar:0.9.6, org.openid4java:openid4java-consumer:jar:0.9.6, org.openid4java:openid4java-server:jar:0.9.6, org.openid4java:openid4java-server-JdbcServerAssociationStore:jar:0.9.6, org.openid4java:openid4java-consumer-SampleConsumer:jar:0.9.6, org.openid4java:openid4java-server-SampleServer:jar:0.9.6: Failure to find org.openid4java:openid4java:jar:0.9.6 in 
 
Esto te dice que no encuentra las dependencias de los jar. 
Según leo por los blog esto se resuelve diciendo en el fichero de pom.xml que no ataque a los jar sino a los pom.
 
Según pone en esta entrada  
http://stackoverflow.com/questions/6542235/maven-could-not-resolve-dependencies-for-openid4java
 
Pero me sigue diciendo que no encuentra las librerias.
Así que si las quieres instalar en tu repositorio local solo tiene que ejecutar en la carpeta maven2 
 
mvn install
 
pero esto no te instalará las librerias ya que estan configurados como POM.
 
Así que en cada una de las carpetas maven2/ puedes cambiar los fichero pom.xml  el <type>pom</type> por   <type>jar</type>  menos de la principal 
No cambies  el fichero maven2/pom.xml
 
Esto si que te instalará las librerias en tu repositorio local y podrás volver a ejecutar 
 
mvn jetty:run en el directorio de simple-openid 

 

Friday, June 1, 2012

PHP wamp error to load dynamic library


I have an error when I try add extension in PHP with  library in WAMP or XAMPP.
PHP warning PHP status: unable to load dynamic library
No se puede encontrar el módulo especificador

Put enviroment path in windows the path to library but this not works. You must reboot the PC to load the service Wamp the path. 


All work fine.

the library are wsf.dll