jQuery.ajax中的嵌套XML调用XML Web Service导致错误请求

时间:2014-12-12 23:18:27

标签: jquery ajax xml web-services

我有一个XML Web服务,其单个方法SendXMLRequest(string xml)接收XML数据。如果我使用来自Web表单的POST操作或者将其集成到其他项目中的C#代码库中,那么webservice工作正常。

我现在尝试使用jQuery.ajax()(v1.91)调用SendXMLRequest,但我发现如果传入的xml数据包含嵌套的XML标记,则返回状态代码为400&# 39;错误请求'。删除嵌套使调用工作。在生产中,传入的XML数据将始终包含嵌套标记,因此我非常感谢有关如何解决此问题的任何提示。

以下是我用于ajax调用的js代码。

var mySOAP = '<?xml version="1.0" encoding="utf-8"?> \
<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> \
            <SendXMLRequest xmlns="http://tempuri.org/"> \ 
               <xml>
                <requestor>
                 <id>97efbb6d-6aaa-4729-a47f-00658b5ce0c7</id> \
                 <username>mattma</username> \
                </requestor> \
               </xml> \
            </SendXMLRequest> \
          </soap12:Body></soap12:Envelope>';
 $.ajax({
                type: "POST",
                url: "http://localhost/webservicerequest.asmx",
                contentType: "application/soap+xml; charset=utf-8",
                dataType: "xml",
                cache: false,
                processData: false,
                data: mySOAP,
                success: SuccessOccur,
                error: ErrorOccur
         });
        };

提前感谢您的帮助。 马特

0 个答案:

没有答案