Можно ли использовать jax-ws для генерации XML, но НЕ отправлять его

Итак, вот сценарий: у нас есть PeopleSoft, и мы хотим отправлять сообщения туда и обратно от Salesforce. К сожалению, PeopleSoft не имеет такого инструмента, как wsimport, который использует wsdl и генерирует классы для вас. Есть что-то, что потребляет wsdl, но все, что он делает, это генерирует объекты-заглушки. Разработчику все равно придется написать код для ручной генерации строки сообщения xml.

Я, очевидно, не хочу делать все это. Так что я знаю, что Java можно вызывать из PeopleSoft. Я также знаю, что могу отправлять сообщения, используя только сгенерированные классы, но я бы хотел использовать функции мониторинга сообщений, встроенные в PeopleSoft.

Итак, возможное решение, о котором я думаю, будет:

вызовите метод веб-сервиса в Java (без отправки сообщения)Возьмите XMLотправить XML через механизмыoplesoftзахватить ответ xmlпередать ответ XML в класс ответа JavaИспользуйте Java-классы, чтобы получить значения в XML

Я сумасшедший или это возможно?

постскриптум я новичок Java-разработчик

Вот мой класс обработчика для захвата xml, но нужен какой-то способ предотвращения отправки сообщения.

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);
    }
}

}

Ответы на вопрос(3)

Ваш ответ на вопрос