这段代码完全错了吗?我正在为一个单独的项目制作一个web service
。是否有可能连接到数据库,而在web service
方法。连接的代码在标准SE项目中工作,但在web服务中,NetBeans
不让我部署项目,它说它不能创建WSDL
。
/**若要更改此模板,请选择"Tools | Templates"*并在编辑器中打开模板。*/包org.me.calculator;
import com.mysql.jdbc.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.ejb.Stateless;
/**
*
* @author ericman
*/
@WebService(serviceName = "CalculatorWS")
@ Stateless()
public class CalculatorWS {
/**
* Web service operation
*/
@WebMethod(operationName = "UppDateBook")
public String UppDateBook(@WebParam(name = "name") String name) throws SQLException {
//TODO write your implementation code here:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/bookcatalog","ericman","ericman");
Statement stmt = (Statement) con.createStatement();
String insert = "INSERT INTO `bookcatalog`.`books` (`name`, `isbn`, `price`, `publisher`, `img`) VALUES ('BookOne', '12456789', '45', 'publisher', 'httpfile');";
int numUpdate = stmt.executeUpdate(insert);
stmt.close();
return null;
}
}
错误信息
严重:无法找到端点的适配器警告:MEX0008:使用协议SOAP_1_1解析从http://localhost:8080/WebSercviceOne/WebSercviceOne?WSDL/mex服务器返回的元数据失败。继续尝试。信息:[错误]服务器返回了URL: http://localhost:8080/WebSercviceOne/WebSercviceOne?WSDL的HTTP响应码:405读取WSDL文档失败:http://localhost:8080/WebSercviceOne/WebSercviceOne?WSDL,因为1)找不到文档;/2)文件无法读取;3)文档的根元素不是。INFO: [ERROR] failed。noservice=在提供的wsdl中找不到wsdl:service:需要提供至少一个包含至少一个服务定义的WSDL。信息:解析WSDL失败。INFO:使用http://localhost:8080/WebSercviceOne/WebSercviceOne?WSDL调用wimportSEVERE:导入失败INFO: Metro monitoring rootname successfully set to: amx:pp=/mon/server-mon[server],type=WSEndpoint,name= webservicviceone - webservicviceoneport警告:容器org.glassfish.webservices。JAXWSContainer@7339ea2c不支持com.sun.xml.ws.api.server.Module类信息:WS00019:已部署的EJB端点ServiceOne监听地址为http://ericman-PC:8080/WebSercviceOne/WebSercviceOne在[/ServiceOne]处加载应用程序[/ServiceOne]信息:ServiceOne在511毫秒内成功部署。信息:解析WSDL…
你不能用这种方式抛出异常,你需要根据这些点创建自己的异常:1)你的自定义异常是一个扩展了exception的类。2)添加标签@WebFault(name="异常名称")到你的异常类3)创建一个保存异常消息的bean。这个bean有一个带有所有构造函数和getter的String参数。4)异常类需要有该bean的属性。5)必须有两个构造函数,一个带有消息和bean的实例,另一个带有消息、bean的实例和一个表示问题的Throwable对象。