最近在开发webservice接口,使用ws-security规范。 有一些心得,
1)服务端获取客户端的身份信息可以通过 WebServiceContext 获得
@Resource
private WebServiceContext wsContext;
public void confirmReceive(String actionID, isDeleteMsg) {
wsContext.getUserPrincipal()
}
2)客户端的头信息可以通过addheader方法来实现
public static SOAPHeaderElement getAuthenInfo(String name, String userToken) {
SOAPHeaderElement wsseSecurity = new SOAPHeaderElement(
new PrefixedQName(
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
"Security", "wsse"));
try {
wsseSecurity.setMustUnderstand(true);
wsseSecurity.setActor(null);
SOAPElement token = wsseSecurity
.addChildElement("wsse:UsernameToken");
SOAPElement userName = token.addChildElement("wsse:Username",
"wsse");
userName.setValue(name);
SOAPElement usernameToken = token.addChildElement("wsse:Password",
"wsse");
usernameToken.setValue(userToken);
} catch (Exception err) {
err.printStackTrace();
}
return wsseSecurity;
}
3)使用cxf方法 增加对WS的身份验证,具体示例网上很多
分享到:
相关推荐
4. **设置和解析令牌**:在实际使用中,我们需要在发送请求前设置令牌,这可能来自用户的登录凭证或通过其他方式获取。同时,服务器端也需要能够解析这个头部信息以验证请求的合法性。 ```java TokenSoapHeader ...
只需要对`web.xml`文件进行适当的修改,并在Tomcat配置文件中添加用户信息,就可以轻松实现对WebService的访问控制。此外,客户端也能够通过简单的步骤完成验证过程,从而确保了数据的安全性和完整性。
4. **身份验证逻辑**:一旦获取了头信息,就需要对其进行解析和验证。这可能涉及到解码Base64字符串,然后与存储的凭据进行比较。如果验证成功,服务将继续执行;否则,返回错误信息。 5. **错误处理**:当头验证...
本教程将深入浅出地讲解WebService的基本概念、工作原理以及如何在实际开发中应用。 一、WebService简介 WebService是一种通过XML(Extensible Markup Language)和WSDL(Web Services Description Language)进行...
Header则可能包含身份验证、事务处理等额外信息。 4. **调用过程**:使用编程语言(如Java的JAX-WS,Python的suds库,或.NET的SoapHttpClient)创建一个客户端,这个客户端能够解析WSDL并生成对应的代理类。通过...
- **Kerberos代理身份验证**:客户端首先与KDC(Key Distribution Center)交互获取TGT(Ticket Granting Ticket),然后用TGT向TGS(Ticket Granting Service)请求ST(Service Ticket),最后使用ST访问目标服务。...
SOAP消息由Header和Body两部分组成,其中Body包含了调用Web服务的具体请求。 2. **WSDL文件**:WSDL文件定义了Web服务的接口,包括服务的地址(endpoint)、操作(operations)、消息结构(message)、绑定...
Java WebService接口开发是将Java应用程序暴露为网络服务的一种方式,允许不同系统间的数据交换和交互。本案例将深入探讨如何使用Java实现Web服务的创建、发布和调用。 一、理解WebService WebService是一种基于...
你需要熟悉SOAP请求的构造,包括Header部分(包含API密钥)和Body部分(包含具体的请求参数)。 3. **获取游戏信息** 通过调用`GetGameInfo` API,你可以获取特定游戏的详细信息,如游戏名称、图标、玩家数量等。...
在上述代码中,我们首先创建了一个HttpClient实例,然后设置了认证信息,以便在访问受保护的Web服务时进行身份验证。接着,我们创建了一个HttpPost对象,并设置了SOAP请求体。请求体是SOAP消息的XML表示,其中包含了...
在PHP中,可以使用`$_GET`,`$_POST`等全局变量来获取请求参数,并通过HTTP响应返回结果。例如,创建一个处理GET请求的REST服务: ```php function getUsers() { // 获取用户数据的逻辑 $users = array(...); ...
2. 添加header:在Web服务通信中,客户端可能会在请求中添加特定的HTTP头信息,这些信息可以包含身份验证令牌、API密钥等,以确保只有授权的用户能够访问服务。 3. 服务端获取验证:服务端需要检查这些header,进行...
使用工具如SoapUI或Postman可以帮助测试和调试WebService,查看请求和响应的详细信息,以及模拟不同的调用场景。 9. **持续集成与部署** 在开发流程中,WebService应纳入自动化测试和持续集成,确保每次代码更改...
Header可以包含服务认证、路由等信息,Body则封装了实际的业务数据或操作请求,而Fault则用于报告错误。 2. **WSDL(Web服务描述语言)** WSDL是一种XML格式的文档,用于定义WebService接口,包括服务的位置、提供...
调用外部Webservice涉及解析WSDL(Web Services Description Language)文件,创建SOAP消息,然后通过Domino发送请求并处理响应。 ### Lotus Domino V7.0的Web服务支持 Lotus Domino V7.0引入了Web服务设计元素,...
本Demo旨在演示如何在Android应用中调用Web Service,从而实现数据的获取和发送。我们将主要关注以下几个方面:XML解析、HTTP请求库的使用、异步任务处理以及安全考虑。 1. **XML解析**: Web Service通常使用SOAP...
4. **服务请求方**通过查询UDDI注册表,获取服务的位置信息和WSDL文件。 5. **服务请求方**根据WSDL文件中的描述,建立与服务提供方的SOAP通信,发送请求并接收响应。 #### SOAP消息格式与安全 SOAP消息包含四个...
10. **实际应用**:在实际开发中,可能需要对请求参数进行加密,或者使用Token验证身份。同时,考虑到性能和用户体验,可以使用缓存策略,减少不必要的网络请求。 以上是关于“android访问webservice”的核心知识点...
2. 实现服务接口:编写服务端代码,实现接口中的方法,从天气API获取并返回相应城市的天气信息。 3. 创建WSDL:根据服务接口生成WSDL文件,描述服务的契约。 4. 部署服务:将实现的服务部署到Web服务器,使其可供...
Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同系统之间进行数据交换和功能调用。它利用标准的XML(可扩展标记语言)来定义数据格式,SOAP(简单对象访问协议)用于传输数据,WSDL(Web...