gpt4 book ai didi

javascript - 如何在wcf服务中获取Xml作为字符串并使用javascript发送?

转载 作者:行者123 更新时间:2023-11-27 23:15:07 24 4
gpt4 key购买 nike

我创建了一项 WCF Restful 服务。

 public string Demo(String xmlString)
{
//do stuff
}

[OperationContract]
[WebInvoke(ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml, Method = "Post", UriTemplate = "Demo",
BodyStyle = WebMessageBodyStyle.Wrapped)]

string Demo(String xmlString);

我正在发送

$(document).ready(function () { 
$("#btn").click(function () {
var bhRequest = "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
"<s:Body>" +
"<GetSMC xmlns=\"http://tempuri.org/\">" +
"<value><Root>MyValue</Root></value>" +
"</GetSMC>" +
"</s:Body>" +
"</s:Envelope>";
var bhReq="<![CDATA[" + bhRequest + "]]>";
alert(bhReq);

$.ajax({
url: 'http://localhost:15536/Plugins/MyPlugin/RemoteService/WebService.svc/Demo',
type: 'POST',
data: '{"xmlString":"'+ bhReq +'"}',
contentType: "text/xml",
dataType: "xml",
success: function (data) {
alert(Successfull);
},
error: function (data) {
alert('Error Occurred');
}
});
});
});

调用不会提供服务并给出错误

NetworkError: 405 Method Not Allowed

XML Parsing Error: not well-formed Location: moz-nullprincipal:{70ef8883-a52b-4e70-a1ca-bdf5c611c23c} Line Number 1, Column 1:

{"xmlString":"MyValue</Root></value></GetSMC></s:Body></s:Envelope>]]>"}

我还传递了一些在我的服务中传递的文本,但 xml 字符串未传递。

我还使用将我的服务请求和响应格式设置为 json 并使用数据类型 json 从我的脚本传递数据,但它也不起作用。

请提供任何解决方案,我如何将 xml 作为字符串值从 javascript 传递到我的 wcf 休息服务。

最佳答案

使用它的方式有两个选择,一是更改 wcf 以将消息格式化为 json,二是正确设置肥皂的 xml

对于选项一,请阅读 http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-Step-By-Step-Guide

对于选项二您可以阅读https://leonidius2010.wordpress.com/2011/05/16/98/

对于此选项,我首先看到您的示例 xml 有一些问题,您将完整的 xml 包装在 cdata 中,这不是正确的格式。

我还发现您发送的有效负载中缺少 xml 文档类型。

为了获得正确的 JavaScript 格式,我将使用 Visual Studio 中的 wcf 测试客户端来调用您的端点,然后复制并粘贴发送到我的 JavaScript 文件中的有效负载。

关于javascript - 如何在wcf服务中获取Xml作为字符串并使用javascript发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35885211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com