Element token=mc.getInMessage().getHeader().getChild("AuthenticationToken");
if (token == null) {
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含身份验证信息", org.codehaus.xfire.fault.XFireFault.SENDER);
}
if(token.getChild("CurrentUserId")!=null && token.getChild("CurrentUserId").getValue()!=null && !token.getChild("CurrentUserId").getValue().trim().equals("") ) {
return token.getChild("CurrentUserId").getValue();
}
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含当前操作用户Id", org.codehaus.xfire.fault.XFireFault.SENDER);
package test;
import org.codehaus.xfire.MessageContext;
import org.codehaus.xfire.handler.AbstractHandler;
import org.jdom.Element;
public class ClientAuthenticationHandler extends AbstractHandler {
private String username = null;
private String password = null;
public ClientAuthenticationHandler() {
}
public ClientAuthenticationHandler(String username,String password) {
this.username = username;
this.password = password;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public void invoke(MessageContext context) throws Exception {
//为SOAP Header构造验证信息
Element el = new Element("header");
context.getOutMessage().setHeader(el);
Element auth = new Element("AuthenticationToken");
Element username_el = new Element("Username");
username_el.addContent(username);
Element password_el = new Element("Password");
password_el.addContent(password);
auth.addContent(username_el);
auth.addContent(password_el);
el.addContent(auth);
}
}
分享到:
相关推荐
在Web服务的世界里,SOAP(Simple Object Access Protocol)和XFire是两种常见的实现方式。 **SOAP(简单对象访问协议)** SOAP是一种轻量级、独立于语言的协议,用于交换结构化和类型化的信息。它基于XML,因此...
xfire提供了工具生成这些客户端代码,它们会包含设置SOAP Header和执行请求的逻辑。 在xfireDemo项目中,你应该能看到以下文件和目录: - `src/main/java`:包含服务接口和服务实现的Java源代码。 - `src/main/...
在给定的“SoapHeader”文件中,可能包含了示例代码或者配置,演示了如何在XFire服务中使用SOAP消息头。这些示例通常会展示如何创建自定义消息头类,以及如何在XFire的配置中设置消息处理器。通过解析和理解这些示例...
WebService验证soapHeader.txt文件很可能是详细描述了如何配置MyEclipse项目,创建服务,设置SOAP Header,以及运行客户端和服务端的步骤。这份文档可能包含了XML Schema定义(XSD)文件,用于定义服务接口,以及...
在本文中,我们将深入探讨如何将Spring框架与XFire整合,以便轻松地创建和发布Web服务,以及如何利用...xhr.send('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tes=...
在这个“webservices soap (java)实例”中,我们将探讨如何使用Java来实现SOAP Web服务,特别是通过使用XFire框架。 XFire是一个已不再维护的Java库,它简化了SOAP Web服务的创建和消费。尽管现在更多的人选择使用...
1. **SOAP协议**:理解SOAP消息的结构,包括Envelope、Header和Body元素,以及如何在Java中创建和解析这些消息。 2. **XFire服务定义**:如何使用注解或XML配置文件定义Web服务,包括服务接口、操作方法和输入/输出...
你需要熟悉SOAP请求的构造,包括Header部分(包含API密钥)和Body部分(包含具体的请求参数)。 3. **获取游戏信息** 通过调用`GetGameInfo` API,你可以获取特定游戏的详细信息,如游戏名称、图标、玩家数量等。...
- 编写SOAP消息:SOAP消息包含Header和Body,使用XML格式,CXF提供了便利的工具类来构建和解析这些消息。 6. **CXF_Spring中的示例**:在提供的压缩包文件"CXF_Spring"中,可能包含了示例代码、配置文件以及相关...
代码示例中的`AuthenticationHandler`类继承自`AbstractHandler`,这是XFire框架提供的用于处理SOAP消息的抽象基类。在这个自定义处理器中,首先检查SOAP消息的Header是否为空,如果为空则抛出异常,表明请求缺少...
SOAP消息通常包含三个主要部分:Header(头)用于传递元数据,Body(主体)包含实际的消息内容,而Envelope(封装)则是整个消息的容器。 **WSDL(Web Services Description Language)** WSDL是一种XML格式,用于...
SOAP消息通常包含三个主要部分:封装(Envelope)、头部(Header)和主体(Body)。SOAP 1.1仅支持HTTP POST,而SOAP 1.2增加了对HTTP GET的支持。 【WSDL】 WSDL(Web Service Description Language)是用于描述...
例如,使用AXIS框架实现SOAP POST时,如果Web Service接口复杂,需要创建大量代理类,并处理SOAP Header,可能会变得相对复杂。AXIS可能不支持某些特定的SOAP Header结构,如在示例中提到的 `<appId>` 和 `<pwd>` ...
XFire支持SOAP、RESTful风格的服务,并且提供了丰富的客户端和服务器端API。XFire的核心特性包括自动绑定、XML处理、类型安全的调用以及对WS-I(Web Services Interoperability)基本Profile的支持,这确保了不同...
通过研究这个示例,开发者可以学习如何设置和运行一个SOAP Web服务,了解如何处理请求和响应,以及如何与客户端进行交互。 总之,Web服务服务器端代码是实现服务接口、处理客户端请求、生成SOAP响应的核心部分。...
SOAP消息以XML格式表示,包含四个主要部分:Envelope、Header、Body和Fault。 2. **Android HTTP通信** Android通过HttpURLConnection或HttpClient库来实现HTTP通信。由于HttpClient在新版本的Android中已被弃用,...
SOAP消息通常包含三个部分:头部(Header)、主体(Body)和可选的附件(Attachments)。 3. UDDI:UDDI是一个黄页式的服务注册中心,允许服务提供商发布他们的服务,而服务消费者则可以通过查询UDDI找到所需的服务...
- SOAP由三部分组成:Envelope(信封)、Header(头部)和Body(主体)。Envelope定义消息结构,Header包含处理信息,Body则包含实际的业务数据。 - SOAP示例通常包括XML格式的请求和响应,这些请求和响应包含了...
SOAP消息主要由三部分组成:Header(头部),Body(主体)和Envelope(封装)。SOAP允许开发者在HTTP、SMTP等传输协议上进行数据交换,实现了远程调用功能。 2. WSDL(Web Services Description Language):WSDL是...
SOAP消息通常包含一个Header和一个Body,Header用于提供处理消息的上下文信息,Body则包含了实际的数据。 3. **WSDL描述**:WSDL是Web Service的接口定义语言,它使用XML来描述Web Service的接口,包括服务的位置、...