學習 學習 再學習

          學習才是唯一的出路

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            31 隨筆 :: 1 文章 :: 8 評論 :: 0 Trackbacks
          <2009年10月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          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"); //調用WEBSERVICE方法名
               Response resp;
               try
               {
                 call.setTimeout(3000);
                 resp = call.invoke(url,soapAction);
               }
               catch(SOAPException e)
               {
                 throw new Exception("調用接口出錯!URL="+strUrl+"\n"+e.getMessage());
               }
               LogHome.getLog().info("調用成功,開始接收返回信息!");

               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("調用接口時出錯,Fault 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隨記
          主站蜘蛛池模板: 当阳市| 淮阳县| 随州市| 梁平县| 石棉县| 清新县| 灌南县| 思南县| 永吉县| 阜南县| 汤阴县| 夹江县| 成安县| 翼城县| 成武县| 淳安县| 庆安县| 勃利县| 中宁县| 静海县| 芒康县| 安庆市| 安图县| 师宗县| 福建省| 同德县| 金门县| 噶尔县| 望奎县| 东莞市| 泊头市| 公安县| 高台县| 丰镇市| 新安县| 长治市| 涟水县| 新沂市| 宝清县| 梅河口市| 无锡市|