регистрация мыла axis2 - PullRequest
       9

регистрация мыла axis2

0 голосов
/ 28 декабря 2010

Я сгенерировал Java-клиенты uisng wsdl2java, используя axis2.Мои клиентские программы могут успешно подключаться к веб-сервису.Я хочу войти в исходящий запрос мыла, чтобы прочитать сообщение мыла.

Может кто-нибудь направить меня к статье, в которой объясняется, как я могу регистрировать мыльные сообщения в Axis2.

Ответы [ 4 ]

2 голосов
/ 04 августа 2011

Вы можете дополнительно рассмотреть возможность написания пользовательского модуля оси для регистрации - проверьте http://axis.apache.org/axis2/java/core/docs/modules.html для получения дополнительной информации

2 голосов
/ 17 июня 2011

Я понимаю, что это старый вопрос, но если кому-то это поможет, вы можете включить ведение журнала, поместив этот тег в разделы <requestFlow> и <responseFlow> вашего globalConfig в файле server-config.wsdd:1003 *

<handler type="java:org.apache.axis.handlers.LogHandler"/>
1 голос
/ 12 мая 2011

Если вы используете привязку данных Axis2, то автоматически созданные классы для ваших веб-служб будут подклассами ADBBean. Вы можете использовать что-то вроде следующего, чтобы преобразовать ADBBean в строку, а затем зарегистрировать строку.

public static String
writeADBBean(ADBBean aBean) throws XMLStreamException {
    if (null == aBean)
        return "null";
    OMElement omElement;
    try
    {
        // The preferred way of serializing objects generated by Axis2's
        // WSDL2JAVA involves methods that are named the same on every
        // class but that aren't inherited from any base class. So, use
        // reflection to find them.
        QName qname;
        try {
            Field qnameField = aBean.getClass().getField("MY_QNAME");
            qname = (QName)qnameField.get(aBean);
        } catch (Exception e) {
            // Some Axis2-generated objects don't have QNames. Supply
            // one based on the object's class.
            qname = new QName(aBean.getClass().getCanonicalName());
        }
        Method getOMElement = aBean.getClass().getMethod("getOMElement", QName.class, OMFactory.class);
        omElement = (OMElement)getOMElement.invoke(aBean, qname, OMAbstractFactory.getOMFactory());
    } catch (Exception e) {
        log.warn("Reflection failed for " + aBean.toString() + ": " + e.toString());
        throw new XMLStreamException("Cannot serialize " + aBean.toString(), e);
    } catch (NoClassDefFoundError e) {
        log.error("NoClassDefFoundError while serializing " + aBean.toString() + ": " + e.toString());
        throw new XMLStreamException("Cannot serialize " + aBean.toString(), e);
    }
    String serialized = omElement.toStringWithConsume();
    return serialized;
}
0 голосов
/ 28 декабря 2010

Пожалуйста, см. Шаг 6 здесь: Axis2 Hello world . Кроме того, вы можете проверить SoapUI

...