java和asp.net之間web Service的建立和調用(2)

來源:互聯網
上載者:User

http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=97301&threadID=38818&tstart=0

一直沒有時間將這個東西貼出來,最近翻閱的時候才發現,唯寫了使用java語言編寫的web service被.net所調用的部分,而沒有寫使用c#編寫的web service被java程式所調用的部分

,所以現在將這篇文章貼出來,希望對大家有所協助.

作者:duansiyang

二、使用c#編寫的web service被java程式所調用

-----首先我們先要在visual studio .net 2003中建立一個web service。當然,如果你已經有了,那麼你可以跳過此步驟-----

(1) 檔案->建立->項目(小弟使用的是中文版,英文版的讀者請諒解)
(2) 項目類型選擇visual c#項目,然後在右邊選擇asp.net Web服務,輸入項目位置為http://localhost/ASPWebService
(3) 單擊 確定 建立工程.
(4) 在右邊的方案總管當中選擇ASPWebService,單擊右鍵,選擇添加->添加Web服務選項
(5) 輸入TestService.asmx。
(6) 在其程式碼檢視中,輸入下面的代碼

//帶參數的web service ,計算兩數的和.
[WebMethod]
[SoapRpcMethod

(Action="http://www.duansiyang.com/Rpc",RequestNamespace="http://www.duansiyang.com/SU",ResponseNamespace="http://www.duansiyang.com/SU")]
   public long counter(long a ,long b)
   {
return a+b;
   }

//無參數的web service ,產生一個0-1之間的隨機數.
[WebMethod]
[SoapRpcMethod

(Action="http://www.duansiyang2.com/Rpc",RequestNamespace="http://www.duansiyang2.com/SU",ResponseNamespace="http://www.duansiyang2.com/SU")]
   public double randomNumber()
   {
Random rad = new Random(1);
Double radnext = rad.NextDouble();
return radnext;

   }

(7) 同時你需要引用一個命名空間
using System.Web.Services.Protocols;
(8) 編譯此工程。

-----接下來我們先要在Jbuilder中建立一個調用的servlet。當然,如果jsp也可以。我們緊緊是為了舉例-----

(1)建立一個工程(^_^大家應該很熟悉了,我就不說了)
(2)建立一個web Module
(3)建立一個Servlet,取名為TestASPWebSvrServlet.
(4)加入下面的代碼
try {
            Long i = new Long(1);
            Long j = new Long(2);
            String endpoint =
                    "http://localhost/ASPWebService/TestService.asmx";
            Service service = new Service();
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(new java.net.URL(endpoint));
            call.setOperationName(new QName("http://www.duansiyang.com/SU", "counter"));
            call.addParameter("a", org.apache.axis.encoding.XMLType.XSD_DATE,
                              javax.xml.rpc.ParameterMode.IN);
            call.addParameter("b", org.apache.axis.encoding.XMLType.XSD_DATE,
                              javax.xml.rpc.ParameterMode.IN);
            call.setReturnType(org.apache.axis.encoding.XMLType.XSD_LONG);
            call.setUseSOAPAction(true);
            call.setSOAPActionURI("http://www.duansiyang.com/Rpc");
            Long k = (Long) call.invoke(new Object[] {i, j});
            System.out.println("result is " + k.toString() + ".");
        } catch (Exception e) {
            System.err.println(e.toString());
        }
       
       
        try {
          
            String endpoint =
                    "http://localhost/ASPWebService/TestService.asmx";
            Service service = new Service();
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(new java.net.URL(endpoint));
            call.setOperationName(new QName("http://www.duansiyang2.com/SU", "total"));
            call.setReturnType(org.apache.axis.encoding.XMLType.XSD_DOUBLE);
            call.setUseSOAPAction(true);
            call.setSOAPActionURI("http://www.duansiyang2.com/Rpc");
            Double k = (Double) call.invoke(new Object[0]);
            System.out.println("result is " + k.toString() + ".");
        } catch (Exception e) {
            System.err.println(e.toString());
        }

(5)你同時需要匯入下面的包
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.Date;
import java.text.DateFormat;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
(6)運行,然後你可以看到結果了。

至此,關於這篇文章就算結束了,大家如果有什麼意見,可以發送郵件到我的郵箱duansiyang@tom.com或者加我的qq:365786120來和我聯絡。謝謝!

個人意見!如有不妥,敬請見諒!!!

如果有任何意見,您可以通過我的郵箱:duansiyang@tom.com和我聯絡,也可以加我的QQ:365786120

whx1977 [版主]

發帖數: 6,941
活躍積分: 5,630
技術積分: 78
可用幣值: 3,000
註冊時間: 2004-2-29
使用者狀態:正常

Re: [原創] java和asp.net之間web Service的建立和調用(2)

提交時間: Jan 28, 2007 4:37:15 PM

引用 回複   發訊息
淺顯易懂的好文章!
伍昊獻 RAINBOW
朋友,我愛你們!
http://dev2dev.bea.com.cn/blog/whx1977/

有問題先看:http://edocs.bea.com/
bea weblogic server下載
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=81&threadID=28193&tstart=0
BEA AquaLogic User Interaction & BPM & PEP 大全
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=142667&threadID=45540&messageID=270183#270183

I LOVE LIFE!I LOVE BEA!
BECAUSE HERE'S MY LOVELY FRIENDS!
DON'T LOOK AROUND,IT'S YOU!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.