integrationtest.java
来自「开源的axis2框架的源码。用于开发WEBSERVER」· Java 代码 · 共 378 行 · 第 1/2 页
JAVA
378 行
SOAPConnection sCon = SOAPConnectionFactory.newInstance().createConnection();
SOAPMessage response = sCon.call(request, getAddress());
int attachmentCount = response.countAttachments();
assertTrue(attachmentCount == 2);
Iterator attachIter = response.getAttachments();
int i = 0;
while (attachIter.hasNext()) {
AttachmentPart attachment = (AttachmentPart)attachIter.next();
final Object content = attachment.getDataHandler().getContent();
if (content instanceof String) {
assertEquals(sampleMessage, (String)content);
} else if (content instanceof ByteArrayInputStream) {
ByteArrayInputStream bais = (ByteArrayInputStream)content;
byte[] b = new byte[15000];
final int lengthRead = bais.read(b);
FileOutputStream fos =
new FileOutputStream(new File(System.getProperty("basedir", ".") + "/" +
"target/test-resources/result" + (i++) + ".jpg"));
fos.write(b, 0, lengthRead);
fos.flush();
fos.close();
assertTrue(attachment.getContentType().equals("image/jpeg")
|| attachment.getContentType().equals("text/plain"));
}
}
sCon.close();
}
public void testSendReceiveNonRefAttachment() throws Exception {
MessageFactory mf = MessageFactory.newInstance();
SOAPMessage request = mf.createMessage();
//create the SOAPPart
createSimpleSOAPPart(request);
//Attach a text/plain object with the SOAP request
String sampleMessage = "Sample Message: Hello World!";
AttachmentPart textAttach = request.createAttachmentPart(sampleMessage, "text/plain");
request.addAttachmentPart(textAttach);
//Attach a java.awt.Image object to the SOAP request
String jpgfilename =
System.getProperty("basedir", ".") + "/" + "target/test-resources/axis2.jpg";
File myfile = new File(jpgfilename);
FileDataSource fds = new FileDataSource(myfile);
DataHandler imageDH = new DataHandler(fds);
AttachmentPart jpegAttach = request.createAttachmentPart(imageDH);
jpegAttach.addMimeHeader("Content-Transfer-Encoding", "binary");
jpegAttach.setContentType("image/jpg");
request.addAttachmentPart(jpegAttach);
SOAPConnection sCon = SOAPConnectionFactory.newInstance().createConnection();
SOAPMessage response = sCon.call(request, getAddress());
int attachmentCount = response.countAttachments();
assertTrue(attachmentCount == 2);
Iterator attachIter = response.getAttachments();
while (attachIter.hasNext()) {
AttachmentPart attachment = (AttachmentPart)attachIter.next();
final Object content = attachment.getDataHandler().getContent();
if (content instanceof String) {
assertEquals(sampleMessage, (String)content);
} else if (content instanceof ByteArrayInputStream) {
ByteArrayInputStream bais = (ByteArrayInputStream)content;
byte[] b = new byte[15000];
final int lengthRead = bais.read(b);
FileOutputStream fos =
new FileOutputStream(new File(System.getProperty("basedir", ".") + "/" +
"target/target/test-resources/axis2.jpg"));
fos.write(b, 0, lengthRead);
fos.flush();
fos.close();
assertTrue(attachment.getContentType().equals("image/jpeg")
|| attachment.getContentType().equals("text/plain"));
}
}
sCon.close();
}
private void createSOAPPart(SOAPMessage message) throws SOAPException {
SOAPPart sPart = message.getSOAPPart();
SOAPEnvelope env = sPart.getEnvelope();
SOAPBody body = env.getBody();
final SOAPHeader soapHeader = env.getHeader();
soapHeader
.addHeaderElement(env.createName("TestHeader1", "swa", "http://fakeNamespace.org"));
soapHeader
.addHeaderElement(env.createName("TestHeader2", "swa", "http://fakeNamespace.org"));
final SOAPHeaderElement headerEle3 =
soapHeader.addHeaderElement(
env.createName("TestHeader3", "swa", "http://fakeNamespace.org"));
final SOAPElement ch1 = headerEle3.addChildElement("he3", "swa");
ch1.addTextNode("Im Header Element of header3");
Name ns = env.createName("echo", "swa", "http://fakeNamespace.org");
SOAPBodyElement bodyElement = body.addBodyElement(ns);
Name nameMain = env.createName("internal");
SOAPElement mainChildEle = bodyElement.addChildElement(nameMain);
Name ns2 = env.createName("text");
SOAPElement textReference = mainChildEle.addChildElement(ns2);
Name hrefAttr = env.createName("href");
textReference.addAttribute(hrefAttr, "cid:submitSampleText@apache.org");
Name ns3 = env.createName("image");
SOAPElement imageReference = mainChildEle.addChildElement(ns3);
Name ns31 = env.createName("inner");
final SOAPElement img = imageReference.addChildElement(ns31);
img.addAttribute(hrefAttr, "cid:submitSampleImage@apache.org");
Name ns4 = env.createName("plaintxt");
SOAPElement plainTxt = mainChildEle.addChildElement(ns4);
plainTxt.addTextNode("This is simple plain text");
Name ns5 = env.createName("nested");
SOAPElement nested = mainChildEle.addChildElement(ns5);
nested.addTextNode("Nested1 Plain Text");
Name ns6 = env.createName("nested2");
SOAPElement nested2 = nested.addChildElement(ns6);
nested2.addTextNode("Nested2 Plain Text");
}
private void createSimpleSOAPPart(SOAPMessage message) throws SOAPException {
SOAPPart sPart = message.getSOAPPart();
SOAPEnvelope env = sPart.getEnvelope();
SOAPBody body = env.getBody();
SOAPHeader header = env.getHeader();
header.addHeaderElement(env.createName("Header1",
"pref",
"http://test.apach.org/test"))
.addTextNode("This is header1");
Name ns = env.createName("echo", "swa2", "http://fakeNamespace2.org");
final SOAPBodyElement bodyElement = body.addBodyElement(ns);
Name ns2 = env.createName("something");
final SOAPElement ele1 = bodyElement.addChildElement(ns2);
ele1.addTextNode("This is some text");
Name ns3 = env.createName("ping", "swa3", "http://fakeNamespace3.org");
final SOAPBodyElement bodyElement2 = body.addBodyElement(ns3);
Name ns4 = env.createName("another");
final SOAPElement ele2 = bodyElement2.addChildElement(ns4);
ele2.addTextNode("This is another text");
}
public void testSendReceive_ISO88591_EncodedSOAPMessage() {
try{
MimeHeaders mimeHeaders = new MimeHeaders();
mimeHeaders.addHeader("Content-Type", "text/xml; charset=iso-8859-1");
FileInputStream fileInputStream = new FileInputStream(System.getProperty("basedir", ".") +
"/test-resources" + File.separator + "soap-part-iso-8859-1.xml");
SOAPMessage requestMessage = MessageFactory.newInstance().createMessage(mimeHeaders,fileInputStream);
SOAPConnection sCon = SOAPConnectionFactory.newInstance().createConnection();
SOAPMessage response = sCon.call(requestMessage, getAddress());
assertFalse(response.getAttachments().hasNext());
assertEquals(0, response.countAttachments());
printSOAPMessage(requestMessage);
String responseStr = printSOAPMessage(response);
assertTrue(responseStr.indexOf("This is some text.Here are some special chars : öÆÚ®¤") != -1);
assertTrue(responseStr.indexOf("echo") != -1);
sCon.close();
} catch (SOAPException e) {
e.printStackTrace();
fail("Unexpected Exception while running test: " + e);
} catch (IOException e) {
fail("Unexpected Exception while running test: " + e);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?