【发布时间】:2011-12-08 13:23:37
【问题描述】:
我们的域服务具有以下“调用”操作:
public void SaveImportedUrl(CRIAImportedUrl i_importedUrl)
public class CRIAImportedUrl
{
[Key]
public Uri Url { get; set; }
public string Title { get; set; }
public string Description { get; set; }
// ... more properities
}
我想从 javascript 客户端(通过 JSON 端点)调用它。 通过查看来自 silverlight 客户端的调用(在提琴手中),我可以看到我需要 POST 到“SubmitChanges”网址。但是 silverlight 客户端使用二进制端点,我看不到 POST 消息的内容。
有人知道怎么做吗?或者是否可以通过获取源代码或解码二进制编码的 POST 消息内容来“逆向工程”silverlight 代码?
(我们成功地调用了“CRUD”操作(http://stackoverflow.com/questions/8179504/how-to-insert-entity-over-wcf-ria-services-json-endpoint),但是这个' Invoke 的操作仍然是个谜)
编辑---
错误消息 von server, wenn der POST message contents =
{
"Url":"http://www.bbc.co.uk/",
"Title":"a title",
"Description":"adesc"
}
{"ErrorCode":500,"ErrorMessage":"对象引用未设置为对象的实例。","IsDomainException":false,"StackTrace":" 在 System.ServiceModel.DomainServices.Hosting.ChangeSetProcessor。 CreateChangeSet(IEnumerable1 changeSetEntries)\u000d\u000a at System.ServiceModel.DomainServices.Hosting.ChangeSetProcessor.Process(DomainService domainService, IEnumerable1 changeSetEntries)\u000d\u000a at System.ServiceModel.DomainServices.Hosting.SubmitOperationBehavior.SubmitOperationInvoker.InvokeCore(Object instance, Object[] inputs, Object[]& outputs)"}
【问题讨论】:
-
有一个 Fiddler 插件可以让您检查 SL 客户端发送的二进制消息:archive.msdn.microsoft.com/wcfbinaryinspector
-
非常有帮助 - 谢谢。我认为您应该将其写为答案,而不仅仅是添加为评论。
标签: javascript json wcf-ria-services