这就是刚才配置中提到的默认没有配置固定策略的URI
请求采用的策略。去查找文件中response
对应的策略配置,修改其中的内容,这儿就是修改Sign-x.509-1
的配置。
将:
<
wsp:MessagePredicate
wsp:Usage
=
"wsp:Required
"
Dialect
=
"http://schemas.xmlsoap.org/2002/12/wsse#part
">
wsp:Body() wsp:Header(wsa:To) wsp:Header(wsa:Action) wsp:Header(wsa:MessageID) wse:Timestamp()wsp:MessagePredicate
>
修改成为:
<
wsp:MessagePredicate
wsp:Usage
=
"wsp:Required
"
Dialect
=
"http://schemas.xmlsoap.org/2002/12/wsse#part
">
wsp:Body()wsp:MessagePredicate
>
因为我们回签的时候并没有设置
address
部分,也没有
timestamp
的签名,因此都需要去掉,不然就会出错。
再将
<
wssp:Integrity
wsp:Usage
=
"wsp:Required
">
中的:
<
wssp:MessageParts
Dialect
=
"http://schemas.xmlsoap.org/2002/12/wsse#part
">
wsp:Body()
wsp:Header(wsa:Action) wsp:Header(wsa:FaultTo) wsp:Header(wsa:From)
wsp:Header(wsa:MessageID) wsp:Header(wsa:RelatesTo)
wsp:Header(wsa:ReplyTo) wsp:Header(wsa:To) wse:Timestamp()wssp:MessageParts
>
修改成为:
<
wssp:MessageParts
Dialect
=
"http://schemas.xmlsoap.org/2002/12/wsse#part
">
wsp:Body()wssp:MessageParts
>
打开app.config
文件,增加如下一句(据说会有缺陷,关于超时判断的bug
,因此还是加上为好):
86400
最后在Form1.cs
添加测试代码运行测试看看,不过这里的代码如下:
private
void
button1_Click(object
sender, EventArgs
e)
{
AccountService
service = new
AccountService
();
accountService.ArrayOfAccountBean result = service.getUserAccountArr("test"
);
}
不在类似于WSE 3
需要配置对应的策略,因为在配置文件中已经包含了配置策略的信息。
运行通过,艰难的历程告一段落,一句话,平台跨得不容易啊。
结束语:
这次的WSSE
跨平台问题的查找真的花费了很多精力,也证明了我早先所担心的,那就是对于跨平台客户端的兼容性测试可能问题会很多,现在才是开始,当ISV
上线调试以后,可能问题会暴露的更多,其实SAAS
模式几大技术问题中,有一项就是如何让SOA
在ISV
和平台之间以及ISV
之间搭起桥梁,这个问题不仅框架结构上需要设计好,同时细节上也有多需要去实践的,细节决定成败啊,记得我在上次CSDN
的采访中谈了自己对于SCA
的了解,有一位朋友给我留了言,说还是要一些实际的开发者来说这些为好,架构师之类的人只会玩虚的,我想我记录着一路的历程也就是让大家知道,其实走好每一小步,才能够让系统性的架构发挥其更大的作用。
分享到:
相关推荐
xfire 实施ws-security代码,多线程发送邮件工具类代码
纯java调用ws-security+CXF实现的webservice安全接口
ws-security ws-security ws-security
ws-securitypolicy规范 2005 v1.1
1)参考: ...2)CXFWS工程是基于WS-Security规范,实现X.509身份验证的,同时实现签名和加密 keytool 工具的使用参考 http://hi.baidu.com/qianshuifanchuan/blog/item/6291b8510009ad3c42a75b8e.html ...
基于XFire实施WS-Security,学习web service的材料
XFire中实现WS-SecurityXFire中实现WS-SecurityXFire中实现WS-Security
ISNetworksProvider.jar tsik.jar ws-security.jar 这三个jar包用在webservices安全加密中。在网上找了很久才收集到。
ws-commons-java5-1.0.1.jar
WS-Security实现
Spring Web Services WS-Security示例 设置各种协议的样本 SOAP Web服务。 支持WS-Security的两种实现,即和 。 对于每种认证方法,每种认证方法都有一个不同的终结点: 不安全。 普通密码。 摘要密码。 签名...
CXF使用WSS4J实现WS-Security规范,本例的配置是Timestamp Signature Encrypt,具体使用可以参考我的博客http://blog.csdn.net/wangchsh2008/article/details/6708270
内含: ISNetworksProvider.jar tsik.jar ws-security.jar 和wss4j的所有包
xfire1.2.6 ws-security示例,也就是让里面的例子跑起来,网上都没这个教程,所以我就花了点点时间做了一下
eclipse下spring+xfire实现ws-security的简单例子,包含服务器和客户端的代码,实现用户名/密码.数字签名和报文加密的安全认证,唯一不足的是没有实现数字签名和报文加密的混合模式(可能是密匙文件的问题,正在努力中),...
cxf结合ws-security实现webservice 用户名/密码身份认证安全调用,依赖包
WS-Security
了解 Web 服务规范_第 4 部分:WS-Security源码
WS-Security for Node.js 从分支。 他们的版本缺少关键文件,该文件从NPM安装时导致错误。 此派生解决了该问题。 我们将竭尽全力维护并保持最新状态,但是此库目前不是我们的最高优先级。 在SOAP客户端上实现WS-...
了解 Web 服务规范_第 4 部分:WS-Security.