Tag: #wcf

使用Sap WebService – 请求发送两次并且每次都失败

我正在努力消耗一个sap webservice。 我已经通过很多教程和msdn上的许multithreading,但我无法找到解决我的问题的方法: 运行我的程序最终会出现此错误: CommunicationException not handled. -> unknown Messageversion System.ServiceModel.CommunicationException wurde nicht behandelt. HResult=-2146233087 Message=Unbekannte Nachrichtenversion. Source=mscorlib StackTrace: Server stack trace: bei System.ServiceModel.Channels.ReceivedMessage.ReadStartEnvelope(XmlDictionaryReader reader) bei System.ServiceModel.Channels.BufferedMessage..ctor(IBufferedMessageData messageData, RecycledMessageState recycledMessageState, Boolean[] understoodHeaders, Boolean understoodHeadersModified) bei System.ServiceModel.Channels.TextMessageEncoderFactory.TextMessageEncoder.ReadMessage(ArraySegment`1 buffer, BufferManager bufferManager, String contentType) bei System.ServiceModel.Channels.HttpInput.DecodeBufferedMessage(ArraySegment`1 buffer, Stream inputStream) bei System.ServiceModel.Channels.HttpInput.ReadBufferedMessage(Stream inputStream) bei System.ServiceModel.Channels.HttpInput.ParseIncomingMessage(HttpRequestMessage httpRequestMessage, Exception& requestException) bei […]

如何在ASP.NET / WCF中定期执行某些操作?

首先抱歉提出这样一个愚蠢的问题,我是asp.net的新手。 所以,我应该定期做一些事情,说我是网站heartpatients.com的所有者(假设),我希望每个访问该网站的网站用户都能在2小时后显示一条消息“拿你的药”。 所以,基本上这都是我的问题,我应该在每2小时(或4,6之后的任何时间)之后显示此消息,我也可以如何自定义时间。 还有一件事,比如我在WCF服务中有这个方法,它显示了这条消息,如何在特定时间调用该服务,甚至用户配置(比如有人在10小时后吃药?)那么如何在用户指定的时间之后定期调用该服务(服务中的特定方法)? 我希望我的问题很清楚。 任何帮助表示赞赏。

Restful service returns – 检查System.Byte 类型的对象的start元素时出错。 遇到意外的角色’ÿ’

所以我试图将图像从客户端发送到服务。 服务定义看起来像这样(实现没什么特别的,它没有到达那里,所以排除该代码): [OperationContract] [WebInvoke(Method = “POST”, UriTemplate = “Image”)] Stream Image(byte [] Image); 调用客户端看起来像这样: public static byte[] ImageToByte(Image img) { ImageConverter converter = new ImageConverter(); return (byte[])converter.ConvertTo(img, typeof(byte[])); } string uri = “http://localhost:8000/RestfulService/Image”; Bitmap img = new Bitmap(“Random.jpg”); byte[] byteArray = ImageToByte(img); var request = WebRequest.Create(uri) as HttpWebRequest; if (request != null) { request.ContentType = […]

WCF证书自定义validation – 向客户端发送exception消息

我有一个简单的WCF服务配置为具有传输安全性和证书客户端凭据。 我将自定义证书validation程序插入其中,并抛出FaultException。 我的问题是esception消息没有到达客户端:我只收到MessageSecurityException而没有任何故障…如果我在net.tcp(自托管)中转换我的服务,我接收一个CommunicationExcetion,没有任何错误。 这是我的web.config的一部分: 和我的确认者: public class CPSValidator : System.IdentityModel.Selectors.X509CertificateValidator { public override void Validate(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate) { throw new FaultException(“Certificate is not from a trusted issuer”); } } 任何的想法 ? 在此先感谢您的帮助!

将表达式树转换为字符串,反之亦然,用于WCF

我想将表达式树转换为字符串,反之亦然,以便在WCF客户端和服务器查询表达式中使用 将表达式树转换为字符串以发送到服务器并将字符串转换为服务器中的表达式树,因此需要此转换器 似乎System.Linq.Dynamic是一个很好的库,所以如果是的话请给我一个例子,如果没有请任何人给我一个解决这个问题的方法 我不知道System.Linq.Dynamic如何为这个目标工作(请举例) *******当然我想使用Serialize.Linq将Expression树转换为可序列化的对象,但是这个库对我来说不起作用,因为这个问题

错误请求错误400 – WCF客户端

我在IIS上运行了WCF Web服务。 它从客户端获取数据并在数据库中插入。 我的Web服务需要复杂数据类型播放器的对象。 在客户端中,我创建了一个玩家对象,并将其传递给Web服务以进行工作。 在我的客户端控制台应用程序中 string strBaseAddress = ConfigurationSettings.AppSettings[“WEBSERVICE”]; Uri baseAddress = new Uri(strBaseAddress); WebServiceHost host = new WebServiceHost(typeof(TrialCenterAPI), baseAddress); host.open // Doing Work host.close 这个应用程序工作正常。 现在,当我通过添加服务引用来编写另一个客户端来执行相同的工作时。 它每次都给我400个错误请求错误。 我创建了自动生成的API客户端对象,然后调用了适当的Web服务方法并将Players的对象传递给它。 我尝试谷歌搜索,我没有得到任何解决方案。,我增加了服务器和客户端Web配置中的最大大小。 客户端Web Config使用自定义绑定,如下所示: 任何帮助将受到高度赞赏。 更新: 我在msdn中发现了一个post “这是Web编程模型本身的一个限制。与SOAP端点(即具有BasicHttpBinding,WSHttpBinding等的端点)不同,它们有一种方法可以公开关于自身的元数据(WSDL或Mex),其中包含有关所有操作/参数的信息。端点,目前还没有标准方法来公开非SOAP端点的元数据 – 这正是基于webHttpBinding的端点所在。简而言之,WCF测试客户端对基于Web的端点没有用处。代表Web风格的端点出现在WCF发布其下一个版本时,我们可能会更新测试客户端以支持它,但目前还没有广泛采用。 您可以尝试的一种替代方法(尽管绝对不是那么简单/方便)是使用ChannelFactory类在代码中自己创建测试客户端(使用服务中使用的相同合同/绑定/行为(请参阅下面的示例)。然后您可以使用一些网络捕获/重放工具,如Fiddler(www.fiddlertool.com),向服务发送其他请求。“ 链接是: http : //social.msdn.microsoft.com/forums/en-US/wcf/thread/deabd25b-a219-4e95-9826-d40dc2f75543 我正在寻找这个确切问题的解决方案。 我可以使用ChannelFactory类或Fiddler来使用服务。 我无法使用服务客户端。 我想在WCF模型中这个问题仍然没有进展。 还有一件事,我在服务器的web.config或客户端的app.config中没有。 我在Server Web.config中添加了这个,然后我得到了一个不同的错误“’System.ServiceModel.ClientBase`1’的类型初始化器引发了一个exception。” 我也从配置中删除了webHttpBinding设置。

WCF服务Process.Start在网络服务帐户下冒充为不同的用户

我使用带有NETWORK SERVICE Identity的AppPool .NET 4.0在IIS,Windows Server 2008 R2中托管了Wcf服务。 我的Wcf服务有一个使用Process.Start调用命令EXE的方法。 我需要使用不同的用户作为执行命令EXE(域用户帐户)的凭据。 我尝试执行它但它对我不起作用:它似乎没有执行命令EXE。 更新:进程已退出,但未执行代码 我得到的错误如下: 退出代码-1073741502 和eventvwr: Process Information: Process ID: 0xc50 Process Name: C:\DeployTools\DeployTools.Commands.Ejecutar.exe Exit Status: 0xc0000142 应用程序无法正确启动(0xC0000142)。 单击“确定”关闭应用程序 有什么建议? 码: StreamReader sr = null; StreamReader serr = null; try { var psi = new ProcessStartInfo(MY_COMMAND_EXE); psi.WorkingDirectory = Path.GetDirectoryName(MY_COMMAND_EXE); psi.Arguments = arguments; psi.Domain = DOMAIN; psi.UserName […]

WCF C#Windowsapp storeAPP我收到此exception“没有可以接受该消息的端点…”

我做了一个连接SQL DB并将数据传输到Windowsapp store应用程序的WCF …昨天工作得很好。 我可以从数据库中获取数据到客户端应用程序。 今天我再次打开解决方案,令我惊讶的是它就像那样停止工作…… 我一直在寻找foruns的一些想法,但没有得到任何积极的结果。 我没有改变一行代码,我真的不知道发生了什么。 我试图制作一个新的解决方案,一个具有该function的新项目,没有任何东西,只是不起作用。 我试图更改wcf app.config但没有任何成功。 有人可以给我一些想法来解决它吗? 这是我的WCF app.congif文件:

在SOAP消息中使用嵌套复杂类型 – WCF XmlSerializer

我最近在StackOverflow上发布了一个问题: WCF中的SOAP消息反序列化问题 – 字段具有空值 它是一个WCF序列化引擎XmlSerializer ,用于序列化/反序列化SOAP消息。 反序列化最初不起作用 – 一些名称空间问题。 回到目前:) 如果它们是简单类型 ,则[XmlElement, MessageBodyMember]装饰的字段现在可以很好地反序列化。 自定义类型存在问题:它们已设置,但其字段具有空值:( 我应该在XmlSerializer上进行配置吗? [MessageContract] public class Request { [XmlElement(Form = System.Xml.Schema.XmlSchemaForm.Unqualified), MessageBodyMember] public XType X { get; set; } } [what to write here?] public class XType { [XmlElement(Form = System.Xml.Schema.XmlSchemaForm.Unqualified), body member?] public string AString { get; set; } … maybe another […]

为什么wcf不允许没有http模块,通过传输安全模式进行用户名/密码validation

我想使用带有用户名/密码身份validation和ssl的传输安全模式,它适用于Windows身份validation: 我在msdn上发现了一篇文章解释了如何使用传输安全模式进行用户名/密码身份validation,但需要自定义http模块。 我感兴趣的是为什么没有默认的安全模式,如: 如果我需要用户名/密码validation,我可以使用消息安全模式,但如果所有站点都使用https / ssl进行身份validation,那么在wcf中这样做应该不会有问题。 提前致谢。