HTMLページからWebサービスを呼び出す方法

3777 ワード

クラウドディスク環境を準備して、いくつかの詳細を検証しています.テストの便宜上、htmlでWebServiceを呼び出して、結果が正しく返されるかどうかを直接確認します.多くの友达がこのような简単なことをしたことがあると信じて、htmlの书き方に惯れていないため、自分の思考が硬直して少し回り道をして、整理して自分に忘れさせます.
WebService
@GET
@Path("yyy")
    @Produces(MediaType.APPLICATION_OCTET_STREAM)
    public File getSomthing(
            @QueryParam("sthId1") String bucketName,
            @QueryParam("sthId2") String objectName
    ) {

HTML方式については、以下を参照してください.http://msdn.microsoft.com/en-us/library/45fez2a8%28v=vs.80%29.aspx
<form method=POST action='http://localhost:8080/xxx/yyy'>
       <input type="text" size="5" name='sthId1'\"></td>
       <input type="text" size="5" name='sthId2'\"></td>
       <input type=submit value="Try"> </td>
   </form>

後のコードは検証されていません.メモを記録します.参照:http://www.codeproject.com/Articles/14610/Calling-Web-Services-from-HTML-Pages-using-JavaScr
HelloWorldを呼び出し、パラメータなし
<html>
  <head>
   <title>Hello World</title>
    <script language="JavaScript">
     var iCallID;
     function InitializeService(){
      service.useService(http://localhost:1394/MyWebService.asmx?wsdl, 
	"HelloWorldService");
      service.HelloWorldService.callService("HelloWorld");
     }
     function ShowResult(){
      alert(event.result.value);
     }
    </script>
   </head>
  <body onload="InitializeService()" id="service" 
	style="behavior:url(webservice.htc)" onresult="ShowResult()"> </body>
 </html> 

GetAgeを呼び出し、3つのパラメータを持つ
<html>
  <head>
   <title>UseSwap</title>
    <script language="JavaScript">
     function InitializeService(){
      service.useService(http://localhost:1394/MyWebService.asmx?wsdl, 
	"GetAgeService");
     }
     var StrYear, StrMonth, StrDay;
     function GetAge(){
      StrYear = document.DemoForm.StringYear.value;
      StrMonth = document.DemoForm.StringMonth.value;
      StrDay = document.DemoForm.StringDay.value;
      service.GetAgeService.callService("GetAge", StrYear, StrMonth, StrDay);
     }
     function ShowResult(){
    alert(event.result.value);
      }
     </script>
    </head>
     <body onload="InitializeService()" id="service" 
	style="behavior:url(webservice.htc)" onresult="ShowResult()">
      <form name="DemoForm">
       Year : <input type="text" name="StringYear"/>
       Month : <input type="text" name="StringMonth"/>
       Day : <input type="text" name="StringDay"/>
       <button onclick="GetAge()">Get Age</button>
      </form>
     </body>
 </html>

キャッシュ値呼び出しを返す
<html>
  <head>
   <meta http-equiv="refresh" content="2" />
   <title>Get Date Time</title>
   <script language="JavaScript">
    var iCallID;
    function InitializeService(){
     service.useService(http://localhost:1394/MyWebService.asmx?wsdl, 
	"GetDateTimeService");
     service.GetDateTimeService.callService("GetDateTime");
    }
    function ShowResult(){
     alert(event.result.value);
    }
   </script>
  </head>
  <body onload="InitializeService()" id="service" 
	style="behavior:url(webservice.htc)" onresult="ShowResult()">
  </body>
 </html>