posts - 495,comments - 227,trackbacks - 0
          原文地址:http://www.javaeye.com/topic/151541
          在原文基礎上加了點注釋 呵呵。

          所需jar包:
          saaj.jar
          wsdl4j-1.5.1.jar
          commons-discovery-0.2.jar
          commons-logging-1.0.4.jar
          jaxrpc.jar
          axis.jar

          這些jar包都在axis項目下,
          axis下載地址:http://ws.apache.org/axis/

          java代碼:
          // 需導入的類
          import javax.xml.namespace.QName;
          import org.apache.axis.client.Call;
          import org.apache.axis.client.Service;
          import org.apache.axis.encoding.XMLType;

          //              .net webService 地址
                  String url="http://localhost:1246/WebSite3/Service.asmx";  
          //              .net webService 命名空間
                  String namespace = "http://tempuri.org/";  
          //              .net webService 需調用的方法
                  String methodName = "HelloWorld";  
                  String soapActionURI = "http://tempuri.org/HelloWorld";  
                  Service service = new Service();
                  
                  Call call = (Call) service.createCall();

                  call.setTargetEndpointAddress(new java.net.URL(url));  
                  call.setUseSOAPAction(true);  
          //        這個地方沒設對就會出現Server was unable to read request的錯誤  
                  call.setSOAPActionURI(soapActionURI);  
          //              設置要調用的.net webService方法
                  call.setOperationName(new QName(namespace, methodName));  
          //              設置該方法的參數,temp為.net webService中的參數名稱
                  call.addParameter( new QName(namespace,"temp"),  
                          org.apache.axis.encoding.XMLType.XSD_STRING,   
                          javax.xml.rpc.ParameterMode.IN);  
          //              設置該方法的返回值
                  call.setReturnType(XMLType.XSD_STRING);
          //              call.invoke(new Object[] { "kusix" });  中"kusix"為傳入參數值
                  String ret = (String) call.invoke(new Object[] { "kusix" });  
                  System.out.println("返回結果---> " + ret);  


          .net 代碼
          using System;
          using System.Web;
          using System.Web.Services;
          using System.Web.Services.Protocols;

          [WebService(Namespace = "http://tempuri.org/")]
          [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
          public class Service : System.Web.Services.WebService
          {
              public Service () {

                  //如果使用設計的組件,請取消注釋以下行
                  //InitializeComponent();
              }

              [WebMethod]
              public string HelloWorld(String temp) {
                  return temp+" add by .net";
              }
              
          }


          posted on 2010-05-11 11:41 SIMONE 閱讀(7643) 評論(2)  編輯  收藏 所屬分類: AXIS 、JAVA

          FeedBack:
          # re: java通過axis訪問.net webService 簡單例子
          2011-07-22 09:30 | pengnan1111
          感謝這位大哥提供了寶貴的資料!  回復  更多評論
            
          # re: java通過axis訪問.net webService 簡單例子
          2014-10-27 11:56 | 路人甲
          為何kusix沒打印出來?  回復  更多評論
            
          主站蜘蛛池模板: 芜湖市| 乐安县| 沁水县| 大安市| 元氏县| 泸西县| 昭觉县| 临洮县| 武义县| 崇阳县| 禹州市| 拉萨市| 泰兴市| 会昌县| 仁怀市| 屯昌县| 潞西市| 仁寿县| 江安县| 宜城市| 广水市| 安庆市| 安图县| 于田县| 托里县| 衡东县| 会东县| 广饶县| 西青区| 长寿区| 涟水县| 涿州市| 郴州市| 贡山| 平江县| 禄丰县| 辽宁省| 广汉市| 九台市| 泸定县| 历史|