2016-05-09 15 views
-2

Ich habe erfolgreich einen Webdienst beim Laden einer JSP-Seite aufgerufen. Das Problem, mit dem ich konfrontiert bin, besteht darin, einen Benutzer einzurichten, der in der Lage ist, eine Taste zu drücken, um eine andere Methode für denselben Web-Service aufzurufen. Die Funktion "getSS()" soll dies erreichen, aber ich nehme an, dass Javascript diese Art von Aufruf nicht direkt liest. Ich habe Lösungen gefunden, die den Web-Service aufrufen und ihm einen Parameter übergeben, aber diese rufen normalerweise keine spezifischen Methoden innerhalb des Webservice auf.Aufrufen einer bestimmten Webdienstmethode mit Javascript oder jQuery

Hier ist mein Code, was kann ich in die "getSS()" Funktion, um dies zu erreichen? Ich habe bereits jQuery geladen, und der Web-Service ist in Java geschrieben. Beachten Sie, dass ich bereits den Code für die gesamte Arbeit geschrieben habe. Ich muss nur wissen, wie ich diesen spezifischen Code aufrufen soll. Keine der anderen Lösungen scheint meinen Bedürfnissen zu entsprechen.

<%-- 
Document : index 
Created on : May 6, 2016, 9:39:44 AM 
Author  : mmarino 
--%> 

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
    <script type="text/javascript"> 



     function getSS(){ 
    var e = document.getElementById("names"); 
    var daString = e.options[e.selectedIndex].value; 
    try { 
org.me.calculator.CalculatorWS_Service service = new org.me.calculator.CalculatorWS_Service(); 
org.me.calculator.CalculatorWS port = service.getCalculatorWSPort(); 
// TODO process result here 
java.lang.String result = port.SS(daString); 
document.getElementById('inputhere').innerHTML = "hi"; 
} catch (Exception ex) { 
// TODO handle custom exceptions here 
    document.getElementById('inputhere').innerHTML = ex; 
} 
    } 
     </script> 
</head> 
<body> 
    <h1>Hello World!</h1> <%-- start web service invocation --%><hr/> 
    <button value="hi" onclick="getSS()"> Click</button> 
    <select id="names"> 
<% 
try { 
org.me.calculator.CalculatorWS_Service service = new org.me.calculator.CalculatorWS_Service(); 
org.me.calculator.CalculatorWS port = service.getCalculatorWSPort(); 
// TODO process result here 

java.lang.String result = port.getNames(); 
out.println(result); 
} catch (Exception ex) { 
// TODO handle custom exceptions here 
} 
%> 
<%-- end web service invocation --%> 
    </select> 
<hr/> 
<div id="inputhere">Hi.</div> 
</body> 

Antwort

0

So schien es alles, was ich fehlte, war, dass die Java-Code auf eine Variable Einstellung und die richtige Öffnung setzen und schließen Aussagen:

function doIt(){ 
<%-- start web service invocation --%> 
      var x = <% 
try { 
org.me.testbilling.TestBillingWS_Service service = new  org.me.testbilling.TestBillingWS_Service(); 
org.me.testbilling.TestBillingWS port = service.getTestBillingWSPort(); 
// TODO initialize WS operation arguments here 
java.lang.String name = "Marcel" ; 
// TODO process result here 
java.lang.String result = port.getSS(name); 
out.println(result); 
} catch (Exception ex) { 
// TODO handle custom exceptions here 
} 
%> 
<%-- end web service invocation --%> 

    alert(x); 
     } 
    </script> 

Immer noch nicht ganz sicher, wie zu machen, dass "java.lang.String name =" wird auf eine Javascript-Variable gesetzt.

Verwandte Themen