2016-05-09 2 views
-2

Я успешно вызвал веб-службу при загрузке страницы jsp. Проблема, с которой я сталкиваюсь, - это настроить пользователя, чтобы иметь возможность нажимать кнопку, чтобы вызвать другой метод на той же веб-службе. Предполагается, что функция getSS() "должна выполнить это, но я полагаю, что javascript непосредственно не читает этот тип вызова. Я нашел решения, которые вызывают веб-службу и передают ей параметр, но обычно они не вызывают определенные методы в веб-сервисе.Вызов определенного метода веб-службы с использованием Javascript или jQuery

Вот мой код, что я могу добавить в функцию getSS() для выполнения этого? Я уже загрузил jQuery, и веб-сервис написан в java. Заметьте, я уже написал код для выполнения всей работы, мне просто нужно знать, как вызвать этот конкретный код. Ни одно из других решений, похоже, не соответствует моим потребностям.

<%-- 
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> 

ответ

0

Так что, казалось, все, что я отсутствовал устанавливало, что Java-код в переменную и ввод правильного открытия и закрытия заявления:

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> 

До сих пор не совсем уверены, как сделать это «java.lang.String name =» устанавливается в javascript-переменную.

Смежные вопросы