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

📄 phonenumberserializer.java

📁 java web服务应用开发详解 是java程序员必备的好东东
💻 JAVA
字号:
   package samples.addressbook;
   
   import java.io.*;
   import org.w3c.dom.*;
   import org.apache.soap.*;
   import org.apache.soap.encoding.soapenc.*;
   import org.apache.soap.rpc.*;
   import org.apache.soap.util.*;
   import org.apache.soap.util.xml.*;
   
   public class PhoneNumberSerializer implements Serializer, Deserializer
   {
     public void marshall(String inScopeEncStyle, Class javaType,
     Object src, Object context, Writer sink,
     NSStack nsStack, XMLJavaMappingRegistry xjmr, SOAPContext ctx)
     throws IllegalArgumentException, IOException
     {
       nsStack.pushScope();
   
       SoapEncUtils.generateStructureHeader(inScopeEncStyle, javaType, context,
         sink, nsStack, xjmr);
   
       sink.write(StringUtils.lineSeparator);
   
   samples.addressbook.PhoneNumber src2 = (samples.addressbook.PhoneNumber)src;
       Parameter param;
   
       param = new Parameter("areaCode", int.class, new Integer
         (src2.getAreaCode()), null);
       xjmr.marshall(inScopeEncStyle, Parameter.class, param, null,
       sink, nsStack, ctx);
       sink.write(StringUtils.lineSeparator);
   
       param = new Parameter("exchange", java.lang.String.class,
         src2.getExchange(), null);
       xjmr.marshall(inScopeEncStyle, Parameter.class, param, null,
       sink, nsStack, ctx);
       sink.write(StringUtils.lineSeparator);
   
       param = new Parameter("number", java.lang.String.class, src2.getNumber(),
         null);
       xjmr.marshall(inScopeEncStyle, Parameter.class, param, null,
       sink, nsStack, ctx);
       sink.write(StringUtils.lineSeparator);
   
   
       sink.write("</" + context + '>');
   
       nsStack.popScope();
     }
   
     public Bean unmarshall(String inScopeEncStyle, QName elementType,
     Node src, XMLJavaMappingRegistry xjmr, SOAPContext ctx)
     throws IllegalArgumentException
     {
       Element root = (Element)src;
       Element tempEl = DOMUtils.getFirstChildElement(root);
       samples.addressbook.PhoneNumber target;
   
       try
       {
         target = (samples.addressbook.PhoneNumber)
           samples.addressbook.PhoneNumber.class.newInstance();
       }
       catch (Exception e)
       {
         throw new IllegalArgumentException("Problem instantiating bean: "
           + e.getMessage());
       }
   
       while (tempEl != null)
       {
         Bean paramBean = xjmr.unmarshall(inScopeEncStyle,
         RPCConstants.Q_ELEM_PARAMETER,
         tempEl, ctx);
         Parameter param = (Parameter)paramBean.value;
         String tagName = tempEl.getTagName();
   
   
         if (tagName.equals("areaCode"))
         {
           target.setAreaCode( ((Integer)param.getValue()).intValue());
         }
   
         if (tagName.equals("exchange"))
         {
           target.setExchange((java.lang.String)param.getValue());
         }
   
         if (tagName.equals("number"))
         {
           target.setNumber( (java.lang.String)param.getValue());
         }
   
   
         tempEl = DOMUtils.getNextSiblingElement(tempEl);
       }
       System.err.println("in PhoneNumberSerializer unmarshall method.");
       return new Bean(samples.addressbook.PhoneNumber.class, target);
     }
   }

⌨️ 快捷键说明

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