在这个问题上,我工作了三天(译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注:译者注。这是我的简单演示实现
public static class MySendingReturn extends AbstractPhaseInterceptor<Message> {
public MySendingReturn() {
super(Phase.SEND);
}
@Override
public void handleMessage(Message message) throws Fault {
XMLStreamWriter content = message.getContent(XMLStreamWriter.class);
try {
MySchema context = new MySchema();
content.writeStartElement("testOperationWithParameter");
content.writeStartElement("returnValue");
content.writeCharacters("Halllllo-Return");
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
}
XMLStreamWriter的当前元素是SoapMessage的BODY元素。我在我的服务实例上注册的侦听器:
service.getOutInterceptors().add(new MySendingReturn());