AbstractStaxStreamPayloadEndpoint still not working
Hi!
This is my test code to parse a request message and create a response with
an AbstractStaxStreamPayloadEndpoint:
Code:
public class OfficeRegisterWSEndpoint extends AbstractStaxStreamPayloadEndpoint {
protected void invokeInternal(XMLStreamReader streamReader, XMLStreamWriter streamWriter) {
try {
while (streamReader.hasNext()) {
int event = streamReader.next();
switch (event) {
case XMLStreamConstants.END_DOCUMENT:
streamReader.close();
break;
case XMLStreamConstants.START_ELEMENT:
if (streamReader.getLocalName().equals("officeId")) {
event = streamReader.next();
if (event == XMLStreamConstants.CHARACTERS) {
if (!streamReader.isWhiteSpace())
Long officeId = Long.valueOf(streamReader.getText());
//call a servie method with id
createResponse(streamWriter);
return;
}
}
default:
break;
}
}
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
private void createResponse(XMLStreamWriter writer) {
try {
writer.writeStartElement("TestResponse");
writer.writeStartElement("TestElement");
writer.writeCharacters("xyz");
writer.writeEndElement();
writer.writeEndElement();
writer.flush();
writer.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
Parsing of the message works fine but writing the response fails somehow.
No response is created at all. There are no exceptions in the log or on stdout but i guess somewhere an exception is silently caught and not treated or logged.
thx & regards!