blob: 760be0e71b35235aa1687657a1d2ac6953ef4a5f [file] [log] [blame]
/*
* Copyright (c) 2003, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception, which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
package com.sun.cb;
import java.net.*;
import java.io.*;
import java.util.*;
import jakarta.xml.soap.*;
public class TestOrderRequest {
public static void main(String [] args) {
try {
SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
SOAPConnection con = scf.createConnection();
MessageFactory mf = MessageFactory.newInstance();
SOAPMessage msg = mf.createMessage();
// Access the SOABBody object
SOAPPart part = msg.getSOAPPart();
SOAPEnvelope envelope = part.getEnvelope();
SOAPBody body = envelope.getBody();
// Create the appropriate elements and add them
Name bodyName = envelope.createName("coffee-order", "PO",
"http://sonata.coffeebreak.com");
SOAPBodyElement order = body.addBodyElement(bodyName);
// orderID
Name orderIDName = envelope.createName("orderID");
SOAPElement orderID =
order.addChildElement(orderIDName);
orderID.addTextNode("1234");
// customer
Name childName = envelope.createName("customer");
SOAPElement customer = order.addChildElement(childName);
childName = envelope.createName("last-name");
SOAPElement lastName = customer.addChildElement(childName);
lastName.addTextNode("Pental");
childName = envelope.createName("first-name");
SOAPElement firstName = customer.addChildElement(childName);
firstName.addTextNode("Ragni");
childName = envelope.createName("phone-number");
SOAPElement phoneNumber = customer.addChildElement(childName);
phoneNumber.addTextNode("908 983-6789");
childName = envelope.createName("email-address");
SOAPElement emailAddress =
customer.addChildElement(childName);
emailAddress.addTextNode("ragnip@aol.com");
// address
childName = envelope.createName("address");
SOAPElement address = order.addChildElement(childName);
childName = envelope.createName("street");
SOAPElement street = address.addChildElement(childName);
street.addTextNode("9876 Central Way");
childName = envelope.createName("city");
SOAPElement city = address.addChildElement(childName);
city.addTextNode("Rainbow");
childName = envelope.createName("state");
SOAPElement state = address.addChildElement(childName);
state.addTextNode("CA");
childName = envelope.createName("zip");
SOAPElement zip = address.addChildElement(childName);
zip.addTextNode("99999");
// line-item 1
childName = envelope.createName("line-item");
SOAPElement lineItem = order.addChildElement(childName);
childName = envelope.createName("coffeeName");
SOAPElement coffeeName = lineItem.addChildElement(childName);
coffeeName.addTextNode("arabica");
childName = envelope.createName("pounds");
SOAPElement pounds = lineItem.addChildElement(childName);
pounds.addTextNode("2");
childName = envelope.createName("price");
SOAPElement price = lineItem.addChildElement(childName);
price.addTextNode("10.95");
// line-item 2
childName = envelope.createName("coffee-name");
SOAPElement coffeeName2 = lineItem.addChildElement(childName);
coffeeName2.addTextNode("espresso");
childName = envelope.createName("pounds");
SOAPElement pounds2 = lineItem.addChildElement(childName);
pounds2.addTextNode("3");
childName = envelope.createName("price");
SOAPElement price2 = lineItem.addChildElement(childName);
price2.addTextNode("10.95");
// total
childName = envelope.createName("total");
SOAPElement total = order.addChildElement(childName);
total.addTextNode("21.90");
URL endpoint = new URL(
URLHelper.getSaajURL() + "/orderCoffee");
SOAPMessage reply = con.call(msg, endpoint);
con.close();
// extract content of reply
//Extracting order ID and ship date
SOAPBody sBody = reply.getSOAPPart().getEnvelope().getBody();
Iterator bodyIt = sBody.getChildElements();
SOAPBodyElement sbEl = (SOAPBodyElement)bodyIt.next();
Iterator bodyIt2 = sbEl.getChildElements();
// get orderID
SOAPElement ID = (SOAPElement)bodyIt2.next();
String id = ID.getValue();
// get ship date
SOAPElement sDate = (SOAPElement)bodyIt2.next();
String shippingDate = sDate.getValue();
System.out.println("");
System.out.println("");
System.out.println("Confirmation for order #" + id);
System.out.print("Your order will be shipped on ");
System.out.println(shippingDate);
} catch(Exception e) {
e.printStackTrace();
}
}
}