Как разобрать WSDL в Java? - PullRequest
       10

Как разобрать WSDL в Java?

7 голосов
/ 23 марта 2010

Мне нужен парсер для WSDL для получения сообщений, типов портов, операций, привязок, сервисов, ... Надеюсь, какой-то парсер уже существует. Итак, какие-нибудь рекомендации?

Ответы [ 6 ]

3 голосов
/ 06 мая 2011

Надеюсь, эта ссылка будет полезна для вас при выборе парсера WSDL, Parse WSDL Effectively (посмотрите архив этой ссылки: Web Archive).

Я пытался использовать Apache Woden, WSDL4J и Membrane SOA. Apache Woden или Membrane SOA отлично подойдут.

0 голосов
/ 25 августа 2015

вы можете использовать мембрану-соа для анализа файлов wsdl. добавить зависимость от http://mvnrepository.com/artifact/com.predic8/soa-model-core.

документацию можно найти по адресу http://membrane -soa.org / soa-model / .

0 голосов
/ 05 апреля 2012

Ознакомьтесь с документацией к инструменту wsimport по адресу http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html. Это стандартный инструмент JDK, который генерирует Java-артефакты на основе JAXB для взаимодействия с веб-сервисом.

0 голосов
/ 05 апреля 2012
f wsdl = '''
<definitions name="AgencyManagementService"
    xmlns:ns1="http://www.example.org/NS1"
    xmlns:ns2="http://www.example.org/NS2">
    <ns1:message name="SomeRequest">
        <ns1:part name="parameters" element="SomeReq" />
    </ns1:message>
    <ns2:message name="SomeRequest">
        <ns2:part name="parameters" element="SomeReq" />
    </ns2:message>
</definitions>
'''

def xml = new XmlSlurper().parseText(wsdl).declareNamespace(ns1: 'http://www.example.org/NS1', ns2: 'http://www.example.org/NS2')
println xml.'ns1:message'.'ns1:part'.size()
println xml.'ns2:message'.'ns2:part'.size()

Надеюсь, это поможет. Класс Groovy может быть вызван из любого другого класса Java. Переместить всю работу XML в Groovy:)

0 голосов
/ 23 марта 2010

использование http://sourceforge.net/projects/wsdl4j/

public Definition readWSDLFile(String location) throws  WSDLException {
    WSDLReader reader = getWsdlFactoryInstance().newWSDLReader();
    reader.setFeature("javax.wsdl.importDocuments", true);
    return reader.readWSDL(location);
}
0 голосов
/ 23 марта 2010

Доступны несколько стеков веб-служб.

Посмотрите на стек Метро. Открытый исходный код и доступен непосредственно в Java 6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...