<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    danchaofan

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      14 Posts :: 20 Stories :: 3 Comments :: 0 Trackbacks
    調用webservice,可以首先根據wsdl文件生成客戶端,或者直接根據地址調用,下面討論直接調用地址的兩種不同方式:axis和Soap,soap方式主要是用在websphere下

    axis方式調用:

     

    import java.util.Date;

    import java.text.DateFormat;

    import org.apache.axis.client.Call;

    import org.apache.axis.client.Service;

    import javax.xml.namespace.QName;

    import java.lang.Integer;

    import javax.xml.rpc.ParameterMode;

     

    public class caClient {

                

           public static void main(String[] args) {

     

                  try {

                         String endpoint = "http://localhost:8080/ca3/services/caSynrochnized?wsdl";

                         Service service = new Service();

                         Call call = (Call) service.createCall();

                         call.setTargetEndpointAddress(endpoint);

                         call.setOperationName("addUser");

                         call.addParameter("userName", org.apache.axis.encoding.XMLType.XSD_DATE,

                                       javax.xml.rpc.ParameterMode.IN);

                         call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);

                         call.setUseSOAPAction(true);

                         call.setSOAPActionURI("http://www.my.com/Rpc");

                         //Integer k = (Integer) call.invoke(new Object[] { i, j });

                         //System.out.println("result is  " + k.toString() + ".");

                         String temp = "測試人員";

                         String result = (String)call.invoke(new Object[]{temp});

                         System.out.println("result is "+result);

                  }

                  catch (Exception e) {

                         System.err.println(e.toString());

                  }

           }

    }

    soap方式調用

    調用java生成的webservice

    import org.apache.soap.util.xml.*;

    import org.apache.soap.*;

    import org.apache.soap.rpc.*;

     

    import java.io.*;

    import java.net.*;

    import java.util.Vector;

     

    public class caService{

           public static String getService(String user) {

           URL url = null;

           try {

               url=new URL("http://192.168.0.100:8080/ca3/services/caSynrochnized");

           } catch (MalformedURLException mue) {

              return mue.getMessage();

             }

                 // This is the main SOAP object

           Call soapCall = new Call();

           // Use SOAP encoding

           soapCall.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);

           // This is the remote object we're asking for the price

           soapCall.setTargetObjectURI("urn:xmethods-caSynrochnized");

           // This is the name of the method on the above object

           soapCall.setMethodName("getUser");

           // We need to send the ISBN number as an input parameter to the method

           Vector soapParams = new Vector();

     

           // name, type, value, encoding style

           Parameter isbnParam = new Parameter("userName", String.class, user, null);

           soapParams.addElement(isbnParam);

           soapCall.setParams(soapParams);

           try {

              // Invoke the remote method on the object

              Response soapResponse = soapCall.invoke(url,"");

              // Check to see if there is an error, return "N/A"

              if (soapResponse.generatedFault()) {

                  Fault fault = soapResponse.getFault();

                 String f = fault.getFaultString();

                 return f;

              } else {

                 // read result

                 Parameter soapResult = soapResponse.getReturnValue ();

                 // get a string from the result

                 return soapResult.getValue().toString();

              }

           } catch (SOAPException se) {

              return se.getMessage();

           }

        }

    }

    返回一維數組時

    Parameter soapResult = soapResponse.getReturnValue();

    String[] temp = (String[])soapResult.getValue();

     

    調用ASP.Net生成的webservice

    private String HelloWorld(String uri, String u) {

                  try {

                         SOAPMappingRegistry smr = new SOAPMappingRegistry();

                         StringDeserializer sd = new StringDeserializer();

                         ArraySerializer arraySer = new ArraySerializer();

                         BeanSerializer beanSer = new BeanSerializer();

                         smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(

                                       "http://tempuri.org/", "HelloWorldResult"), String.class,

                                       null, sd);

                         smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(

                                       "http://tempuri.org/", "temp"), String.class,

                                       beanSer, beanSer);

     

                         URL url = new URL(uri);

                         Call call = new Call();

                         call.setSOAPMappingRegistry(smr);

                         call.setTargetObjectURI("urn:xmethods-Service1");

                         call.setMethodName("HelloWorld");

                         call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);

     

                         Vector soapParams = new Vector();

                         soapParams.addElement(new Parameter("temp", String.class, u, null));

                         call.setParams(soapParams);

     

                         Response soapResponse = call.invoke(url,"http://tempuri.org/HelloWorld");

     

                         if (soapResponse.generatedFault()) {

                                Fault fault = soapResponse.getFault();

                                System.out.println(fault);

                         } else {

                                Parameter soapResult = soapResponse.getReturnValue();

                                Object obj = soapResult.getValue();

                                System.out.println("===" + obj);

                         }

                  } catch (Exception e) {

                         e.printStackTrace();

                  }

                  return null;

           }
    posted on 2006-02-27 13:46 單炒飯 閱讀(1081) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲综合激情五月色一区| 特级做A爰片毛片免费看无码| 四虎永久免费地址在线网站| 二级毛片免费观看全程| 亚洲第一区香蕉_国产a| 四虎成人免费影院网址| 免费成人高清在线视频| 亚洲综合一区国产精品| 亚洲va久久久噜噜噜久久男同| 成人激情免费视频| 中文字幕无码日韩专区免费| 亚洲小说图区综合在线| 亚洲AV午夜成人影院老师机影院| 在线看片免费不卡人成视频| 中文字幕在线成人免费看| 国产亚洲精aa在线看| 久久91亚洲精品中文字幕| 国产免费观看青青草原网站| 18观看免费永久视频| 国产V片在线播放免费无码| 亚洲砖码砖专无区2023| 日木av无码专区亚洲av毛片| 亚洲一区无码精品色| 我要看免费的毛片| 8888四色奇米在线观看免费看| 又黄又大的激情视频在线观看免费视频社区在线 | 久艹视频在线免费观看| 羞羞网站免费观看| 中文字幕亚洲码在线| 亚洲高清免费在线观看| 国产午夜亚洲精品理论片不卡| 日本一区免费电影| 免费看成人AA片无码视频羞羞网| 免费黄网站在线观看| 国产国产人免费人成成免视频 | 91热久久免费精品99| 三级黄色片免费看| 羞羞漫画在线成人漫画阅读免费| 亚洲一区二区三区免费视频| 亚洲av日韩av不卡在线观看| 亚洲国产成人久久一区久久|