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

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

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

    posts - 495,comments - 227,trackbacks - 0
    調(diào)用webservice,可以首先根據(jù)wsdl文件生成客戶端,或者直接根據(jù)地址調(diào)用,下面討論直接調(diào)用地址的兩種不同方式:axis和Soap,soap方式主要是用在websphere下

    axis方式調(diào)用:

    ?

    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方式調(diào)用

    調(diào)用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();

    ?????? }

    ?? ?}

    }

    返回一維數(shù)組時

    Parameter soapResult = soapResponse.getReturnValue();

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

    ?

    調(diào)用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-07-20 17:26 SIMONE 閱讀(10861) 評論(1)  編輯  收藏 所屬分類: JAVAJSP

    FeedBack:
    # re: Webservice調(diào)用方式:axis,soap詳解
    2007-04-24 20:15 | Bob
    謝謝,領(lǐng)了  回復(fù)  更多評論
      
    主站蜘蛛池模板: 亚洲色大成网站www永久男同 | 中文字幕在线观看亚洲日韩| 亚洲xxxxxx| 亚洲人成欧美中文字幕| 国产亚洲蜜芽精品久久| 国产福利视精品永久免费| 亚洲国产香蕉碰碰人人| 亚洲人成未满十八禁网站 | 毛片免费在线观看网址| 亚洲国产精品网站久久| 国产精品成人观看视频免费| 亚洲av一本岛在线播放 | 亚洲人成网站观看在线播放| 免费一区二区三区在线视频| 亚洲男人的天堂在线va拉文| 精品国产免费一区二区三区| 日韩亚洲变态另类中文| 亚洲jizzjizz在线播放久| 一区二区三区免费看| 99久久99久久精品免费看蜜桃| 亚洲第一二三四区| 99在线热播精品免费99热| 亚洲国产精品无码久久SM| 曰批全过程免费视频网址| 亚洲AV无码专区在线亚| 国产伦一区二区三区免费| 一区二区3区免费视频| 亚洲91av视频| 一个人免费视频在线观看www| 污污网站18禁在线永久免费观看| 手机看片久久国产免费| 特a级免费高清黄色片| 免费人成视频在线观看不卡| 91在线视频免费观看| 亚洲国产国产综合一区首页| 成人免费福利电影| v片免费在线观看| 成人免费毛片内射美女-百度| 亚洲Av高清一区二区三区| 国产a级特黄的片子视频免费| 日本一道本不卡免费 |