我正在尝试在java中构建一个soap web服务。我在soap中输入参数的方法之一应该是
<s:element name="GetDocumentInfo">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="pPassword" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="xmlDoc">
<s:complexType mixed="true">
<s:sequence>
<s:any/>
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
在我的java类中,我将它映射到java变量
@XmlElement(name = "password")
private java.lang.String password;
@XmlElement(name = "doc")
private java.util.List<java.lang.Object> doc;
生成wsdl输出
<xs:complexType name="GetDocumentInfo">
<xs:sequence>
<xs:element minOccurs="0" name="password" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="doc" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
如果我使用Object,我会收到JAXB编组错误。什么应该是doc变量类型?
soap客户端是一个通用程序(.net),当他们导入wsdl时会出现以下错误:
类型的对象&#39; System.Xml.XmlDocument&#39;无法转换为类型&#39; System.Object []&#39;
我对jaxb并不熟悉。
我应该创建一个包含Xml和XmlDocument变量的类吗?什么应该是XmlDocument变量类型?
答案 0 :(得分:0)
以下是需要包含的课程的详细信息。
public class doc<T> {
@XmlMixed
@XmlAnyElement(lax = true)
protected List<T> content;
public List<T> getContent() {
if (content == null) {
content = new ArrayList<T>();
}
return this.content;
}
public void setContent() {
content = this.content;
}
}