使用JS调用WebService示例

使用JS调用WebService示例

要想实现JS调用WebService,可以按如下步骤实现:

第一步:创建一个WebService

你可以使用各种方式创建一个WebService,这里使用java创建一个简单的WebService,代码如下:
package com.roulandu.webservice;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class Test {
    public String Hello(){

        return "Hello World!!";

    }

    public static void main(String[] args){
        Endpoint.publish("http://localhost:51223/Service/test", new Test());//这个地址可以随便改个没占用的端口,也可以发布到云端
        System.out.println("publish success!!~~~");
    }

}
这里必须保证类中存在一个非静态方法,不然会报错,静态方法和final方法不会被发布,控制台输出 “publish success!!~~~” 则发布成功。
接下来我们就可以查看自己发布的WebService了,浏览器输入之前的发布地址+?wsdl ,然后就可以得到如下界面:

使用JS调用WebService示例_第1张图片

到这里,我们的WebService算是发布成功了。

第二步:创建一个页面,实现JS调用Web服务

代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title>title>
head>
<body>
<script type="text/javascript">
     function RequestWebService() {
        var data;
        //SOAP 1.1 请求报文格式,1.2在网上可以找到
        data = ''; 
        data = data + ''; 
        data = data + ''; 
        data = data + '';//这里就是发布的方法名和xml文档中的命名空间地址(图中画线部分)
        data = data + '';
        data = data + ''; 
        data = data + ''; 

        var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
        var URL="http://localhost:51223/Service/test?wsdl";
        xmlhttp.Open("POST",URL, false); 
        xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8"); //SOAP 1.1为text/xml ; 1.2为 application/soap+xml
        xmlhttp.Send(data); 
        alert(data);//SOAP请求报文格式

        var text = xmlhttp.responseText;

        alert('结果'+'\n'+text); //SOAP响应报文格式
        document.getElementById("data").innerHTML = text;

    }
script>
    <input type="button" value="test" onclick="RequestWebService()">input>
    <p id="data">p>
body>
html>
将该页面在IE浏览器下打开测试。当点击按钮时,效果如下:

使用JS调用WebService示例_第2张图片
使用JS调用WebService示例_第3张图片
使用JS调用WebService示例_第4张图片

你可能感兴趣的:(JS)