Я создал этот простой веб-сервис с Netbeans, который успешно развертывается при использовании сервера Tomcat.Я пытаюсь развернуть его, используя wildfly 14, но получаю эту ошибку:
org.apache.cxf.BusException: No DestinationFactory was found for the namespace http://schemas.xmlsoap.org/soap/https.
После некоторых исследований я обнаружил предложения, что мне следует добавить cxf-rt-transports-http-xx-xxx
в мой путь к классам, что я и сделал, но ошибка меняется на:
Библиотека Apache CXF (cxf-rt-transports-http-3.2.5-jbossorg-1.jar) обнаружена при развертывании конечной точки ws;либо предоставьте правильное развертывание, заменив встроенные библиотеки зависимостями контейнерных модулей, либо отключите подсистему веб-сервисов для текущего развертывания, добавив в нее надлежащий дескриптор jboss-deploy-structure.xml.Первый подход рекомендуется, так как последний подход приводит к отключению большинства веб-сервисов Java EE и любых специфических функций JBossWS.
Вот мой сервис:
@WebService(serviceName = "Estatements")
public class Estatements {
@Resource
private WebServiceContext context;
private static final Log log = LogFactory.getLog("origlogger");
@WebMethod(operationName = "generateStatement")
public List<ServiceBean> generateStatement(@WebParam(name = "accountNumber") String accountNumber, @WebParam(name = "fromDate_dd-MMM-yyyy") String fromDate, @WebParam(name = "toDate_dd-MMM-yyyy") String toDate) {
List<ServiceBean> srvs = new ArrayList<ServiceBean>();
ServiceBean srv = new ServiceBean();
ServletContext servletContext
= (ServletContext) context.getMessageContext().get(MessageContext.SERVLET_CONTEXT);
if (Customer.accountIsValid(accountNumber, (String) servletContext.getAttribute("propfile"))) {
if (isValidDate(fromDate)) {
if (isValidDate(toDate)) {
Statement st = new Statement();
st.formatreport(accountNumber, fromDate, toDate, (String) servletContext.getAttribute("propfile"), (String) servletContext.getAttribute("logopath"), (String) servletContext.getAttribute("pdfdir"));
srv.setCode("000");
srv.setMessage("Statement Generated Successfully");
srvs.add(srv);
} else {
srv.setCode("999");
srv.setMessage("To Date is Invalid");
srvs.add(srv);
}
} else {
srv.setCode("999");
srv.setMessage("From Date is Invalid");
srvs.add(srv);
}
} else {
srv.setCode("999");
srv.setMessage("Account Number is Invalid");
srvs.add(srv);
}
return srvs;
}
}
Isчто еще я могу попробовать?