Я прошел несколько уроков и вижу, что, когда мы помещаем wsdl url в POM.XML, он выполняется и автоматически создает связанный класс. Однако, когда я ставлю свой wsdl, он имеет пароль и имя пользователя, поэтому я не могу генерировать классы. У меня мало сомнений, чтобы уточнить: 1) Если есть имя пользователя и пароль для wsdl (базовая аутентификация), автоматически ли создаются связанные классы, как это делает ts в wsdl без аутентификации? 2) Если нет, то как мы можем добавить имя пользователя и пароль для использования мыльных веб-сервисов. 3) Я делаю преобразование остальных API в мыло.
https://codenotfound.com/apache-cxf-basic-authentication-example.html
RequisitionService_Service service = new RequisitionService_Service ();
RequisitionService port = service.getPort(RequisitionService.class);
BindingProvider provider = (BindingProvider) port;
System.out.println("in Code");
provider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "JobAPI");
provider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "Oracle@123");
provider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"xyz?wsdl");
String request = "xml body";
String response = port.newOperation(request);
org.apache.cxf.endpoint.Client client = org.apache.cxf.frontend.ClientProxy.getClient(port);
org.apache.cxf.endpoint.Endpoint cxfEndpoint = client.getEndpoint();
cxfEndpoint.getOutInterceptors().add(new LoggingInInterceptor());
cxfEndpoint.getOutInterceptors().add(new LoggingOutInterceptor());
Это мой код выше
Это ошибка ниже
Причина: org.apache.cxf.binding.soap.SoapFault: служба RequisitionService не зарегистрирована для предоставленной версии (xyzRadnomurl) в запросе XML для текущейпродукт (предприятие). Это также может быть вызвано пустой частью тела.