學習 學習 再學習

          學習才是唯一的出路

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            31 隨筆 :: 1 文章 :: 8 評論 :: 0 Trackbacks

          import java.net.URL;
          import java.util.Vector;
          import org.apache.soap.Constants;
          import org.apache.soap.Fault;
          import org.apache.soap.SOAPException;
          import org.apache.soap.encoding.SOAPMappingRegistry;
          import org.apache.soap.encoding.soapenc.BeanSerializer;
          import org.apache.soap.rpc.Call;
          import org.apache.soap.rpc.Parameter;
          import org.apache.soap.rpc.Response;
          import org.apache.soap.transport.http.SOAPHTTPConnection;
          import org.apache.soap.util.xml.QName;
          import org.w3c.dom.Element;
          import org.w3c.dom.Node;
          import oss.util.debug.LogHome;

          public class GisWebService{
           
           public static String getStringGisWebService(String ajfBm, String zjfBm, String aodfBm,String zodfBm) throws Exception {
            String strUrl = "   String strTargetURL = "http://java.sun.com/xml/ns/jax-rpc/ri/config";//
            String soapAction = "      URL url = new URL(strUrl);
               SOAPMappingRegistry smr = new SOAPMappingRegistry();
               BeanSerializer beanSer = new BeanSerializer();
               smr.mapTypes(Constants.NS_URI_SOAP_ENC,new QName("","Result"),null,null,beanSer);
               Call call = new Call();
               SOAPHTTPConnection st = new SOAPHTTPConnection();
               call.setSOAPTransport(st);
               call.setSOAPMappingRegistry(smr);
               call.setTargetObjectURI(strTargetURL);
               call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
               call.setParams(createCondition(ajfBm,zjfBm,aodfBm,zodfBm));
               call.setMethodName("WSEncrypt"); //調(diào)用WEBSERVICE方法名
               Response resp;
               try
               {
                 call.setTimeout(3000);
                 resp = call.invoke(url,soapAction);
               }
               catch(SOAPException e)
               {
                 throw new Exception("調(diào)用接口出錯!URL="+strUrl+"\n"+e.getMessage());
               }
               LogHome.getLog().info("調(diào)用成功,開始接收返回信息!");

               return returnValue(resp);
           }
           
           public static String returnValue(Response resp) throws Exception {
            if(resp.generatedFault()) {
                  Fault fault = resp.getFault();
                  String code = fault.getFaultCode();
                  String desc = fault.getFaultString();
                  LogHome.getLog().info("Fault code:"+code+":"+desc);
                  Vector v = fault.getDetailEntries();
                  int cnt = v.size();
                  for(int i = 0;i<cnt;i++)
                  {
                    Element n = (Element)v.elementAt(i);
                    Node nd = n.getFirstChild();
                    LogHome.getLog().info("Each element:"+n.getNodeName()+":"+nd.getNodeValue());
                  }
                  throw new Exception("調(diào)用接口時出錯,F(xiàn)ault code:"+code+":"+desc);
                }
                else
                {
                  Parameter ret = resp.getReturnValue();
                  String returnXML = (String)ret.getValue();
                  LogHome.getLog().info(returnXML);
                  return returnXML;
                }
           }
           
           public static  Vector<Parameter> createCondition(String ajfBm,String zjfBm,String aodfBm,String zodfBm) {
             Vector<Parameter> params = new Vector<Parameter>();
               params.addElement(new Parameter("AjfBm",String.class,ajfBm,null));
               params.addElement(new Parameter("ZjfBm",String.class,zjfBm,null));
               params.addElement(new Parameter("AodfBm",String.class,aodfBm,null));
               params.addElement(new Parameter("ZodfBm",String.class,zodfBm,null));
               return params;
           }
           
          }



          J-CN工作室
          www.j-cn.org
          posted on 2009-10-22 07:50 鐵猴 閱讀(314) 評論(0)  編輯  收藏 所屬分類: JAVA隨記
          主站蜘蛛池模板: 兴山县| 大港区| 平果县| 杂多县| 镇雄县| 乐至县| 丰县| 博湖县| 吴江市| 盐津县| 朝阳县| 崇义县| 彭山县| 大埔区| 宁晋县| 桦川县| 康平县| 盐城市| 庆安县| 无为县| 德惠市| 千阳县| 安塞县| 开封县| 齐齐哈尔市| 乾安县| 云林县| 嘉黎县| 黑龙江省| 邛崃市| 宣城市| 乡城县| 和林格尔县| 卓尼县| 双桥区| 河东区| 秭归县| 九寨沟县| 岳普湖县| 建昌县| 平泉县|