use of org.apache.cxf.message.MessageImpl in project cxf by apache.
the class SoapFaultSerializerTest method testCXF4181.
@Test
public void testCXF4181() throws Exception {
// Try WITH SAAJ
SoapMessage m = new SoapMessage(new MessageImpl());
m.put(Message.HTTP_REQUEST_METHOD, "POST");
m.setVersion(Soap12.getInstance());
XMLStreamReader reader = StaxUtils.createXMLStreamReader(this.getClass().getResourceAsStream("cxf4181.xml"));
m.setContent(XMLStreamReader.class, reader);
new SAAJPreInInterceptor().handleMessage(m);
new ReadHeadersInterceptor(null).handleMessage(m);
new StartBodyInterceptor().handleMessage(m);
new SAAJInInterceptor().handleMessage(m);
new Soap12FaultInInterceptor().handleMessage(m);
Node nd = m.getContent(Node.class);
SOAPPart part = (SOAPPart) nd;
assertEquals("S", part.getEnvelope().getPrefix());
assertEquals("S2", part.getEnvelope().getHeader().getPrefix());
assertEquals("S3", part.getEnvelope().getBody().getPrefix());
SOAPFault fault = part.getEnvelope().getBody().getFault();
assertEquals("S", fault.getPrefix());
assertEquals("Authentication Failure", fault.getFaultString());
SoapFault fault2 = (SoapFault) m.getContent(Exception.class);
assertNotNull(fault2);
assertEquals(Soap12.getInstance().getSender(), fault2.getFaultCode());
assertEquals(new QName("http://schemas.xmlsoap.org/ws/2005/02/trust", "FailedAuthentication"), fault2.getSubCode());
Element el = part.getEnvelope().getBody();
nd = el.getFirstChild();
int count = 0;
while (nd != null) {
if (nd instanceof Element) {
count++;
}
nd = nd.getNextSibling();
}
assertEquals(1, count);
// Try WITHOUT SAAJ
m = new SoapMessage(new MessageImpl());
m.setVersion(Soap12.getInstance());
reader = StaxUtils.createXMLStreamReader(this.getClass().getResourceAsStream("cxf4181.xml"));
m.setContent(XMLStreamReader.class, reader);
m.put(Message.HTTP_REQUEST_METHOD, "POST");
new ReadHeadersInterceptor(null).handleMessage(m);
new StartBodyInterceptor().handleMessage(m);
new Soap12FaultInInterceptor().handleMessage(m);
// nd = m.getContent(Node.class);
fault2 = (SoapFault) m.getContent(Exception.class);
assertNotNull(fault2);
assertEquals(Soap12.getInstance().getSender(), fault2.getFaultCode());
assertEquals(new QName("http://schemas.xmlsoap.org/ws/2005/02/trust", "FailedAuthentication"), fault2.getSubCode());
}
use of org.apache.cxf.message.MessageImpl in project cxf by apache.
the class SoapFaultSerializerTest method testCXF5493.
@Test
public void testCXF5493() throws Exception {
SoapMessage m = new SoapMessage(new MessageImpl());
m.setVersion(Soap11.getInstance());
XMLStreamReader reader = StaxUtils.createXMLStreamReader(this.getClass().getResourceAsStream("cxf5493.xml"));
m.setContent(XMLStreamReader.class, reader);
// env
reader.nextTag();
// body
reader.nextTag();
// fault
reader.nextTag();
Soap11FaultInInterceptor inInterceptor = new Soap11FaultInInterceptor();
inInterceptor.handleMessage(m);
SoapFault fault2 = (SoapFault) m.getContent(Exception.class);
assertNotNull(fault2);
assertEquals(Soap11.getInstance().getReceiver(), fault2.getFaultCode());
assertEquals("some text containing a xml tag <xml-tag>", fault2.getMessage());
m = new SoapMessage(new MessageImpl());
m.put(Message.HTTP_REQUEST_METHOD, "POST");
m.setVersion(Soap11.getInstance());
reader = StaxUtils.createXMLStreamReader(this.getClass().getResourceAsStream("cxf5493.xml"));
m.setContent(XMLStreamReader.class, reader);
new SAAJPreInInterceptor().handleMessage(m);
new ReadHeadersInterceptor(null).handleMessage(m);
new StartBodyInterceptor().handleMessage(m);
new SAAJInInterceptor().handleMessage(m);
new Soap11FaultInInterceptor().handleMessage(m);
fault2 = (SoapFault) m.getContent(Exception.class);
assertNotNull(fault2);
assertEquals(Soap11.getInstance().getReceiver(), fault2.getFaultCode());
assertEquals("some text containing a xml tag <xml-tag>", fault2.getMessage());
}
use of org.apache.cxf.message.MessageImpl in project cxf by apache.
the class TestUtil method createEmptySoapMessage.
public static SoapMessage createEmptySoapMessage(SoapVersion soapVersion, InterceptorChain chain) {
Exchange exchange = new ExchangeImpl();
MessageImpl messageImpl = new MessageImpl();
messageImpl.setInterceptorChain(chain);
messageImpl.setExchange(exchange);
SoapMessage soapMessage = new SoapMessage(messageImpl);
soapMessage.setVersion(soapVersion);
soapMessage.put(Message.HTTP_REQUEST_METHOD, "POST");
return soapMessage;
}
use of org.apache.cxf.message.MessageImpl in project cxf by apache.
the class SoapPreProtocolOutInterceptorTest method setUpMessage.
private SoapMessage setUpMessage() throws Exception {
SoapMessage message = new SoapMessage(new MessageImpl());
Exchange exchange = new ExchangeImpl();
BindingOperationInfo bop = setUpBindingOperationInfo("http://foo/bar", "opReq", "opResp", SEI.class.getMethod("op", new Class[0]));
SoapOperationInfo sop = new SoapOperationInfo();
sop.setAction("http://foo/bar/SEI/opReq");
bop.addExtensor(sop);
exchange.put(BindingOperationInfo.class, bop);
message.setExchange(exchange);
message.put(Message.REQUESTOR_ROLE, Boolean.TRUE);
control.replay();
return message;
}
use of org.apache.cxf.message.MessageImpl in project cxf by apache.
the class UriInfoImplTest method mockMessage.
private Message mockMessage(String baseAddress, String pathInfo, String query, String fragment) {
Message m = new MessageImpl();
control.reset();
Exchange e = new ExchangeImpl();
m.setExchange(e);
ServletDestination d = control.createMock(ServletDestination.class);
e.setDestination(d);
EndpointInfo epr = new EndpointInfo();
epr.setAddress(baseAddress);
d.getEndpointInfo();
EasyMock.expectLastCall().andReturn(epr).anyTimes();
m.put(Message.REQUEST_URI, pathInfo);
m.put(Message.QUERY_STRING, query);
control.replay();
return m;
}
Aggregations