我想使用wsimport maven插件从wsdl生成客户端存根,这很有效但有一个问题:我有两个对象应该链接到更远但是afetr这一代是donne,它不是完美的
<types>
<xsd:schema elementFormDefault="qualified" targetNamespace="http://www.hello.com/ns/xsd/boba/restitution-restituerCarriereAvecValo.xsd">
<xsd:import namespace="http://www.hello.com/holla/infosRetour.xsd" schemaLocation="xsd/infosRetour.xsd"/>
<xsd:import namespace="http://www.hello.com/ns/wsdl/boba/messageRetourModuleValorisation.xsd" schemaLocation="xsd/messageRetourModuleValorisation.xsd"/>
<xsd:element name="messageIn" type="xsd:anyType"/>
<xsd:element name="messageOut">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="ir:infosRetour">
<xsd:choice>
<xsd:element name="messageRetour" type="xsd:anyType"/>
<xsd:element name="rejetControleSyntaxiqueSemantique" type="xsd:anyType"/>
<xsd:element name="rejetControleIdentification" type="xsd:anyType"/>
</xsd:choice>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</types>
在这里我的对象qazxsw poi应该有messageOut
类的字段qazxsw poi,但是当我看到我的类messageRetour
时,这个字段被设置为Object而不是montioned类。
messageRetour
正如你在这里看到的是生成的子类,你可以看到有一个名为messageOut
的类
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"messageRetour",
"rejetControleSyntaxiqueSemantique",
"rejetControleIdentification"
})
@XmlRootElement(name = "messageOut")
public class MessageOut
extends InfosRetour
{
protected Object messageRetour;
protected Object rejetControleSyntaxiqueSemantique;
protected Object rejetControleIdentification;
我如何更改此类型作为一个类而不是作为对象?
甚至当我改变这条线qazxsw poi到qazxsw poi我得到同样的问题总是对象而不是一个类
您应该将<xsd:element name="messageRetour" type="xsd:anyType"/>
的类型更改为<xsd:element name="messageRetour"/>
类型。
此类型可能由您导入的其中一个模式提供。我不确定具体名称,可能是Object
或xsd:anyType
或<xsd:element name="messageRetour" type="xsd:anyType"/>
,类似的东西。所以它可能是这样的:
messageRetour
如果类型由其他导入的模式提供,则可能需要首先声明名称空间前缀(如MessageRetour
),然后使用messageRetour
作为类型。