¿Es posible usar jax-ws para generar xml, pero NO enviarlo

Así que aquí está el escenario: tenemos PeopleSoft y queremos enviar mensajes de salesforce de ida y vuelta. Desafortunadamente, PeopleSoft no tiene una herramienta como wsimport que consume un wsdl y genera clases para usted. Hay algo que consume wsdl, pero todo lo que hace genera objetos de mensaje auxiliar. Un desarrollador aún tendría que escribir el código para generar manualmente la cadena de mensaje xml.

Obviamente no quiero hacer todo eso. Entonces sé que se puede llamar a Java desde PeopleSoft. También sé que podría enviar mensajes simplemente usando las clases generadas, pero me gustaría usar las funciones de monitoreo de mensajes integradas en PeopleSoft.

Así que una posible solución en la que estoy pensando será:

llame al método de servicio web en java (sin enviar el mensaje)Grab the xmlenvíe el xml a través de los mecanismos peopleoft agarrar la respuesta xmlpase la respuesta xml nuevamente en la clase de respuesta javaUtilice clases java para obtener valores dentro del xml

¿Estoy loco o es posible?

PD. Soy un desarrollador java novato

Aquí está mi clase de controlador para tomar el xml, pero necesito alguna forma de evitar que se envíe un mensaje.

public class LoggingHandler implements SOAPHandler<SOAPMessageContext> {
 // change this to redirect output if desired
private static PrintStream out = System.out;
private String xmlOut = null;

public Set<QName> getHeaders() {
    return null;
}

public boolean handleMessage(SOAPMessageContext smc) {
    logToSystemOut(smc);
    return true;
}

public boolean handleFault(SOAPMessageContext smc) {
    logToSystemOut(smc);
    return true;
}

// nothing to clean up
public void close(MessageContext messageContext) {
}

public String getXmlOut() {
    return xmlOut;
}

/*
 * Check the MESSAGE_OUTBOUND_PROPERTY in the context
 * to see if this is an outgoing or incoming message.
 * Write a brief message to the print stream and
 * output the message. The writeTo() method can throw
 * SOAPException or IOException
 */
private void logToSystemOut(SOAPMessageContext smc) {
    Boolean outboundProperty = (Boolean)
        smc.get (MessageContext.MESSAGE_OUTBOUND_PROPERTY);


    SOAPMessage message = smc.getMessage();
    try {
        ByteArrayOutputStream baOut = new ByteArrayOutputStream();
        message.writeTo(baOut);
        xmlOut = new String(baOut.toByteArray());


    } catch (Exception e) {
        out.println("Exception in handler: " + e);
    }
}

}

Respuestas a la pregunta(6)

Su respuesta a la pregunta