/**
  * Test T12 - unknown header, with MustUnderstand true
  *
  * @throws Exception
  */
 public void testT12() throws Exception {
   Call call = new Call(DOC_ENDPOINT);
   call.setOperationStyle(Style.DOCUMENT);
   call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS);
   SOAPEnvelope reqEnv = new SOAPEnvelope(SOAPConstants.SOAP12_CONSTANTS);
   SOAPHeaderElement header = new SOAPHeaderElement(TEST_NS, "Unknown");
   header.setObjectValue("test header");
   header.setMustUnderstand(true);
   reqEnv.addHeader(header);
   try {
     call.invoke(reqEnv);
   } catch (AxisFault fault) {
     assertEquals(Constants.FAULT_SOAP12_MUSTUNDERSTAND, fault.getFaultCode());
     ArrayList headers = fault.getHeaders();
     // If there is a NotUnderstood header, check it
     for (Iterator i = headers.iterator(); i.hasNext(); ) {
       SOAPHeaderElement h = (SOAPHeaderElement) i.next();
       if (h.getQName().equals(Constants.QNAME_NOTUNDERSTOOD)) {
         // TODO : check qname attribute
       }
     }
     return;
   }
   fail("Didn't receive expected fault!");
 }
 /**
  * Test T5 - echoOk header to unrecognized role (should be ignored)
  *
  * @throws Exception
  */
 public void testT5() throws Exception {
   Call call = new Call(DOC_ENDPOINT);
   call.setOperationStyle(Style.DOCUMENT);
   call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS);
   SOAPEnvelope reqEnv = new SOAPEnvelope(SOAPConstants.SOAP12_CONSTANTS);
   SOAPHeaderElement header = new SOAPHeaderElement(TEST_NS, "echoOk");
   header.setRole(ROLE_B);
   header.setObjectValue("test header");
   reqEnv.addHeader(header);
   SOAPEnvelope respEnv = call.invoke(reqEnv);
   assertTrue("Got unexpected header!", respEnv.getHeaders().isEmpty());
 }
 /**
  * Test T6 - echoOk header targeted at endpoint via intermediary
  *
  * @throws Exception
  */
 public void testT6() throws Exception {
   Call call = new Call(INTERMEDIARY_ENDPOINT);
   call.setOperationStyle(Style.DOCUMENT);
   call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS);
   SOAPEnvelope reqEnv = new SOAPEnvelope(SOAPConstants.SOAP12_CONSTANTS);
   SOAPHeaderElement header = new SOAPHeaderElement(TEST_NS, "echoOk");
   header.setRole(ROLE_C);
   header.setObjectValue("test header");
   reqEnv.addHeader(header);
   SOAPEnvelope respEnv = call.invoke(reqEnv);
   SOAPHeaderElement respHeader = respEnv.getHeaderByName(TEST_NS, "responseOk");
   assertNotNull(respHeader);
   assertEquals("test header", respHeader.getValue());
 }
Пример #4
0
 public void testEnvelope(SOAPEnvelope req, SOAPEnvelope resp) throws Exception {
   // Throw a header in and echo back.
   SOAPBodyElement body = req.getFirstBody();
   resp.addBodyElement(body);
   resp.addHeader(new SOAPHeaderElement("http://db.com", "local", "value"));
 }