⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 receipt.java

📁 21天精通Java,这是一本英文书
💻 JAVA
字号:
package webservices;

import java.util.Iterator;

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;

public class Receipt
{
    private String _name;
    private String _address;
    private int _numItems;
    private double _cost;
    
    public Receipt(String name, String address, int numItems, double cost)
    {
      _name = name;
      _address = address;
      _numItems = numItems;
      _cost = cost;
    }

    public Receipt()
    {
    }

    public String getName() { return _name; }
    public String getAddress() { return _address; }
    public int getNumItems() { return _numItems; }
    public double getCost() { return _cost; }
         
  public void marshal(SOAPElement parent, SOAPEnvelope envelope) throws SOAPException
  {
    Name nameName = envelope.createName("name",
                                        "acme",
                                        "http://acme.com/commerce");
    SOAPElement name = parent.addChildElement(nameName);
    name.addTextNode(_name);

    Name addressName = envelope.createName("address",
                                           "acme",
                                           "http://acme.com/commerce");
    SOAPElement address = parent.addChildElement(addressName);
    address.addTextNode(_address);

    Name numItemsName = envelope.createName("numItems",
                                            "acme",
                                            "http://acme.com/commerce");
    SOAPElement numItems = parent.addChildElement(numItemsName);
    numItems.addTextNode("" + _numItems);

    Name costName = envelope.createName("cost",
                                        "acme",
                                        "http://acme.com/commerce");
    SOAPElement cost = parent.addChildElement(costName);
    cost.addTextNode("" + _cost);
  }
  
  public void unmarshal(SOAPElement receipt, SOAPEnvelope envelope) throws SOAPException
  {
    Name nameName = envelope.createName("name",
                                        "acme",
                                        "http://acme.com/commerce");
    Name addressName = envelope.createName("address",
                                           "acme",
                                           "http://acme.com/commerce");
    Name numItemsName = envelope.createName("numItems",
                                            "acme",
                                            "http://acme.com/commerce");
    Name costName = envelope.createName("cost",
                                        "acme",
                                        "http://acme.com/commerce");

    Iterator iterator = receipt.getChildElements(nameName);
    
    if (iterator.hasNext())
    {
      SOAPElement element = (SOAPElement)iterator.next();
      _name = element.getValue();
    }
    else
    {
      throw new SOAPException("receipt SOAPElement is missing name");
    }

    iterator = receipt.getChildElements(addressName);
    
    if (iterator.hasNext())
    {
      SOAPElement element = (SOAPElement)iterator.next();
      _address = element.getValue();
    }
    else
    {
      throw new SOAPException("receipt SOAPElement is missing address");
    }

    iterator = receipt.getChildElements(numItemsName);
    
    if (iterator.hasNext())
    {
      SOAPElement element = (SOAPElement)iterator.next();
      _numItems = Integer.parseInt(element.getValue());
    }
    else
    {
      throw new SOAPException("receipt SOAPElement is missing cost");
    }

    iterator = receipt.getChildElements(costName);
    
    if (iterator.hasNext())
    {
      SOAPElement element = (SOAPElement)iterator.next();
      _cost = Double.parseDouble(element.getValue());
    }
    else
    {
      throw new SOAPException("receipt SOAPElement is missing cost");
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -