разобрать мыло xml используя ось 1.2 - PullRequest
1 голос
/ 24 октября 2010

Я использую ось 1.2 для моего мыльного клиента.Мне нужно написать модульный тест, который принимает ответ мыльного сообщения и анализирует его для объектов Java, созданных по оси.Я не мог найти способ сделать это.Кто-нибудь может мне помочь в этом?

Спасибо,

1 Ответ

0 голосов
/ 28 октября 2010

Я наконец нашел способ сделать это. Вы можете сделать это, создав фиктивный движок мыла, который возвращает желаемый xml. Затем Axis выполнит весь анализ и проработает всю логику, как если бы он получил ее из http-источника. Вот пример:

public class SimulatorHandler extends BasicHandler
{


    /**
     * System property to that hold soap response message in xml.
     */
    private static final String responseMsg = "soapResponse";

    /**
     * @return the responseMsg
     */
    public static String getResponseMsgSystemProperty()
    {
        return responseMsg;
    }

    public void invoke(MessageContext context) throws AxisFault
    {

                // i haven't figure out a way to do a setter on this msg
                // so I have to get it from system properties
        String msg = System.getProperty(responseMsg);
        ByteArrayInputStream is = new ByteArrayInputStream(msg.getBytes());
        Message response = new Message(is);
        response.setMessageType(Message.RESPONSE);
        context.setResponseMessage(response);
    }
}
...