Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soap:Body>
- <validateCredentialsResponse
- xmlns="http://www.paragon.com/positionmonitor/PositionMonitor">
- <validateCredentialsResult>
- <ResultData xsi:type="ValidateCredentialsResultData">
- <validated>true</validated>
- <alreadyLoggedIn>false</alreadyLoggedIn>
- </ResultData>
- <Status>
- <Condition xmlns="">SUCCESS</Condition>
- <ErrorCode xmlns="">BO.00000</ErrorCode>
- <ErrorDesc xmlns="">OK</ErrorDesc>
- </Status>
- </validateCredentialsResult>
- </validateCredentialsResponse>
- </soap:Body>
- </soap:Envelope>
- SOAPEnvelope env = reply.getSOAPPart().getEnvelope();
- import java.io.ByteArrayInputStream;
- import java.io.IOException;
- import java.nio.charset.Charset;
- import java.util.ArrayList;
- import java.util.List;
- import javax.xml.soap.MessageFactory;
- import javax.xml.soap.MimeHeaders;
- import javax.xml.soap.SOAPBody;
- import javax.xml.soap.SOAPException;
- import javax.xml.soap.SOAPMessage;
- import org.w3c.dom.Element;
- import org.w3c.dom.Node;
- import org.w3c.dom.NodeList;
- public class Jaxm {
- private static List<Element> elements(NodeList nodes) {
- List<Element> result = new ArrayList<Element>(nodes.getLength());
- for (int i = 0; i < nodes.getLength(); i++) {
- Node node = nodes.item(i);
- if (node instanceof Element)
- result.add((Element)node);
- }
- return result;
- }
- private static Element named(Element elem, String name) {
- if (!elem.getNodeName().equals(name))
- throw new IllegalArgumentException("Expected " + name + ", got " + elem.getNodeName());
- return elem;
- }
- @SuppressWarnings("unchecked")
- public static void main(String[] args) throws IOException, SOAPException {
- String xml = "<?xml version="1.0" encoding="utf-8"?>rn" +
- "<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" rn" +
- " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" rn" +
- " xmlns:xsd="http://www.w3.org/2001/XMLSchema">rn" +
- " <soap:Body>rn" +
- " <validateCredentialsResponse rn" +
- " xmlns="http://www.paragon.com/positionmonitor/PositionMonitor">rn" +
- " <validateCredentialsResult>rn" +
- " <ResultData xsi:type="ValidateCredentialsResultData">rn" +
- " <validated>true</validated>rn" +
- " <alreadyLoggedIn>false</alreadyLoggedIn>rn" +
- " </ResultData>rn" +
- " <Status>rn" +
- " <Condition xmlns="">SUCCESS</Condition>rn" +
- " <ErrorCode xmlns="">BO.00000</ErrorCode>rn" +
- " <ErrorDesc xmlns="">OK</ErrorDesc>rn" +
- " </Status>rn" +
- " </validateCredentialsResult>rn" +
- " </validateCredentialsResponse>rn" +
- " </soap:Body>rn" +
- "</soap:Envelope>rn" +
- "";
- MessageFactory factory = MessageFactory.newInstance();
- SOAPMessage msg = factory.createMessage(new MimeHeaders(), new ByteArrayInputStream(xml.getBytes(Charset.forName("UTF-8"))));
- msg.saveChanges();
- SOAPBody soapBody = msg.getSOAPBody();
- for (Element response : elements(soapBody.getElementsByTagName("validateCredentialsResponse"))) {
- for (Element result : elements(response.getElementsByTagName("validateCredentialsResult"))) {
- List<Element> children = elements(result.getChildNodes());
- Element resultData = named(children.get(0), "ResultData");
- List<Element> resultDataChildren = elements(resultData.getChildNodes());
- boolean validated = Boolean.getBoolean(named(resultDataChildren.get(0), "validated").getTextContent());
- boolean alreadyLoggedIn = Boolean.getBoolean(named(resultDataChildren.get(1), "alreadyLoggedIn").getTextContent());
- Element status = named(children.get(1), "Status");
- List<Element> statusChildren = elements(status.getChildNodes());
- String condition = named(statusChildren.get(0), "Condition").getTextContent();
- String errorCode = named(statusChildren.get(1), "ErrorCode").getTextContent();
- String errorDesc = named(statusChildren.get(2), "ErrorDesc").getTextContent();
- System.out.printf("validated=%s alreadyLoggedIn=%s condition=%s errorCode=%s errorDesc=%sn", validated, alreadyLoggedIn, condition, errorCode, errorDesc);
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment