cancel
Showing results for 
Search instead for 
Did you mean: 

requêtes JSON qui ne passent pas

landngass
Champ in-the-making
Champ in-the-making
Bonjour,
Je travaille en ce moment à l'intégration d'Alfresco comme ged pour une application existante. Pour ça je souhaite utiliser l'API REST. Je ne comprends pas pourquoi lorsque j'exécute ce code je n'ai rien à l'affichage et rien non plus dans les logs susceptible de m'aider.


<html>
<head>
<title>Simple Ajax Example</title>
<script language="Javascript">
function xmlhttpGet() {
   var strURL="http://isxpre76:8080/alfresco/service/api/login?u='+document.getElementById('login').value+'&pw='+do...;
    var xmlHttpReq = true;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open(&#39;GET&#39;, strURL, false);
    self.xmlHttpReq.setRequestHeader(&#39;Content-Type&#39;, &#39;application/xml&#39;);
       self.xmlHttpReq.send();
   updatepage("sdsddssd"+self.xmlHttpReq.responseXML);
}



function updatepage(str){
    document.getElementById("result").innerHTML = "<h1>"+str+"</h1>";
}
</script>
</head>
<body>
<form name="f1">
  <p>login: <input id="login" name="login" type="text"></p> 
  <p>password: <input id="password" name="password" type="text">
  <input value="Go" type="button" onclick=&#39;JavaScript:xmlhttpGet()&#39;></p>
  <div id="result"></div>
</form>
</body>
</html>



ce code retourne null pour XML. j&#39;aimerai donc savoir ne serait-ce que par le biais d&#39;un exemple comment effectuer un appel Json et l&#39;afficher.

Je vous en remercie.
Landry.
3 REPLIES 3

jayjayecl
Confirmed Champ
Confirmed Champ
Bonjour,

quelques pistes en le testant chez moi :


DEBUG CHROME :
test.html:34
XMLHttpRequest cannot load http://localhost:8080/alfresco/service/api/login?u=admin&pw=admin. Origin null is not allowed by Access-Control-Allow-Origin.
Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101 test.html:19
xmlhttpGet test.html:19
onclick test.html:34

TRACE ALFRESCO.LOG
2012-07-31 10:54:18,042  ERROR [extensions.webscripts.AbstractRuntime] [http-8080-1] Exception from
executeScript - redirecting to status template error: 06310004 Script url /api/login does not suppor
t the method OPTIONS
org.springframework.extensions.webscripts.WebScriptException: 06310004 Script url /api/login does n
ot support the method OPTIONS
        at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.j
ava:179)
        at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServl
et.java:118)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
ava:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.j
ava:58)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
ava:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.ja
va:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)

landngass
Champ in-the-making
Champ in-the-making
Bonjour rodel et merci pour la réponse, mais je n'arrive pas à comprendre à quel niveau se situe le problème. Pourrais-tu stp m'éclairer un peu? ça fait un moment que j'essaie de comprendre sans y parvenir. Je suis nouveau sur l'Api et l'outil.

En attendant votre aide,
Cordialement
Hubert.

rguinot
Confirmed Champ
Confirmed Champ
Avez vous déja validé qu'un simple GET avec par exemple cURL fonctionne chez vous ?
Ce lien vous aidera surement : http://www.unorganizedmachines.com/site/software-and-technology/34-software-development/97-calling-w...

Faites bien la distinction entre se logger une fois pour accéder a un service donné, as part of the request. et l'obtention d'un ticket pour réutilisation successive sur plusieurs appels.
Je ne vois pas le rapport avec JSON que vous mentionnez dans le titre du sujet.

Enfin, pour ce qui ne passe pas, mangez des fibres, ou cablez votre serveur avec de la fibre optique Smiley Happy