服务代码 1.契约 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; namespace 消息拦截实现用户名验证 { [ServiceContract(Namespace="http://l…
WCF建立在基于消息的通信这一概念基础上.通过方法调用(Method Call)形式体现的服务访问需要转化成具体的消息,并通过相应的编码(Encoding)才能通过传输通道发送到服务端:服务操作执行的结果也只能以消息的形式才能被正常地返回到客户端.所以,消息在整个WCF体系结构中处于一个核心的地位,WCF可以看成是一个消息处理的管道,如下图所示:   WCF的一个操作(以及操作的参数)被序列化为Soap协议所支持的消息(XML结构),经过服务运行层,交给Binding中所定义的消息传递层,消息传…
手动拼接SOAP消息调用webservice SOAP消息的组成: 1.创建需要发送的SOAP消息的XML(add方法为例子) /** * 创建访问add方法的SOAP消息的xml */ @Test public void test1(){ try { //1.创建消息工厂 MessageFactory factory = MessageFactory.newInstance(); //2.根据消息工厂创建SoapMessage SOAPMessage message = factory.cre…
WCF对消息加密(只对消息加密,不考虑Authorize)其实很简单,只要在server和client端的binding加入security mode为Message(还有Transport, TransportWithMessageCredential,关于他们的不同之处,请参考MSDN)即可. 以一个简单的例子说明,这个例子只有一个Greeting方法,回显客户端的输入,如客户端输入"WCF",调用service的Greeting方法后回显"Hello,WCF!"…
在webSservice时代,可以通过SOAPHEADER的方式很容易将用户名.密码附加到SOAP header消息头上,用户客户端对调用客户端身份的验证.在WCF 时代,也可以通过OperationContext.Current.IncomingMessageHeaders的方式将用户名.密码附加到SOAP消息中.但是这种方式实现起来有个缺点:那就是所有调用客户端都需要这样做才能将我们需要通过认证的帐号.密码附加到SOAP消息上.实际上,也可以通过WCF扩展的方式,在客户端自动将用户名.密码附…
前面老周给大伙伴们介绍了把跟踪信息写入日志文件的方法,今天咱们换个类似的话题来扯一下,对了,咱们就说说怎么把WCF的往来消息log下来吧. 尽管在现实生活中,我们不主张偷窥他人信息,不过,偷窥程序信息是一件很快乐的事. 在很多情况下,WCF是用SOAP来完成数据交换的,SOAP是啥,网上搜一搜叫知道了,不要太在意概念,不懂的概念就网上搜,搜到后大致看一下即可. 要是能把WCF服务的每轮通信的SOAP消息记录下来,除了有助于管理服务外,其实还可以帮助我们了解WCF的调用过程(可以看到它与客户端的往…
1, SOAPMessage结构图 2, SOAP消息的创建 1>前面的一个简单WebService  服务 package com.yangw.soap.service; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; //说明该接口是服务接口,可以指定我们自己的命名空间 @WebServicepublic interface IMyService { /** * 使用注解指…
通常定义消息的架构,使用数据协定就够了,但是有时必须将类型精确映射到soap消息,方法两种:1.插入自定义soap标头:2.另一种是定义消息的头和正文的安全属性.消息协定通过MessageContract,成员通过MessageHeader和MessageBodyMember来设定. 消息的操作最多具有一个参数和返回值,且参数和返回值都必须是消息类型.如: [OperationContract] MessageContrctObject GetInfo(MessageContrctObject…
1请求响应模式 a.wcf中的消息模式默认是请求响应模式 b.返回值是void默认也是请求响应模式,可返回服务端的错误信息 c.客户端在请求后,当前线程停止真到接受收服务器的响应 [OpereationContract] string getName(); 缺点:性能 优点:可返回服务端的错误信息,soap 2单工模式 客户端向服务端发送请求后继续执行,服务端不返回 Void 的方法默认使用的是请求响应模式,其他返回类型会引发异常 若要设置其消息模式: [OperationContract(Is…
AJAX: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新.   如果此页面用到了ajax方法,一定要在页面上端加上: <script src="../../jquery-1.11.2.min.js"></script> ajax基础语法: <script type="text/javascript"&g…