soapfaulttest.java

来自「开源的axis2框架的源码。用于开发WEBSERVER」· Java 代码 · 共 940 行 · 第 1/3 页

JAVA
940
字号
            envelope.addNamespaceDeclaration("cwmp", "http://cwmp.com");
            SOAPBody body = envelope.getBody();
            SOAPFault soapFault = body.addFault();
            Detail detail = soapFault.addDetail();
            detail.setAttribute("test", "myvalue");
            soapMessage.saveChanges();
        } catch (Exception e) {
            fail("Unexpected Exception : " + e);
        }
    }

    public void testFaultReasonLocales() {
        try {
            MessageFactory fac = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            SOAPMessage soapMessage = fac.createMessage();
            SOAPPart soapPart = soapMessage.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPBody body = envelope.getBody();
            //SOAPFault sf = body.addFault();
            
            Locale expected1 = Locale.ENGLISH;
            Locale expected2 = Locale.UK;
            Locale expected3 = Locale.GERMAN;
            boolean found1 = false;
            boolean found2 = false;
            boolean found3 = false;

            SOAPFault sf = body.addFault(SOAPConstants.SOAP_RECEIVER_FAULT, "Its my fault1", expected1);
            sf.addFaultReasonText("Its my fault1", expected1);
            sf.addFaultReasonText("Its my fault2", expected2);
            sf.addFaultReasonText("Its my fault3", expected3);
            Iterator i = sf.getFaultReasonLocales();

            int localeCount = 0;
            while (i.hasNext()) {
                localeCount++;
                i.next();
            }

            i = sf.getFaultReasonLocales();
            int j = 0;
            while (i.hasNext()) {
                Object o = i.next();
                if (o instanceof Locale) {
                    Locale actual = (Locale)o;
                    if (actual != null) {
                        if (actual.equals(expected1)) {
                            if (!found1) {
                                found1 = true;
                            }
                        } else if (actual.equals(expected2)) {
                            if (!found2) {
                                found2 = true;
                            }
                        } else if (actual.equals(expected3)) {
                            if (!found3) {
                                found3 = true;
                            }
                        }
                    }
                }
                j++;
            }
            if (j < 1) {
                fail("No reason text was returned");
            }
            if (j > 3) {
                fail("More than 3 Locales were returned");
            }
            if (!found1) {
                fail("The following Locale was not received: '" + expected1 + "'");
            }
            if (!found2) {
                fail("The following Locale was not received: '" + expected2 + "'");
            }
            if (!found3) {
                fail("The following Locale was not received: '" + expected3 + "'");
            }
        } catch (Exception e) {
            fail("Exception: " + e);
        }
    }

    public void testFaultStringLocale() {
        try {
            MessageFactory fac = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            //MessageFactory fac = MessageFactory.newInstance();
            SOAPMessage soapMessage = fac.createMessage();
            SOAPPart soapPart = soapMessage.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPBody body = envelope.getBody();
            SOAPFault sf = body.addFault();

            //Setting fault string with no Locale
            sf.setFaultString("this is the fault string");
            Locale result = sf.getFaultStringLocale();
            assertNotNull(result);
        } catch (Exception e) {
            fail("Exception: " + e);
        }
    }


    public void testFaultStringLocale2() {
        try {
            MessageFactory fac = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            //MessageFactory fac = MessageFactory.newInstance();
            SOAPMessage soapMessage = fac.createMessage();
            SOAPPart soapPart = soapMessage.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPBody body = envelope.getBody();
            SOAPFault sf = body.addFault();

            sf.setFaultString("this is the fault string");
            Locale result = sf.getFaultStringLocale();
            assertNotNull(result);
            assertTrue(result.equals(Locale.getDefault()));
        }
        catch (Exception e) {
            fail("Exception: " + e);
        }
    }

    public void testSetFaultStringLocale() {
        try {
            MessageFactory fac = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            //MessageFactory fac = MessageFactory.newInstance();
            SOAPMessage soapMessage = fac.createMessage();
            SOAPPart soapPart = soapMessage.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPBody body = envelope.getBody();
            SOAPFault sf = body.addFault();

            Locale expected = Locale.ENGLISH;
            sf.setFaultString("this is the fault string", expected);
            Locale result = sf.getFaultStringLocale();
            assertNotNull(result);
            assertTrue(result.equals(expected));
        } catch (Exception e) {
            fail("Exception: " + e);
        }
    }


    public void testFaultCodeWithPrefix1() {
        try {
            MessageFactory fac = MessageFactory.newInstance();
            SOAPMessage soapMessage = fac.createMessage();
            SOAPPart soapPart = soapMessage.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPBody body = envelope.getBody();
            SOAPFault sf = body.addFault();

            String prefix = "wso2";
            sf.setFaultCode(prefix + ":Server");
            String result = sf.getFaultCode();

            assertNotNull(result);
            assertEquals(prefix + ":Server", result);
        } catch (Exception e) {
            fail(e.getMessage());
        }
    }

    public void testFaultCodeWithPrefix2() {
        try {
            MessageFactory fac = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            SOAPMessage soapMessage = fac.createMessage();
            SOAPPart soapPart = soapMessage.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPBody body = envelope.getBody();
            SOAPFault sf = body.addFault();

            String prefix = "wso2";
            sf.setFaultCode(prefix + ":Server");
            String result = sf.getFaultCode();

            assertNotNull(result);
            assertEquals(prefix + ":Server", result);
        } catch (Exception e) {
            fail(e.getMessage());
        }
    }

    public void testSetGetFaultCodeAsName1() {
        try {
            SOAPFactory fac = SOAPFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
            SOAPFault sf = fac.createFault();

            Name name = fac.createName("myfault", "flt", "http://example.com");
            sf.setFaultCode(name);
            
            Name name2 = sf.getFaultCodeAsName();            
            assertNotNull(name2);
            assertEquals(name.getLocalName(), name2.getLocalName());
            assertEquals(name.getPrefix(), name2.getPrefix());
            assertEquals(name.getURI(), name2.getURI());
            
            QName name3 = sf.getFaultCodeAsQName();            
            assertNotNull(name3);
            assertEquals(name.getLocalName(), name3.getLocalPart());
            assertEquals(name.getPrefix(), name3.getPrefix());
            assertEquals(name.getURI(), name3.getNamespaceURI());
            
        } catch (Exception e) {
            fail(e.getMessage());
        }
    }


    public void testSetGetFaultCodeAsName2() {
        try {
            QName qname = SOAPConstants.SOAP_SENDER_FAULT;
            SOAPFactory fac = SOAPFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            Name name = fac.createName(qname.getLocalPart(),
                                       qname.getPrefix(), qname.getNamespaceURI());
            SOAPFault sf = fac.createFault();
            sf.setFaultCode(name);
            
            Name name2 = sf.getFaultCodeAsName();            
            assertNotNull(name2);
            assertEquals(name.getLocalName(), name2.getLocalName());
            assertEquals(name.getPrefix(), name2.getPrefix());
            assertEquals(name.getURI(), name2.getURI());
            
            QName name3 = sf.getFaultCodeAsQName();            
            assertNotNull(name3);
            assertEquals(name.getLocalName(), name3.getLocalPart());
            assertEquals(name.getPrefix(), name3.getPrefix());
            assertEquals(name.getURI(), name3.getNamespaceURI());
                      
        } catch (Exception e) {
            fail(e.getMessage());
        }

    }


    public void testSetGetFaultCodeAsQName1() throws Exception {
        SOAPFactory fac = SOAPFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
        SOAPFault sf = fac.createFault();

        QName name = new QName("http://example.com", "myfault", "flt");
        sf.setFaultCode(name);
        
        QName name2 = sf.getFaultCodeAsQName();
        assertNotNull(name2);
        assertEquals(name.getLocalPart(), name2.getLocalPart());
        assertEquals(name.getPrefix(), name2.getPrefix());
        assertEquals(name.getNamespaceURI(), name2.getNamespaceURI());
        
        Name name3 = sf.getFaultCodeAsName();
        assertNotNull(name3);
        assertEquals(name.getLocalPart(), name3.getLocalName());
        assertEquals(name.getPrefix(), name3.getPrefix());
        assertEquals(name.getNamespaceURI(), name3.getURI());
    }


    public void testSetGetFaultCodeAsQName2() {
        try {
            QName name = SOAPConstants.SOAP_SENDER_FAULT;
            SOAPFactory fac = SOAPFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            SOAPFault sf = fac.createFault();
            sf.setFaultCode(name);
            
            QName name2 = sf.getFaultCodeAsQName();
            assertNotNull(name2);
            assertEquals(name.getLocalPart(), name2.getLocalPart());
            assertEquals(name.getPrefix(), name2.getPrefix());
            assertEquals(name.getNamespaceURI(), name2.getNamespaceURI());
            
            Name name3 = sf.getFaultCodeAsName();
            assertNotNull(name3);
            assertEquals(name.getLocalPart(), name3.getLocalName());
            assertEquals(name.getPrefix(), name3.getPrefix());
            assertEquals(name.getNamespaceURI(), name3.getURI());
        } catch (Exception e) {
            fail(e.getMessage());
        }
    }

    public void testFault12Defaults() {
        try {
            MessageFactory messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
            SOAPMessage message = messageFactory.createMessage();
            SOAPBody body = message.getSOAPBody();
            SOAPFault fault = body.addFault();
            assertNotNull(fault.getFaultCodeAsQName());
            assertNotNull(fault.getFaultString());
        } catch (Exception e) {
            fail(e.getMessage());
        }
    }

    public void testFault11Defaults() {
        try {
            MessageFactory messageFactory = MessageFactory.newInstance();
            SOAPMessage message = messageFactory.createMessage();
            SOAPBody body = message.getSOAPBody();
            SOAPFault fault = body.addFault();

            assertNotNull(fault.getFaultCodeAsQName());
            assertNotNull(fault.getFaultString());
        } catch (Exception e) {
            fail(e.getMessage());
        }
    }


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?