-
Notifications
You must be signed in to change notification settings - Fork 15
/
SOAPElementTests.java
77 lines (67 loc) · 3.02 KB
/
SOAPElementTests.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*
* Copyright (c) 1997, 2022 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0, which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package soap12;
import jakarta.xml.soap.*;
import javax.xml.namespace.QName;
import javax.xml.transform.stream.*;
import java.io.*;
import java.nio.charset.StandardCharsets;
import junit.framework.TestCase;
public class SOAPElementTests extends TestCase {
public SOAPElementTests(String name) throws Exception {
super(name);
}
public void testSetEncodingStyle1() throws Exception {
MessageFactory mFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
SOAPMessage msg = mFactory.createMessage();
SOAPBody body = msg.getSOAPBody();
SOAPBodyElement bodyElement =
body.addBodyElement(new QName("some-uri", "content", "p"));
bodyElement.setEncodingStyle("http://example.com/encoding");
assertEquals(
bodyElement.getAttributeValue(
new QName(
SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE,
"encodingStyle")),
"http://example.com/encoding");
}
/**
* Testcase for CR ID 6213337
*/
public void testSetEncodingStyle2() throws Exception {
MessageFactory mFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
SOAPFactory sFactory = SOAPFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
SOAPMessage msg = mFactory.createMessage();
SOAPBody body = msg.getSOAPBody();
SOAPElement bodyElement = sFactory.createElement("content", "p", "some-uri");
bodyElement.setEncodingStyle("http://example.com/encoding");
SOAPBodyElement addedElement = (SOAPBodyElement) body.addChildElement(bodyElement);
assertEquals(
addedElement.getAttributeValue(
new QName(
SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE,
"encodingStyle")),
"http://example.com/encoding");
}
/**
* Testcase for CR ID 6213350
*/
public void testGetEncodingStyle() throws Exception {
String xml =
"<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://www.w3.org/2003/05/soap-envelope\"><SOAP-ENV:Header/><SOAP-ENV:Body><p:content SOAP-ENV:encodingStyle=\"http://example.com/encoding\" xmlns:p=\"some-uri\"/></SOAP-ENV:Body></SOAP-ENV:Envelope>";
MessageFactory mFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
SOAPMessage msg = mFactory.createMessage();
SOAPPart soapPart = msg.getSOAPPart();
soapPart.setContent(new StreamSource(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))));
SOAPBodyElement element =
(SOAPBodyElement) msg.getSOAPBody().getChildElements().next();
assertNotNull(element.getEncodingStyle());
}
}