Nano Hash - криптовалюты, майнинг, программирование

Службы администрирования Wso2 ESB для создания прокси-серверов Java

1) Здравствуйте, я пытаюсь использовать службы администрирования для создания прокси-сервера внутри ESB.

Итак, я выставил службы администратора (скрытый = ложь)

Я импортировал WSDl в свой проект Java https://localhost:8243/services/ProxyServiceAdmin?wsdl

Но я не могу понять, как вызвать метод addProxy я использую не тот сервис администратора? Пожалуйста, помогите с примером использования этого метода.

ProxyServiceAdmin ps = new ProxyServiceAdmin();
ps.addProxy(); //wrong

2) У меня есть прокси-сервер, определенный как однострочная строка, например

String xmlproxy="<?xml version='1.0' encoding='UTF-8'?><proxy xmlns='http://ws.apache.org/ns/synapse' name='MyProxy1' transports='https' startOnLoad='true' trace='disable'> <target inSequence='sequence1'>...."

Можно ли добавить этот прокси, вызвав какой-либо метод служб администратора?

большое спасибо за внимание!

ИЗМЕНИТЬ Я просмотрел WSDL "ProxyServiceAdmin?wsdl", там написано <wsdl:operation name="addProxy"><http:operation location="addProxy"/><wsdl:input><mime:content type="text/xml" part="parameters"/></wsdl:input><wsdl:output><mime:content type="text/xml" part="parameters"/></wsdl:output>

так оно и есть, но почему я не могу его назвать? Почему мой код не работает так, как обычная веб-служба? Действительно, помогите. Я не понимаю, что я делаю неправильно...

ProxyServiceAdmin ps = new ProxyServiceAdmin();
ps.addProxy(); //not recognized as an operation of ProxyServiceAdmin even if it is in the wsdl
13.09.2012

Ответы:


1

Вам просто нужно использовать «org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminStub» для объявления прокси службами администратора.

Пожалуйста, взгляните на следующий код и встроенные комментарии.

    String endPoint = *<your backend service url>* +"ProxyServiceAdmin";
    proxyServiceAdminStub = new ProxyServiceAdminStub(endPoint);

Вы должны аутентифицировать свою служебную заглушку, прежде чем использовать ее.

    CarbonUtils.setBasicAccessSecurityHeaders(userName, password,                      
                              proxyServiceAdminStub._getServiceClient());

Необходимо сгенерировать объект ProxyData вашего прокси как synaps xml

    String[] transport = {"http", "https"};
    ProxyData data = new ProxyData();
    data.setName(proxyName);
    data.setWsdlURI(*<url to your WSDL>*);
    data.setTransports(transport);
    data.setStartOnLoad(true);       
    data.setEndpointXML("<endpoint xmlns=\"http://ws.apache.org/ns/synapse\"><address uri=\"" + serviceEndPoint + "\" /></endpoint>");
    data.setEnableSecurity(true);
    proxyServiceAdminStub.addProxy(data);

Спасибо, Даршана

13.09.2012
  • Спасибо, это действительно хороший ответ, к сожалению, у меня нет опыта добавления внешних пакетов, не могли бы вы вкратце объяснить мне, как добавить org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminStub. Мне нужен файл pom или что-то подобное? большое спасибо! 13.09.2012
  • Если попытаться создать кодовую базу wso2, эти зависимости будут устранены. Будет достаточно создания сервисных заглушек. ‹dependency› ‹groupId›org.wso2.carbon‹/groupId› ‹artifactId›org.wso2.carbon.proxyadmin.stub‹/artifactId› ‹version›${stub.version}‹/version› ‹/dependency› 13.09.2012
  • И используйте ‹repository› ‹id›wso2-nexus‹/id› ‹name›Внутренний репозиторий WSO2‹/name› ‹url›maven.wso2.org/nexus/content/groups/wso2-public/‹/url› ‹releases› ‹enabled›true‹/enabled› ‹ updatePolicy›daily‹/updatePolicy› ‹checksumPolicy›ignore‹/checksumPolicy› ‹/releases› ‹/repository› как репозиторий 13.09.2012

  • 2

    пожалуйста, найдите пример создания прокси с помощью службы администрирования здесь. Я добавил код Даршаны в полный пример.

    15.09.2012

    3

    Это JSP-страница используется для создания прохода через прокси. Аналогичным образом вы можете заполнить данные прокси. если вы просмотрите другие jsps, вы можете найти аналогичную логику, используемую для разных шаблонов прокси. Здесь вы можете найти полный модуль, как пользовательский интерфейс, так и сервисный код.

    13.09.2012
  • импортировать org.wso2.carbon.proxyadmin.ui.client.ProxyServiceAdminClient; выдает ошибку; пакет не существует -> как мне получить пакет? есть ссылка на скачивание того, что мне нужно? 13.09.2012
  • Хотя мне было достаточно просто добавить wsdl в мой проект. 13.09.2012
  • (dist.wso2.org/maven2/org/wso2/carbon) здесь вы можете найти выпущенные артефакты. Попробуйте добавить артефакты, названные под proxy-admin * Как я уже упоминал, это не отдельный пример. Но код, который используется в продукте для использования службы администрирования и создания службы прокси. Добавить только wsdl не получится. 13.09.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..