J'ai finalement trouvé un moyen de le faire. Vous pouvez le faire en créant un faux soap-engine qui retourne le xml que vous voulez. Alors l'axe fera tout l'analyse et passera par toute la logique comme si elle l'avait obtenue d'une source http. Voici un exemple:
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);
}
}
Axe * 1.2 *? Wow, c'est sérieux old-school. – skaffman
oui, ne peut pas vraiment changer cette API, il va briser le code hérité. –