用axis开发web service服务接口,对方(客户端)希望soap返回的编码是utf-8的,可现在是gb2312的。找了半天api也没有发现设置encoding的方法。最后发现原来这个encoding不是程序设置的:
SOAP 1.1 HTTP/SOAP 消息的媒体类型为“text/xml”,其编码处理是在 RFC2376 中定义的。而 SOAP 1.2 HTTP/SOAP 消息的媒体类型为“application/soap+xml”,其编码处理是在 RFC3023 中定义的。这些 RFC 规范定义了下列行为:
SOAP 1.1: HTTP/SOAP 请求的字符集由 HTTP 头中的 ContentType 字符集参数确定。在 SOAP 消息的 XML 声明部分定义的编码特性将被忽略。如果不指定 ContentType 字符集参数,字符集将被视为 US-ASCII。
SOAP 1.2: HTTP/SOAP 请求的字符集由 HTTP 头中的 ContentType 字符集参数确定。在 SOAP 消息的 XML 声明部分定义的编码特性将被忽略。如果未指定 ContentType 的字符集参数,将使用在 XML 声明部分定义的编码特性。如果 ContentType 字符集参数或 XML 声明的编码特性均未定义,它将被视为 UTF-8。
Content-Type: text/html;charset=GB2312
Content-Type: text/xml; charset=utf-8
只要对方把请求的编码格式改成utf-8就可以了
分享到:
相关推荐
Axis服务接收到请求后,解析XML消息,执行相应的业务逻辑,并返回响应给客户端。 在"TestClient.java"这个文件中,我们可以预期它是一个Java程序,实现了SOAP客户端的功能。通常,客户端代码会包含以下步骤: 1. ...
2. **SOAP编码规则(Encoding Rules)**:规定了一套数据编码机制,用于定义应用程序所需的数据类型及其实例之间的交换。 3. **SOAP RPC表示(RPC Representation)**:定义了一种表示远程过程调用及响应的标准方式...
它包含了处理SOAP消息、编码和解码、事务管理以及安全性的组件,使得开发者可以更轻松地创建和消费Web服务。 三、一卡通充值查询系统设计 一卡通系统通常是指校园、企业或社区中用于支付小额消费的电子支付系统。在...
1. **简单的方法调用**:在Web服务中,方法调用通常涉及到SOAP(Simple Object Access Protocol)消息的发送和接收。Axis2提供了一个高效的方法调用机制,允许客户端通过HTTP或HTTPS协议调用服务端的方法,并传递...
3. **处理SOAP响应**:服务器收到请求后,根据SOAP消息的内容执行相应的逻辑处理,最后返回SOAP响应。客户端需要解析SOAP响应以获取结果。 #### 总结 通过上述介绍,我们可以了解到如何使用Java实现基于SOAP的XML...
1. **服务引擎:** Axis2是Web服务的服务引擎,负责处理SOAP消息,执行服务逻辑,并将响应返回给调用者。 2. **模块:** Axis2的模块是可插入的组件,提供特定功能,如安全、MTOM(Message Transmission ...
如果服务返回SOAP消息,可能会涉及到XML解析。 7. **异常处理** - 在调用服务时,应捕获并处理可能出现的异常,如网络错误、服务不可用或业务逻辑错误等。 8. **性能优化** - 使用MTOM(Message Transmission ...
在实际开发中,SOAP客户端可以使用SOAP库生成请求并解析响应,而服务器端则处理这些请求并返回相应的SOAP消息。SOAP还支持WS-Security、WS-ReliableMessaging等高级特性,以满足更复杂的安全和可靠性需求。 总之,...
- 鉴于SOAP消息是以XML格式传输,可能需要处理XML解析和序列化的问题。 - SOAP的性能可能不如轻量级的RESTful API,因为XML比JSON更占用带宽和计算资源。 总的来说,Android处理SOAP涉及到构建和解析SOAP消息,使用...
这些组件协同工作,使得Axis2能够处理SOAP请求,执行业务逻辑,并将响应返回给调用者。 3. **模块与服务**:在Axis2中,服务被组织成模块,每个模块包含一组相关的服务。模块化设计有助于代码的复用和管理,使得...
4. **异常处理**:Axis提供了丰富的异常处理机制,可以帮助开发者处理网络问题、服务端错误、数据解析异常等情况。 5. **测试和调试**:Axis客户端通常配合其他工具,如JUnit或Eclipse IDE,进行测试和调试,确保...
3. **避免类型混淆**:encoded风格可能会导致由于类型编码导致的问题,而document/literal则直接使用XML Schema定义的数据类型。 然而,document/literal也有其挑战,比如它通常需要更多的XML处理,可能导致性能...
6. **错误处理**:处理认证失败的情况,例如返回适当的错误代码和消息,以便客户端能够识别问题并采取相应措施。 总的来说,Axis2中的头鉴权应用涉及到服务端和客户端的配置,以及对WS-Security标准的理解和应用。...
它定义了一种标准的封装、编码和寻址消息的方法,使得不同的系统可以交换结构化和类型化的信息。 2. **Apache Axis**:Apache Axis是Java平台上用于构建和使用Web服务的框架。它包含了一系列工具,如wsdl2java...
7. **log4j.jar**:日志记录库,Axis使用它来记录调试信息和错误日志,这对于排查问题和优化性能非常重要。 8. **commons-discovery.jar**:Apache Commons Discovery模块,它提供了服务发现的功能,帮助客户端在不...
MTOM是一种优化机制,用于高效地传输二进制数据,如图片或大文件,它能够将二进制数据转换为Base64编码并嵌入到SOAP消息中,只有在必要时才解码为原始形式,从而节省带宽。SwA则是SOAP的一个扩展,允许在SOAP消息中...
它提供了SOAP消息处理、协议栈、编码器和解码器等组件。 **二、Android调用Web Service的步骤** 1. **构建服务端:** - 使用Java(J2EE)编写Web Service接口和实现,比如使用Java的JAX-WS(Java API for XML Web...
- **简介:** Apache Axis是一个开放源代码的Java库,用于构建和部署SOAP Web服务。它支持最新的Web服务标准,并提供了一个灵活且易于使用的API。 - **优势:** 简化了Web服务的创建和调用过程,支持多种数据类型...
Axis会处理与服务的SOAP通信,包括编码请求消息、解码响应消息等。 在给定的压缩包`axiswsdl`中,可能包含了用于创建和消费Web服务所需的各种`jar`包,例如`axis.jar`,`wsdl4j.jar`,`saaj-api.jar`,`saaj-impl....
4. **编码器和解码器**:Axis2包含了对XML编码和解码的支持,能够有效地处理SOAP消息的序列化和反序列化。 5. **服务部署**:Axis2支持通过服务描述文件(如WSDL)来部署Web服务,也可以直接部署Java类。此外,Axis...