你好,我用奇数或偶数创建了一个web服务,当我在netbeans中为该web服务创建客户端时,我出现了这个错误。这里的web服务:
@WebService(serviceName = "Par_Impar")
public class Par_Impar {
/**
* Web service operation
*/
@WebMethod(operationName = "operation")
public String operation(@WebParam(name = "val") int val) {
if(val%2!=0){
//daca reminder-ul nu este 0 este impar
return("IMPAR");
}
else {
//daca reminder-ul este 0 atunci este par
return("PAR");
}
}
}
index.jsp:
<html>
<head>
<title>PAGINA JSP</title>
</head>
<body>
<form action="action.jsp" method="post"<br/>
Introdu numarul :<input type="text" name="nr"/><br/>
<input type="submit" value="Testeaza"/>
</form>
</body>
action.jsp:
<%--
Document : action
Created on : Apr 27, 2013, 5:28:45 PM
Author : ARB
--%>
<%@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>
</head>
<body>
<h1>Hello World!</h1>
<%-- start web service invocation --%><hr/>
<%
String add=request.getParameter("numar");
int aa=Integer.parseInt("add");
try {
mypack.ParImpar_Service service = new mypack.ParImpar_Service();
mypack.ParImpar port = service.getParImparPort();
// TODO initialize WS operation arguments here
int val=aa;
// TODO process result here
java.lang.String result = port.operation(aa);
out.println("Result = "+result);
} catch (Exception ex) {
// TODO handle custom exceptions here
}
%>
<%-- end web service invocation --%><hr/>
</body>
</html>
请帮帮我。谢谢!
int aa=Integer.parseInt("add");
上面的行应该是:
int aa=Integer.parseInt(add);
parseInt
将字符串参数解析为指定基数的带符号整数第二个论点。字符串中的字符必须全部为指定基数的数字(由是否Character.digh(char,int(返回一个非负值(,除了第一个字符可以是ASCII减号"-"("\u002D"(指示负值或ASCII加号"+"("\u002B"(表示正值。返回得到的整数值。
如果出现以下情况:
第一个参数为null或是长度为零的字符串。
基数小于Character.MIN_radix或大于特征.MAX_RADIX.
字符串的任何字符都不是指定基数的数字,除了第一个字符可以是减号"-"("\u002D"(或加号"+"("\u002B"(,前提是字符串长度大于长度1。
字符串表示的值不是int类型的值。
从您的index.jsp中,您正在发送名为nr
的参数,但在action.jsp上,您正在检索名为numar
的参数。由于请求中没有这样的参数,您最终解析为null。@Achintya所说的同样适用。