这些天在对一个项目扩展功能时使用Axis 1.4 将WSDL文件逆向工程后产生的字符串数组却只变成字符串 。这个估计是Axis 1.4的bug。
以下贴出将要将要逆向工程的WSDL部份内容:
<?xml version="1.0" encoding="UTF-8"?> <definitions targetNamespace="service.sync.data.hisun.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="service.sync.data.hisun.com" xmlns:intf="service.sync.data.hisun.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://request.sync.data.hisun.com" xmlns:tns2="http://bean.sync.data.hisun.com" xmlns:tns3="http://response.sync.data.hisun.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!--WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)--> <wsdl:types> <schema targetNamespace="http://bean.sync.data.hisun.com" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://response.sync.data.hisun.com"/> <import namespace="http://request.sync.data.hisun.com"/> <import namespace="service.sync.data.hisun.com"/> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="Author"> <sequence> <element name="authorId" nillable="true" type="xsd:string"/> <element name="authorName" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="ContentProvision"> <sequence> <element name="downLoadUrl" nillable="true" type="xsd:string"/> <element name="onLineUrl" nillable="true" type="xsd:string"/> <element name="pkgSize" nillable="true" type="xsd:string"/> <element name="provisionId" nillable="true" type="xsd:string"/> <element name="terminalGroupId" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="Content"> <sequence> <element name="contentId" nillable="true" type="xsd:string"/> <element name="contentIndex" nillable="true" type="xsd:string"/> <element name="contentName" nillable="true" type="xsd:string"/> <element name="contentProvision" nillable="true" type="impl:ArrayOf_tns2_ContentProvision"/> </sequence> </complexType> <complexType name="Opus"> <sequence> <element name="area" nillable="true" type="xsd:string"/> <element name="author" nillable="true" type="tns2:Author"/> <element name="content" nillable="true" type="impl:ArrayOf_tns2_Content"/> <element name="contentType" nillable="true" type="xsd:string"/> <element name="dataSource" nillable="true" type="xsd:string"/> <element name="initChar" nillable="true" type="xsd:string"/> <element name="opusDesc" nillable="true" type="xsd:string"/> <element name="opusId" nillable="true" type="xsd:string"/> <element name="opusLargeUrl" nillable="true" type="xsd:string"/> <element name="opusName" nillable="true" type="xsd:string"/> <element name="opusUrl" nillable="true" type="xsd:string"/> <element name="status" nillable="true" type="xsd:string"/> <element name="supportedTerminalGroupIds" nillable="true" type="impl:ArrayOf_soapenc_string"/> <element name="theme_id" nillable="true" type="xsd:string"/> <element name="times" nillable="true" type="xsd:string"/> </sequence> </complexType> </schema> <schema targetNamespace="service.sync.data.hisun.com" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://response.sync.data.hisun.com"/> <import namespace="http://request.sync.data.hisun.com"/> <import namespace="http://bean.sync.data.hisun.com"/> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="ArrayOf_tns2_ContentProvision"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="tns2:ContentProvision[]"/> </restriction> </complexContent> </complexType> <complexType name="ArrayOf_tns2_Content"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="tns2:Content[]"/> </restriction> </complexContent> </complexType> <complexType name="ArrayOf_soapenc_string"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/> </restriction> </complexContent> </complexType> </schema> <schema targetNamespace="http://request.sync.data.hisun.com" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://response.sync.data.hisun.com"/> <import namespace="http://bean.sync.data.hisun.com"/> <import namespace="service.sync.data.hisun.com"/> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="SyncRequest"> <sequence> <element name="opus" nillable="true" type="tns2:Opus"/> </sequence> </complexType> <complexType name="NotifyOpusUnderLineRequest"> <sequence> <element name="contentId" nillable="true" type="xsd:string"/> <element name="operationType" nillable="true" type="xsd:string"/> <element name="opusId" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="UpdateContentAndProvisionRequest"> <sequence> <element name="content" nillable="true" type="tns2:Content"/> <element name="operationType" nillable="true" type="xsd:string"/> <element name="opusId" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="UpdateOpusBasicInfoRequest"> <sequence> <element name="opus" nillable="true" type="tns2:Opus"/> </sequence> </complexType> </schema> <schema targetNamespace="http://response.sync.data.hisun.com" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://request.sync.data.hisun.com"/> <import namespace="http://bean.sync.data.hisun.com"/> <import namespace="service.sync.data.hisun.com"/> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="SyncResponse"> <sequence> <element name="code" nillable="true" type="xsd:string"/> <element name="msg" nillable="true" type="xsd:string"/> </sequence> </complexType> </schema> </wsdl:types> <message name="SyncDataResponse"> <part name="SyncDataReturn" type="tns3:SyncResponse"/> </message> <message name="SyncDataRequest"> <part name="request" type="tns1:SyncRequest"/> </message> <portType name="DataSync"> <operation name="SyncData" parameterOrder="request"> <input message="impl:SyncDataRequest" name="SyncDataRequest"/> <output message="impl:SyncDataResponse" name="SyncDataResponse"/> </operation> </portType> <binding name="DataSyncServiceSoapBinding" type="impl:DataSync"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="SyncData"> <wsdlsoap:operation soapAction=""/> <input name="SyncDataRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service.sync.data.hisun.com" use="encoded"/> </input> <output name="SyncDataResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="service.sync.data.hisun.com" use="encoded"/> </output> </operation> </binding> <service name="DataSyncService"> <port binding="impl:DataSyncServiceSoapBinding" name="DataSyncService"> <wsdlsoap:address location="xxx/DataSyncService"/> </port> </service> </definitions>
其中Opus中的“supportedTerminalGroupIds”属性是字符串数组类型:
<complexType name="Opus"> <sequence> <element name="area" nillable="true" type="xsd:string"/> <element name="author" nillable="true" type="tns2:Author"/> <element name="content" nillable="true" type="impl:ArrayOf_tns2_Content"/> <element name="contentType" nillable="true" type="xsd:string"/> <element name="dataSource" nillable="true" type="xsd:string"/> <element name="initChar" nillable="true" type="xsd:string"/> <element name="opusDesc" nillable="true" type="xsd:string"/> <element name="opusId" nillable="true" type="xsd:string"/> <element name="opusLargeUrl" nillable="true" type="xsd:string"/> <element name="opusName" nillable="true" type="xsd:string"/> <element name="opusUrl" nillable="true" type="xsd:string"/> <element name="status" nillable="true" type="xsd:string"/> <element name="supportedTerminalGroupIds" nillable="true" type="impl:ArrayOf_soapenc_string"/> <element name="theme_id" nillable="true" type="xsd:string"/> <element name="times" nillable="true" type="xsd:string"/> </sequence> </complexType>
类型为:
<complexType name="ArrayOf_soapenc_string"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/> </restriction> </complexContent> </complexType>
使用以下命令把WSDL逆向工程生成java代码:
java -classpath %CLASSPATH% org.apache.axis.wsdl.WSDL2Java --server-side -o D:\ddd file:/d:\DataSyncService.WSDL
然后将生成的代码复制到项目里头,启动TOMCAT ,并利用逆向工程的deploy.wsdd使用以下命令进行布署生成server-config.wsdd
java -classpath %CLASSPATH% org.apache.axis.client.AdminClient -l http://localhost:8080/axis/services/DataSyncService D:/workspace-java/axis1/web/WEB-INF/deploy.wsdd
最后重启TOMCAT.
在这些步骤当中我当时觉得没什么错误的地方。后来在PHP要将字符串数组传递过时一直都是字符串时才发现以下问题:
<element name="supportedTerminalGroupIds" nillable="true" type="impl:ArrayOf_soapenc_string"/>
变为了:
<element name="supportedTerminalGroupIds" nillable="true" type="xsd:string"/>
解决办法:将逆向工程中所生成的bean的一些与Axis的类型元数据的代码给删除掉就OK了。
如:
/**
* Opus.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.hisun.data.sync.bean;
public class Opus implements java.io.Serializable {
private java.lang.String area;
private com.hisun.data.sync.bean.Author author;
private com.hisun.data.sync.bean.Content[] content;
private java.lang.String contentType;
private java.lang.String dataSource;
private java.lang.String initChar;
private java.lang.String opusDesc;
private java.lang.String opusId;
private java.lang.String opusLargeUrl;
private java.lang.String opusName;
private java.lang.String opusUrl;
private java.lang.String status;
private java.lang.String[] supportedTerminalGroupIds;
private java.lang.String theme_id;
private java.lang.String times;
public Opus() {
}
public Opus(java.lang.String area, com.hisun.data.sync.bean.Author author, com.hisun.data.sync.bean.Content[] content, java.lang.String contentType, java.lang.String dataSource, java.lang.String initChar, java.lang.String opusDesc,
java.lang.String opusId, java.lang.String opusLargeUrl, java.lang.String opusName, java.lang.String opusUrl, java.lang.String status, java.lang.String[] supportedTerminalGroupIds, java.lang.String theme_id, java.lang.String times) {
this.area = area;
this.author = author;
this.content = content;
this.contentType = contentType;
this.dataSource = dataSource;
this.initChar = initChar;
this.opusDesc = opusDesc;
this.opusId = opusId;
this.opusLargeUrl = opusLargeUrl;
this.opusName = opusName;
this.opusUrl = opusUrl;
this.status = status;
this.supportedTerminalGroupIds = supportedTerminalGroupIds;
this.theme_id = theme_id;
this.times = times;
}
public java.lang.String getArea() {
return area;
}
public void setArea(java.lang.String area) {
this.area = area;
}
public com.hisun.data.sync.bean.Author getAuthor() {
return author;
}
public void setAuthor(com.hisun.data.sync.bean.Author author) {
this.author = author;
}
public com.hisun.data.sync.bean.Content[] getContent() {
return content;
}
public void setContent(com.hisun.data.sync.bean.Content[] content) {
this.content = content;
}
public java.lang.String getContentType() {
return contentType;
}
public void setContentType(java.lang.String contentType) {
this.contentType = contentType;
}
public java.lang.String getDataSource() {
return dataSource;
}
public void setDataSource(java.lang.String dataSource) {
this.dataSource = dataSource;
}
public java.lang.String getInitChar() {
return initChar;
}
public void setInitChar(java.lang.String initChar) {
this.initChar = initChar;
}
public java.lang.String getOpusDesc() {
return opusDesc;
}
public void setOpusDesc(java.lang.String opusDesc) {
this.opusDesc = opusDesc;
}
public java.lang.String getOpusId() {
return opusId;
}
public void setOpusId(java.lang.String opusId) {
this.opusId = opusId;
}
public java.lang.String getOpusLargeUrl() {
return opusLargeUrl;
}
public void setOpusLargeUrl(java.lang.String opusLargeUrl) {
this.opusLargeUrl = opusLargeUrl;
}
public java.lang.String getOpusName() {
return opusName;
}
public void setOpusName(java.lang.String opusName) {
this.opusName = opusName;
}
public java.lang.String getOpusUrl() {
return opusUrl;
}
public void setOpusUrl(java.lang.String opusUrl) {
this.opusUrl = opusUrl;
}
public java.lang.String getStatus() {
return status;
}
public void setStatus(java.lang.String status) {
this.status = status;
}
public java.lang.String[] getSupportedTerminalGroupIds() {
return supportedTerminalGroupIds;
}
public void setSupportedTerminalGroupIds(java.lang.String[] supportedTerminalGroupIds) {
this.supportedTerminalGroupIds = supportedTerminalGroupIds;
}
public java.lang.String getTheme_id() {
return theme_id;
}
public void setTheme_id(java.lang.String theme_id) {
this.theme_id = theme_id;
}
public java.lang.String getTimes() {
return times;
}
public void setTimes(java.lang.String times) {
this.times = times;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof Opus))
return false;
Opus other = (Opus) obj;
if (obj == null)
return false;
if (this == obj)
return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true
&& ((this.area == null && other.getArea() == null) || (this.area != null && this.area.equals(other.getArea())))
&& ((this.author == null && other.getAuthor() == null) || (this.author != null && this.author.equals(other.getAuthor())))
&& ((this.content == null && other.getContent() == null) || (this.content != null && java.util.Arrays.equals(this.content, other.getContent())))
&& ((this.contentType == null && other.getContentType() == null) || (this.contentType != null && this.contentType.equals(other.getContentType())))
&& ((this.dataSource == null && other.getDataSource() == null) || (this.dataSource != null && this.dataSource.equals(other.getDataSource())))
&& ((this.initChar == null && other.getInitChar() == null) || (this.initChar != null && this.initChar.equals(other.getInitChar())))
&& ((this.opusDesc == null && other.getOpusDesc() == null) || (this.opusDesc != null && this.opusDesc.equals(other.getOpusDesc())))
&& ((this.opusId == null && other.getOpusId() == null) || (this.opusId != null && this.opusId.equals(other.getOpusId())))
&& ((this.opusLargeUrl == null && other.getOpusLargeUrl() == null) || (this.opusLargeUrl != null && this.opusLargeUrl.equals(other.getOpusLargeUrl())))
&& ((this.opusName == null && other.getOpusName() == null) || (this.opusName != null && this.opusName.equals(other.getOpusName())))
&& ((this.opusUrl == null && other.getOpusUrl() == null) || (this.opusUrl != null && this.opusUrl.equals(other.getOpusUrl())))
&& ((this.status == null && other.getStatus() == null) || (this.status != null && this.status.equals(other.getStatus())))
&& ((this.supportedTerminalGroupIds == null && other.getSupportedTerminalGroupIds() == null) || (this.supportedTerminalGroupIds != null && java.util.Arrays.equals(this.supportedTerminalGroupIds, other.getSupportedTerminalGroupIds())))
&& ((this.theme_id == null && other.getTheme_id() == null) || (this.theme_id != null && this.theme_id.equals(other.getTheme_id())))
&& ((this.times == null && other.getTimes() == null) || (this.times != null && this.times.equals(other.getTimes())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getArea() != null) {
_hashCode += getArea().hashCode();
}
if (getAuthor() != null) {
_hashCode += getAuthor().hashCode();
}
if (getContent() != null) {
for (int i = 0; i < java.lang.reflect.Array.getLength(getContent()); i++) {
java.lang.Object obj = java.lang.reflect.Array.get(getContent(), i);
if (obj != null && !obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
if (getContentType() != null) {
_hashCode += getContentType().hashCode();
}
if (getDataSource() != null) {
_hashCode += getDataSource().hashCode();
}
if (getInitChar() != null) {
_hashCode += getInitChar().hashCode();
}
if (getOpusDesc() != null) {
_hashCode += getOpusDesc().hashCode();
}
if (getOpusId() != null) {
_hashCode += getOpusId().hashCode();
}
if (getOpusLargeUrl() != null) {
_hashCode += getOpusLargeUrl().hashCode();
}
if (getOpusName() != null) {
_hashCode += getOpusName().hashCode();
}
if (getOpusUrl() != null) {
_hashCode += getOpusUrl().hashCode();
}
if (getStatus() != null) {
_hashCode += getStatus().hashCode();
}
if (getSupportedTerminalGroupIds() != null) {
for (int i = 0; i < java.lang.reflect.Array.getLength(getSupportedTerminalGroupIds()); i++) {
java.lang.Object obj = java.lang.reflect.Array.get(getSupportedTerminalGroupIds(), i);
if (obj != null && !obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
if (getTheme_id() != null) {
_hashCode += getTheme_id().hashCode();
}
if (getTimes() != null) {
_hashCode += getTimes().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.axis.description.TypeDesc(Opus.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://bean.sync.data.hisun.com", "Opus"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("area");
elemField.setXmlName(new javax.xml.namespace.QName("", "area"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("author");
elemField.setXmlName(new javax.xml.namespace.QName("", "author"));
elemField.setXmlType(new javax.xml.namespace.QName("http://bean.sync.data.hisun.com", "Author"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("content");
elemField.setXmlName(new javax.xml.namespace.QName("", "content"));
elemField.setXmlType(new javax.xml.namespace.QName("http://bean.sync.data.hisun.com", "Content"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("contentType");
elemField.setXmlName(new javax.xml.namespace.QName("", "contentType"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("dataSource");
elemField.setXmlName(new javax.xml.namespace.QName("", "dataSource"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("initChar");
elemField.setXmlName(new javax.xml.namespace.QName("", "initChar"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusDesc");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusDesc"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusId");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusId"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusLargeUrl");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusLargeUrl"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusName");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusUrl");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusUrl"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("status");
elemField.setXmlName(new javax.xml.namespace.QName("", "status"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("supportedTerminalGroupIds");
elemField.setXmlName(new javax.xml.namespace.QName("", "supportedTerminalGroupIds"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("theme_id");
elemField.setXmlName(new javax.xml.namespace.QName("", "theme_id"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("times");
elemField.setXmlName(new javax.xml.namespace.QName("", "times"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) {
return new org.apache.axis.encoding.ser.BeanSerializer(_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) {
return new org.apache.axis.encoding.ser.BeanDeserializer(_javaType, _xmlType, typeDesc);
}
}
删除掉 以下Axis的类型元数据代码:
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.axis.description.TypeDesc(Opus.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://bean.sync.data.hisun.com", "Opus"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("area");
elemField.setXmlName(new javax.xml.namespace.QName("", "area"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("author");
elemField.setXmlName(new javax.xml.namespace.QName("", "author"));
elemField.setXmlType(new javax.xml.namespace.QName("http://bean.sync.data.hisun.com", "Author"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("content");
elemField.setXmlName(new javax.xml.namespace.QName("", "content"));
elemField.setXmlType(new javax.xml.namespace.QName("http://bean.sync.data.hisun.com", "Content"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("contentType");
elemField.setXmlName(new javax.xml.namespace.QName("", "contentType"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("dataSource");
elemField.setXmlName(new javax.xml.namespace.QName("", "dataSource"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("initChar");
elemField.setXmlName(new javax.xml.namespace.QName("", "initChar"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusDesc");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusDesc"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusId");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusId"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusLargeUrl");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusLargeUrl"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusName");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("opusUrl");
elemField.setXmlName(new javax.xml.namespace.QName("", "opusUrl"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("status");
elemField.setXmlName(new javax.xml.namespace.QName("", "status"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("supportedTerminalGroupIds");
elemField.setXmlName(new javax.xml.namespace.QName("", "supportedTerminalGroupIds"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("theme_id");
elemField.setXmlName(new javax.xml.namespace.QName("", "theme_id"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("times");
elemField.setXmlName(new javax.xml.namespace.QName("", "times"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) {
return new org.apache.axis.encoding.ser.BeanSerializer(_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(java.lang.String mechType, java.lang.Class _javaType, javax.xml.namespace.QName _xmlType) {
return new org.apache.axis.encoding.ser.BeanDeserializer(_javaType, _xmlType, typeDesc);
}