📄 whitemesasoap12addtestsvctestcase.java
字号:
} fail("Should have received sender fault!"); } public void testXMLP8() throws Exception { Call call = new Call(DOC_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); QName qname = new QName(TEST_NS, "echoReceiverFault"); try { call.invoke(qname, null); } catch (AxisFault af) { assertEquals(Constants.FAULT_SOAP12_RECEIVER, af.getFaultCode()); return; // success } fail("Should have received receiver fault!"); } /** * Test xmlp-9 : do an "echoString" call with a bad (unknown) encoding * style on the argument. Confirm Sender fault from endpoint. * * @throws Exception */ public void testXMLP9() throws Exception { Call call = new Call(RPC_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); SOAPEnvelope reqEnv = new SOAPEnvelope(SOAPConstants.SOAP12_CONSTANTS); SOAPBodyElement body = new SOAPBodyElement(new PrefixedQName(TEST_NS, "echoString", "ns")); reqEnv.addBodyElement(body); MessageElement arg = new MessageElement("", "inputString"); arg.setEncodingStyle("http://this-is-a-bad-encoding-style"); body.addChild(arg); try { call.invoke(reqEnv); } catch (AxisFault fault) { assertEquals(Constants.FAULT_SOAP12_DATAENCODINGUNKNOWN, fault.getFaultCode()); return; } fail("Didn't catch expected fault"); } /** * Test xmlp-10 : reply with the schema types of the arguments, in order */// public void testXMLP10() throws Exception {// Call call = new Call(RPC_ENDPOINT);// call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS);// SOAPEnvelope reqEnv = new SOAPEnvelope(SOAPConstants.SOAP12_CONSTANTS);// SOAPBodyElement body = new SOAPBodyElement(// new PrefixedQName(TEST_NS,// "echoSimpleTypesAsStructOfSchemaTypes", "ns"));// reqEnv.addBodyElement(body);// MessageElement arg = new MessageElement("", "input1");// arg.setObjectValue(new Integer(5));// body.addChild(arg);// arg = new MessageElement("", "input2");// arg.setObjectValue(new Float(5.5F));// body.addChild(arg);// arg = new MessageElement("", "input3");// arg.setObjectValue("hi there");// body.addChild(arg);// arg = new MessageElement("", "input4");// Text text = new Text("untyped");// arg.addChild(text);// body.addChild(arg);// call.invoke(reqEnv);// } /** * Test xmlp-11 : send a string where an integer is expected, confirm * BadArguments fault. * * @throws Exception */ public void testXMLP11() throws Exception { Call call = new Call(RPC_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); call.setProperty(Call.SEND_TYPE_ATTR, Boolean.FALSE); try { call.invoke(new QName(TEST_NS, "echoInteger"), new Object [] { new RPCParam("inputInteger", "ceci n'est pas un int") } ); } catch (AxisFault fault) { assertEquals(Constants.FAULT_SOAP12_SENDER, fault.getFaultCode()); QName [] subCodes = fault.getFaultSubCodes(); assertNotNull(subCodes); assertEquals(1, subCodes.length); assertEquals(Constants.FAULT_SUBCODE_BADARGS, subCodes[0]); return; } fail("Didn't catch expected fault"); } /** * Test xmlp-12 : unknown method call to RPC endpoint. Confirm * "ProcedureNotPresent" subcode of "Sender" fault. * * @throws Exception */ public void testXMLP12() throws Exception { Call call = new Call(RPC_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); call.addParameter(new QName("inputInteger"), Constants.XSD_INT, ParameterMode.IN); try { call.invoke(new QName(TEST_NS, "unknownFreakyMethod"), new Object [] { new Integer(5) }); } catch (AxisFault fault) { assertEquals(Constants.FAULT_SOAP12_SENDER, fault.getFaultCode()); QName [] subCodes = fault.getFaultSubCodes(); assertNotNull(subCodes); assertEquals(1, subCodes.length); assertEquals(Constants.FAULT_SUBCODE_PROC_NOT_PRESENT, subCodes[0]); return; } fail("Didn't catch expected fault"); } /** * Test xmlp-13 : doc/lit echoString which sends back the original * message via a transparent "forwarding intermediary" * */ public void testXMLP13() throws Exception { String ARG = "i FeEL sTrAnGEly CAsEd (but I like it)"; Call call = new Call(DOC_INT_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); call.setOperationStyle(Style.WRAPPED); call.addParameter(new QName(TEST_NS, "inputString"), Constants.XSD_STRING, ParameterMode.IN); call.setReturnType(Constants.XSD_STRING); String ret = (String)call.invoke(ECHO_STRING_QNAME, new Object [] { ARG }); assertEquals("Return didn't match argument", ARG, ret); } /** * Test xmlp-14 : doc/lit echoString which sends back the original * message via an "active intermediary" (translating the string * to uppercase) * */ public void testXMLP14() throws Exception { String ARG = "i FeEL sTrAnGEly CAsEd (and dream of UPPER)"; Call call = new Call(DOC_INT_UC_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); call.setOperationStyle(Style.WRAPPED); call.addParameter(new QName(TEST_NS, "inputString"), Constants.XSD_STRING, ParameterMode.IN); call.setReturnType(Constants.XSD_STRING); String ret = (String)call.invoke(ECHO_STRING_QNAME, new Object [] { ARG }); assertEquals("Return wasn't uppercased argument", ARG.toUpperCase(), ret); } public void testXMLP15() throws Exception { String HEADER_VAL = "I'm going to be discarded!"; String HEADER_NS = "http://test-xmlp-15"; String HEADER_NAME = "unknown"; Call call = new Call(DOC_INT_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); call.setOperationStyle(Style.WRAPPED); call.setOperationUse(Use.LITERAL); SOAPHeaderElement header = new SOAPHeaderElement(HEADER_NS, HEADER_NAME); header.setRole(Constants.URI_SOAP12_NEXT_ROLE); header.setObjectValue(HEADER_VAL); call.addHeader(header); call.invoke(ECHO_STRING_QNAME, new Object [] { "body string" }); SOAPEnvelope respEnv = call.getMessageContext().getResponseMessage().getSOAPEnvelope(); // Confirm we got no headers back Vector headers = respEnv.getHeaders(); assertTrue("Headers Vector wasn't empty", headers.isEmpty()); } public void testXMLP16() throws Exception { String HEADER_VAL = "I'm going all the way through!"; String HEADER_NS = "http://test-xmlp-16"; String HEADER_NAME = "unknown"; QName HEADER_QNAME = new QName(HEADER_NS, HEADER_NAME); Call call = new Call(DOC_INT_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); SOAPHeaderElement header = new SOAPHeaderElement(HEADER_NS, HEADER_NAME); header.setRole(Constants.URI_SOAP12_NONE_ROLE); header.setObjectValue(HEADER_VAL); call.addHeader(header); call.invoke(ECHO_STRING_QNAME, new Object [] { "body string" }); SOAPEnvelope respEnv = call.getMessageContext().getResponseMessage().getSOAPEnvelope(); // Confirm we got our header back Vector headers = respEnv.getHeaders(); assertEquals(1, headers.size()); SOAPHeaderElement respHeader = (SOAPHeaderElement)headers.get(0); assertEquals(Constants.URI_SOAP12_NONE_ROLE, respHeader.getRole()); assertEquals(HEADER_QNAME, respHeader.getQName()); assertEquals(HEADER_VAL, respHeader.getValue()); } public void testXMLP17() throws Exception { String HEADER_VAL = "I'm going all the way through!"; String HEADER_NS = "http://test-xmlp-17"; String HEADER_NAME = "seekrit"; QName HEADER_QNAME = new QName(HEADER_NS, HEADER_NAME); Call call = new Call(DOC_INT_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); SOAPHeaderElement header = new SOAPHeaderElement(HEADER_NS, HEADER_NAME); header.setRole(Constants.URI_SOAP12_ULTIMATE_ROLE); header.setObjectValue(HEADER_VAL); call.addHeader(header); call.invoke(ECHO_STRING_QNAME, new Object [] { "body string" }); SOAPEnvelope respEnv = call.getMessageContext().getResponseMessage().getSOAPEnvelope(); // Confirm we got a single header back, targeted at the ultimate // receiver Vector headers = respEnv.getHeaders(); assertEquals(1, headers.size()); SOAPHeaderElement respHeader = (SOAPHeaderElement)headers.get(0); assertEquals(Constants.URI_SOAP12_ULTIMATE_ROLE, respHeader.getRole()); assertEquals(HEADER_QNAME, respHeader.getQName()); assertEquals(HEADER_VAL, respHeader.getValue()); } public void testXMLP18() throws Exception { String HEADER_VAL = "I'm going all the way through!"; String HEADER_NS = "http://test-xmlp-17"; String HEADER_NAME = "seekrit"; QName HEADER_QNAME = new QName(HEADER_NS, HEADER_NAME); Call call = new Call(DOC_INT_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); SOAPHeaderElement header = new SOAPHeaderElement(HEADER_NS, HEADER_NAME); header.setRole(Constants.URI_SOAP12_NEXT_ROLE); header.setRelay(true); header.setObjectValue(HEADER_VAL); call.addHeader(header); call.invoke(ECHO_STRING_QNAME, new Object [] { "body string" }); SOAPEnvelope respEnv = call.getMessageContext().getResponseMessage().getSOAPEnvelope(); // Confirm we got a single header back, targeted at the ultimate // receiver Vector headers = respEnv.getHeaders(); assertEquals(1, headers.size()); SOAPHeaderElement respHeader = (SOAPHeaderElement)headers.get(0); assertEquals(Constants.URI_SOAP12_NEXT_ROLE, respHeader.getRole()); assertTrue(respHeader.getRelay()); assertEquals(HEADER_QNAME, respHeader.getQName()); assertEquals(HEADER_VAL, respHeader.getValue()); } public void testXMLP19() throws Exception { String HEADER_VAL = "I'm going to generate a fault!"; String HEADER_NS = "http://test-xmlp-17"; String HEADER_NAME = "seekrit"; Call call = new Call(DOC_INT_ENDPOINT); call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); SOAPHeaderElement header = new SOAPHeaderElement(HEADER_NS, HEADER_NAME); header.setRole(Constants.URI_SOAP12_NEXT_ROLE); header.setMustUnderstand(true); header.setObjectValue(HEADER_VAL); call.addHeader(header); try { call.invoke(ECHO_STRING_QNAME, new Object [] { "body string" }); } catch (AxisFault fault) { // Got the expected Fault - make sure it looks right assertEquals(Constants.FAULT_SOAP12_MUSTUNDERSTAND, fault.getFaultCode()); return; } fail("Didn't catch expected fault"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -