`javax.xml.rpc.encoding` 是 **JAX-RPC 1.1(Java API for XML-based RPC)** 规范下的标准包,属于老式SOAP RPC风格Web服务的数
一、包基础说明javax.xml.rpc.encoding是JAX-RPC 1.1Java API for XML-based RPC规范下的标准包属于老式SOAP RPC风格Web服务的数据序列化/反序列化核心API随J2EE 1.4引入现已全面废弃。归属体系完整父层级javax.xml.rpc.*定位SOAP报文自定义类型编码、Java对象 ↔ XML Schema类型映射、序列化器注册二、包内核心常用接口/类1. 核心接口SerializerJava对象序列化为XML值写入SOAP报文。Deserializer解析XML片段反序列化为Java对象。TypeMapping维护「Java类型 ↔ XML Schema QName」双向映射表注册自定义序列化器。TypeMappingRegistry全局类型映射注册表支持多编码风格SOAP-ENC、literal。SerializableType标记自定义Java类型支持JAX-RPC编码序列化。2. 异常类EncodingException序列化、反序列化过程抛出通用编码异常。三、典型使用场景老旧遗留代码用于自定义复杂Java Bean、枚举、集合在SOAP RPC中的XML编组示例逻辑实现Serializer/Deserializer编写自定义编解码逻辑把Java类、XML命名空间类型名绑定到TypeMapping注册进TypeMappingRegistryJAX-RPC运行时自动调用。四、关键问题为什么找不到这个包1. API生命周期JAX-RPC 1.1J2EE 1.4、Java EE 5时代标准Java EE 6 正式废弃JAX-RPC被JAX-WS 2.xjavax.xml.ws完整替代JDK 1.6及以上JDK内置不再默认携带javax.xml.rpc系列包。2. Maven依赖仅兼容老项目如需编译遗留老代码手动引入JAX-RPC API!-- JAX-RPC 1.1 API --dependencygroupIdjavax.xml.rpc/groupIdartifactIdjavax.xml.rpc-api/artifactIdversion1.1/version/dependency运行期还需要老旧JAX-RPC实现Axis 1.x、JBoss old runtime等现代容器(Tomcat9/WildFly、SpringBoot)不再支持。五、现代替代方案必看方案1JAX-WS官方标准替代包路径切换为服务端点javax.xml.ws.*对象XML序列化JAXBjavax.xml.bind.*JAXB内置自动Bean序列化无需手动编写Serializer/Deserializer对应SOAP 1.1/1.2 document/literal规范工业主流。方案2Spring WebService / Apache CXF / Apache Axis2Axis2抛弃了Axis1.x的JAX-RPC原生JAX-WSCXF、Spring WS基于JAX-WS JAXB零手动编码自定义序列化。方案3RESTful替代新项目直接改用HTTPJSONJackson/FastJSON彻底脱离SOAP、XML RPC体系。六、迁移建议不要新代码使用javax.xml.rpc.encoding规范淘汰、无维护、高安全风险遗留Axis1.x老Web服务短期补全JAX-RPC依赖勉强编译运行中长期重构迁移至CXF/JAX-WS或直接改为REST接口自定义类型编解码逻辑全部改用JAXB注解XmlRootElement、XmlElement自动映射行数大幅缩减。七、常见报错对应解决package javax.xml.rpc.encoding does not exist→ 未引入jax-rpc-api依赖或JDK版本过高移除了该APIClassNotFound TypeMappingRegistry→ 仅引入API包不够缺少Axis1等运行时实现jar包SpringBoot3 / Jakarta EE 9包全面迁移到jakarta命名空间连javax.xml.*旧包都不再兼容只能重构Web服务。Package javax.xml.rpc.encodingSkip navigation linksOverviewPackageClassUseTreeDeprecatedIndexHelpPrev PackageNext PackageFramesNo FramesPackage javax.xml.rpc.encodingThis package defines APIs for the extensible type mapping framework.See: DescriptionInterface Summary Interface Description DeserializationContext The javax.xml.rpc.encoding.DeserializationContext interface is implemented by the JAX-RPC runtime system in an XML processing mechanism specific manner. Deserializer The javax.xml.rpc.encoding.Deserializer interface defines a base interface for deserializers. DeserializerFactory The javax.xml.rpc.encoding.DeserializerFactory is a factory of deserializers. SerializationContext The javax.xml.rpc.encoding.SerializationContext interface is implemented by the JAX-RPC runtime system in an XML processing mechanism specific manner. Serializer The javax.xml.rpc.encoding.Serializer interface defines the base interface for serializers. SerializerFactory The javax.xml.rpc.encoding.SerializerFactory is a factory of the serializers. TypeMapping The javax.xml.rpc.encoding.TypeMapping is the base interface for the representation of a type mapping. TypeMappingRegistry The interface javax.xml.rpc.encoding.TypeMappingRegistry defines a registry of TypeMapping instances for various encoding styles. Class Summary Class Description XMLType Constants for common XML Schema and SOAP 1.1 types.Package javax.xml.rpc.encoding DescriptionThis package defines APIs for the extensible type mapping framework.Skip navigation linksOverview Package Class Use Tree Deprecated Index Help Prev Package Next Package Frames No Frames