Является ли этот фрагмент кода совершенно неправильным?Я делаю web service
для универа.Можно ли подключиться к базе данных, используя метод web service
.Код соединения работает, когда в стандартном проекте SE, но когда в веб-сервисе NetBeans
не позволяет мне развернуть проект, он говорит, что не может создать WSDL
.
/ * * Toизмените этот шаблон, выберите Инструменты |Шаблоны * и откройте шаблон в редакторе.* / package 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;
}
}
Сообщение об ошибке
SEVERE: Невозможно найти adpater для конечной точки ПРЕДУПРЕЖДЕНИЕ: MEX0008: Не удалосьсинтаксический анализ метаданных, полученных с сервера на http://localhost:8080/WebSercviceOne/WebSercviceOne?WSDL/mex с использованием протокола SOAP_1_1.Продолжающиеся попытки.ИНФОРМАЦИЯ: [ОШИБКА] Сервер возвратил код ответа HTTP: 405 для URL: http://localhost:8080/WebSercviceOne/WebSercviceOne?WSDL Не удалось прочитать документ WSDL: http://localhost:8080/WebSercviceOne/WebSercviceOne?WSDL,, поскольку 1) не удалось найти документ;/ 2) документ не может быть прочитан;3) корневого элемента документа нет.ИНФОРМАЦИЯ: [ОШИБКА] failed.noservice = Не удалось найти wsdl: service в предоставленных WSDL (s): необходимо предоставить как минимум один WSDL с хотя бы одним определением службы.ИНФОРМАЦИЯ: Не удалось проанализировать WSDL.ИНФОРМАЦИЯ: Вызов wsimport с http://localhost:8080/WebSercviceOne/WebSercviceOne?WSDL SEVERE: сбой wsimport ИНФОРМАЦИЯ: Корневое имя мониторинга Metro успешно установлено в: amx: pp = / mon / server-mon [server], type = WSEndpoint, name = WebSercviceOne-WebSercviceOnePort ПРЕДУПРЕЖДЕНИЕ: контейнерorg.glassfish.webservices.JAXWSContainer@7339ea2c не поддерживает класс com.sun.xml.ws.api.server.Module ИНФОРМАЦИЯ: WS00019: конечная точка EJB развернула ServiceOne для прослушивания по адресу http://ericman -PC: 8080 /WebSercviceOne / WebSercviceOne ИНФОРМАЦИЯ: WEB0671: загрузка приложения [ServiceOne] в [/ ServiceOne] ИНФОРМАЦИЯ: ServiceOne успешно развернута за 511 миллисекунд.ИНФОРМАЦИЯ: разбор WSDL ...