📄 jaxmorderserviceclient.java
字号:
import java.util.Iterator;
import webservices.LineItem;
import webservices.Order;
import webservices.Receipt;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;
import javax.xml.messaging.URLEndpoint;
public class JAXMOrderServiceClient
{
public static void main(String [] args)
{
try
{
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();
SOAPPart part = message.getSOAPPart();
SOAPEnvelope envelope = part.getEnvelope();
Order order = new Order("Bargain Buys", "Bury New Road, Manchester");
order.addLineItem(new LineItem("Levi 501", 200));
order.addLineItem(new LineItem("Wibble 1000 mp3 player", 33));
order.addLineItem(new LineItem("Sony Playstation", 10));
order.marshal(envelope);
SOAPConnectionFactory connectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection connection = connectionFactory.createConnection();
URLEndpoint endPoint = new URLEndpoint("http://localhost:8080/JAXMOrderService/order");
SOAPMessage msg = connection.call(message, endPoint);
SOAPPart p = msg.getSOAPPart();
SOAPEnvelope env = p.getEnvelope();
SOAPBody body = env.getBody();
Receipt receipt = new Receipt();
Name receiptName = envelope.createName("receipt",
"acme",
"http://acme.com/commerce");
Iterator iterator = body.getChildElements(receiptName);
if (iterator.hasNext())
{
SOAPBodyElement element = (SOAPBodyElement)iterator.next();
receipt.unmarshal(element, env);
System.out.println("Got receipt for order\n\tName:\t\t" + receipt.getName() +
"\n\tAddress:\t" + receipt.getAddress() +
"\n\tNumber of items:\t" + receipt.getNumItems() +
"\n\tCost:\t\t" + receipt.getCost());
}
else
{
throw new SOAPException("receipt SOAPElement is missing from SOAP body");
}
}
catch (SOAPException ex)
{
System.err.println("Exception: " + ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -