当前位置: 首页 > 面试题库 >

JQuery AJAX使用SOAP Web服务

洪浩
2023-03-14
问题内容

我一直在尝试并尝试学习JQuery,使用AJAX来消费我前一段时间编写的SOAP Web服务。以下是我正在使用的代码:

<script type="text/javascript">
    var webServiceURL = 'http://local_server_name/baanws/dataservice.asmx?op=GetAllCategoryFamilies';
    var soapMessage = '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><GetAllCategoryFamilies xmlns="http://tempuri.org/" /></soap12:Body></soap12:Envelope';

    function CallService()
    {
        $.ajax({
            url: webServiceURL, 
            type: "POST",
            dataType: "xml", 
            data: soapMessage, 
            contentType: "text/xml; charset=\"utf-8\"",
            success: OnSuccess, 
            error: OnError
        });

        return false;
    }

    function OnSuccess(data, status)
    {
        alert(data.d);
    }

    function OnError(request, status, error)
    {
        alert('error');
    }

    $(document).ready(function() {
        jQuery.support.cors = true;
    });
</script>

<form method="post" action="">
    <div>
        <input type="button" value="Call Web Service" onclick="CallService(); return false;" />
    </div>
</form>

当前,在Web服务中被调用的方法返回一个类别族数组,其中包含一个类别代码和一个类别描述。由于该方法返回XML,因此我相应地设置了ajax查询。但是,当我运行该应用程序时,我收到一个“错误”警报框-
我确定是什么引起了问题。我知道该Web服务可以正常工作,每天我写的其他.NET Web应用程序都会调用它数百次。

任何帮助将不胜感激。

谢谢,


问题答案:

尝试设置processData: false标志。这个标志是true默认的,我想jQuery正在将 XML
转换为字符串。

$.ajax({
    url: webServiceURL, 
    type: "POST",
    dataType: "xml", 
    data: soapMessage, 
    processData: false,
    contentType: "text/xml; charset=\"utf-8\"",
    success: OnSuccess, 
    error: OnError
});


 类似资料:
  • 我正在尝试使用Struts 2和jQuery构建Web应用程序。 在改变下拉列表时,我需要从数据库中获取详细信息。在我的< code>struts.xml配置中,我将方法和操作定义如下: 当我在所有相应位置进行更改后执行应用程序时,请求被传递给 类和 DAO 方法,并且控件成功返回到屏幕。但是返回的数据在屏幕上不可用,我收到一条错误消息: url…404未在jQuery中找到(匿名函数)ajax。

  • 我使用jQueryAjax发布数据并相应地显示成功消息。代码如下: Javascript HTML PHP服务器端 现在一切正常,但是我无法将成功消息从服务器端发送到客户端。我如何才能在客户端页面中显示成功消息。在客户端javascript当我打印数据在警报框我看到一个空框。如何将数据变量从服务器端传递到客户端。

  • 我正在尝试使用JQuery在Ajax中向请求添加头。 以下是代码:- 然后我使用了要求(要求是chrome火狐插件,我们可以手动添加一个标题到请求)。 手动添加标题后:- 在这两个pics请求头中,“ACCESS-CONTROL-request-HEADERS”中都有x-auth-token,但第二个pic中有“x-auth-token”头和头值,而第一个pic中没有。 所以我的问题是如何使用JQ

  • 我的项目需求是使用SOAP服务,为此我尝试使用Quarkus。我会用什么Quarkusdependecies来解决这个问题?有什么示例应用程序我可以参考吗? 在Spring中,我们可以使用org.springframework.ws.client.core.support.webserviceGateWaysupport在Quarkus中有类似的东西吗。

  • 部署web服务器首先要创建一个 请求处理器(request handler)。 请求处理器可以是协程方法也可以是普通方法,它只有一个用于接受Request实例对象的参数,之后会返回Response实例对象: from aiohttp import web async def hello(request): return web.Response(text="Hello, world")

  • USING AND ABUSING SERVICES 在 Linux 术语中,服务是在后台运行的应用程序,等待您使用它。您的 Linux 系统预装了许多服务。其中最著名的是无处不在的 Apache Web Server,它用于创建,管理和部署 Web 服务器,还有更多。出于本章关于服务的目的,我只选择了对黑客特别重要的四个:Apache Web Server,OpenSSH,MySQL 和 Pos

  • S3 是 Simple Storage Service 的缩写,是 AWS 提供的云存储服务,价格公道、服务稳定,因此被广泛应用在静态文件存储、内容备份、大数据分析领域。 基本概念 在使用 S3 前首先需要了解一些基本概念: 对象:即文件。 Bucket:官方翻译为存储桶,是在网络存储服务中广泛使用的一个概念,通常用于区分文件所在区域,可以对比操作系统不同盘符来理解。 AWS CLI:AWS 提供

  • 我想用apache-camel使用Jetty在http://localhost:8080/中并发一个rest服务。但是这段代码不会对API产生任何请求。我是apache-camel的初学者,我想使用不同的微服务。 日志: 此输出不产生LocalHost:8080中API的任何响应,但我认为路由是正确的。我想知道是否有其他方法使用Apache-Camel使用API rest的rest服务。