WrappedOutInterceptor wrappedOut = new WrappedOutInterceptor(Phase.PRE_LOGICAL);
wrappedOut.addAfter(getId());
chain.add(wrappedOut);
final XMLMessageOutInterceptor xmlOut = new XMLMessageOutInterceptor(Phase.PRE_LOGICAL);
xmlOut.addAfter(wrappedOut.getId());
chain.add(xmlOut);
Endpoint ep = message.getExchange().get(Endpoint.class);
URIMapper mapper = (URIMapper) ep.getService().get(URIMapper.class.getName());
BindingOperationInfo bop = message.getExchange().get(BindingOperationInfo.class);
String verb = mapper.getVerb(bop);
message.put(Message.HTTP_REQUEST_METHOD, verb);
boolean putOrPost = verb.equals(HttpConstants.POST) || verb.equals(HttpConstants.PUT);
if (putOrPost) {
chain.add(new URIParameterOutInterceptor());
chain.add(new DocumentWriterInterceptor());
chain.add(new AbstractPhaseInterceptor<Message>("remove-writer",
Phase.PREPARE_SEND) {
{
addAfter(xmlOut.getId());
addBefore(MessageSenderInterceptor.class.getName());
}
public void handleMessage(Message message) throws Fault {
message.removeContent(XMLStreamWriter.class);
}