我创建了一个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方法不允许
XML解析错误:格式不正确的位置:
moz-nullprincipal:{70ef8883-a52b-4e70-a1ca-bdf5c611c23c}行号
1,第1栏:
{“ xmlString”:“ MyValue ]]>”}
我还传递了一些在服务中传递的文本,但xml字符串未传递。
我还完成了将服务请求和响应格式设置为json的操作,并使用json数据类型传递了脚本中的数据,这也无法正常工作。
请提供任何解决方案,如何将xml作为字符串值从javascript传递到我的wcf rest服务。
参考方案
用户有两种选择,一种是更改wcf以将消息格式化为json或正确设置soap的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 doc类型。
为了获得正确的JavaScript格式,我将使用Visual Studio中的wcf测试客户端来调用您的端点,然后将复制并过去的有效负载发送到我的JavaScript文件中。
Javascript-从当前网址中删除查询字符串 - javascript单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…
在提交时在表单操作中获取变量丢失 - javascript当表单由onchange事件提交时,它不会保留get变量view。任何想法为什么会发生这种情况?提交后,这是它进入的网址,index?month=February&year=2014<form action="index?view=list" class="pure-form pure-fo…
选择后显示输入元素 - javascript我有一个表格,其中取决于用户的选择,输入元素是否可见。实际上,用户正在以另一种形式设置已定义的合作伙伴类型,并且如果选中该元素,则允许在该类型的合作伙伴上可见的元素类型1将显示以下元素:<input type="text" id="partner" name="partner" class=&…
Mongo汇总 - javascript我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …
JavaScript将PHP中的字符串和整数传递给函数 - javascript我正在尝试将字符串和整数都传递到同一函数中,但是引号引起了问题。我发现错误出在echo $q->info部分,我必须在此代码上使用双引号。有人可以帮我写这个$q->info,但不能获得真正的价值吗?到目前为止,我的代码是<td><a href="javascript:add(<?php echo $q->i…