IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web sémantique Discussion :

Requête sur une ontologie via un service Web


Sujet :

Web sémantique

  1. #1
    Membre régulier Avatar de naima2005
    Inscrit en
    Février 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2006
    Messages : 340
    Points : 93
    Points
    93
    Par défaut Requête sur une ontologie via un service Web
    bonjour,
    j'ai créé un service web qui permet d'accéder à une ontologie et l'interroger via SPARQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package com.WS;
     
    import com.hp.hpl.jena.vocabulary.RDF;
    import com.hp.hpl.jena.sparql.util.IndentedWriter;
    import com.hp.hpl.jena.query.*;
    import com.hp.hpl.jena.rdf.model.InfModel;
    import com.hp.hpl.jena.rdf.model.Model;
    import com.hp.hpl.jena.rdf.model.ModelFactory;
    import com.hp.hpl.jena.rdf.model.Resource;
    import com.hp.hpl.jena.reasoner.Reasoner;
    //import javax.jws.WebMethod;
    //import javax.jws.WebParam;
    import org.mindswap.pellet.jena.PelletReasonerFactory;
    //import javax.jws.WebService;
    import javax.jws.*;
     
    /**
     *
     * @author naima
     */
    @WebService()
    public class OntolgyQuery {
    public static String Onto_OWL_file = "http://localhost/informatique.owl";
    public static final String NL = System.getProperty("line.separator") ;
        /**
         * Web service operation
         */
     
        @WebMethod(operationName = "GenerateTerms")
        public String[] GenerateTerms(@WebParam(name = "Keyword")
        String Keyword) {
            String [] NewTerms =new String[10];
     
                  // create Pellet reasoner
            Reasoner reasoner = PelletReasonerFactory.theInstance().create();
     
            // create an empty model
            Model emptyModel = ModelFactory.createDefaultModel( );
     
            // create an inferencing model using Pellet reasoner
            InfModel m = ModelFactory.createInfModel( reasoner, emptyModel );
     
            // read the file
            m.read( Onto_OWL_file );
     
            // Model m = ModelFactory.createDefaultModel();
     
            // use the file manager to read an RDF document into the model
     
            System.out.println( "We have loaded a model with no. statements = " + m.size() );
        	String info ="http://www.owl-ontologies.com/Ontology1260701617.owl#";
        	String prolog1 = "PREFIX info: <"+info+">" ;
            String prolog2 = "PREFIX rdf: <"+RDF.getURI()+">" ;
            // Query string.
           String queryString = prolog1 + NL + prolog2 + NL +
            "SELECT ?proto  WHERE {?proto rdf:type info:"+ Keyword +" }" ;
     
            Query query = QueryFactory.create(queryString) ;
            // Print with line numbers
            query.serialize(new IndentedWriter(System.out,true)) ;
            System.out.println() ;
            // Create a single execution of this query, apply to a model
            // which is wrapped up as a Dataset
     
            QueryExecution qexec = QueryExecutionFactory.create(query, m) ;
     
            try {
                // Assumption: it's a SELECT query.
                ResultSet rs = qexec.execSelect() ;
                // The order of results is undefined.
                int i=0;
                for ( ; rs.hasNext() ; )
                {
                    QuerySolution rb = rs.nextSolution() ;
                    // Get title - variable names do not include the '?' (or '$')
                   // RDFNode y = rb.get("proto");
                    //System.out.print("uri : "+y+"---  ");
                    Resource z = (Resource) rb.getResource("proto");
                    System.out.println(z.getLocalName());
                    if(i<10){
                    NewTerms[i]=z.getLocalName();
                    i++;
                    }
                }
     
            }
     
            finally
            {
                // QueryExecution objects should be closed to free any system resources
                qexec.close() ;
            }
     
            return NewTerms;
        }
     
    }
    pendant l'execution il me return l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Service invocation threw an exception with message : null; Refer to the server log for more details
     
    Détails de l'exception : java.lang.reflect.InvocationTargetException
    javax.servlet.ServletException: java.lang.reflect.InvocationTargetException at com.sun.enterprise.webservice.monitoring.WebServiceTesterServlet.doPost(WebServiceTesterServlet.java:345) at com.sun.enterprise.webservice.monitoring.WebServiceTesterServlet.invoke(WebServiceTesterServlet.java:121) at com.sun.enterprise.webservice.JAXWSServlet.doPost(JAXWSServlet.java:165) at javax.servlet.http.HttpServlet.service(HttpServlet.java:738) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) Caused by: java.lang.reflect.InvocationTargetException
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 
    at com.sun.enterprise.webservice.monitoring.WebServiceTesterServlet.doPost(WebServiceTesterServlet.java:316) ... 30 more Caused by: javax.xml.ws.soap.SOAPFaultException: com.sun.msv.datatype.xsd.datetime.BigTimeDurationValueType.(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigDecimal;)V at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:188) at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:116) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89) at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118) at $Proxy100.generateTerms(Unknown Source) ... 35 more Caused by: java.lang.NoSuchMethodError: com.sun.msv.datatype.xsd.datetime.BigTimeDurationValueType.(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigDecimal;)V at com.sun.msv.datatype.xsd.datetime.TimeDurationFactory.create(TimeDurationFactory.java:34) at org.mindswap.pellet.datatypes.XSDDuration.(XSDDuration.java:32) at org.mindswap.pellet.datatypes.DatatypeReasoner.(DatatypeReasoner.java:95) at org.mindswap.pellet.ABox.(ABox.java:206) at org.mindswap.pellet.KnowledgeBase.clear(KnowledgeBase.java:548) at org.mindswap.pellet.KnowledgeBase.(KnowledgeBase.java:428) at org.mindswap.pellet.jena.PelletInfGraph.(PelletInfGraph.java:96) at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:95) at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:53) at com.hp.hpl.jena.rdf.model.ModelFactory.createInfModel(ModelFactory.java:293) at com.WS.OntolgyQuery.GenerateTerms(OntolgyQuery.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.enterprise.webservice.InstanceResolverImpl$1.invoke(InstanceResolverImpl.java:112) at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146) at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257) at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106) at com.sun.enterprise.webservice.MonitoringPipe.process(MonitoringPipe.java:147) at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106) at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:218) at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129) at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436) at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243) at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444) at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244) at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135) at com.sun.enterprise.webservice.JAXWSServlet.doPost(JAXWSServlet.java:176) ... 28 more
    est ce quelqu'un peut m'aider s'il vous plait.

    merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 35
    Points : 33
    Points
    33
    Par défaut
    moi aussi je rencontre le meme probleme

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    J'ai exactement le même problème , la fonction s' exécute normalement dans une application java mais quand j'implémente dans un service Web elle
    m 'affiche le même message d'erreur que vous avez cité
    S'il vous plait si vous avez réglé ce problème est ce que vous pouvez partager avec nous la solution, je suis sur qu'il en a encore beaucoup d'autres débutants qui ont aussi le même problème .
    Je vous remercie d'avance

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/02/2015, 10h38
  2. Réponses: 1
    Dernier message: 16/03/2010, 11h29
  3. [AC-2002] Envoi d'une requête sur une page web
    Par pier.antoine dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/09/2009, 14h45
  4. Réponses: 4
    Dernier message: 01/04/2008, 10h53
  5. Réponses: 4
    Dernier message: 01/04/2008, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo