我有一個來自Axis2 Web服務的WSDL文件。在給定WSDL文件的情況下使用wsimport
生成客戶端存根時,生成的類需要JAXBElement
參數。這是爲什麼?從生成的類之一爲什麼通過wsimport生成的類需要JAXBElement <ClassName>參數?
抽樣方法:
JAXBElement<DataBean> value;
public void setValue(JAXBElement<DataBean> value)
{
this.value = ((JAXBElement<DataBean>) value);
}
我希望它看起來像這樣(沒有的JAXBElement):
DataBean value;
public void setValue(DataBean value)
{
this.value= (DataBean) value;
}
的教程我在網上看到了不將類設置爲JAXBElement。可能是什麼問題呢?請注意,服務器是Axis2 Web服務,WSDL文件由Axis2自動生成。假設是我無法控制服務器。
我該如何使wsimport
不會將參數轉換爲JAXBElements?
下面是從WSDL文件的摘錄:(我忽略了一些標記,以只包括基本標籤)
<xs:element name="getData">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="getData" nillable="true" type="ax220:getData"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="getData">
<xs:sequence>
<xs:element minOccurs="0" name="value" nillable="true" type="ax219:DataBean"/>
</xs:sequence>
</xs:complexType>
<wsdl:message name="getDataRequest">
<wsdl:part name="parameters" element="ns:getData"/>
</wsdl:message>
<wsdl:message name="getDataResponse">
<wsdl:part name="parameters" element="ns:getDataResponse"/>
</wsdl:message>
<wsdl:operation name="getData">
<wsdl:input message="ns:getDataRequest" wsaw:Action="urn:getData"/>
<wsdl:output message="ns:getDataResponse" wsaw:Action="urn:getDataResponse"/>
</wsdl:operation>
<wsdl:operation name="getData">
<soap:operation soapAction="urn:getData" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getData">
<soap12:operation soapAction="urn:getData" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getData">
<http:operation location="getData"/>
<wsdl:input>
<mime:content type="text/xml" part="parameters"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="parameters"/>
</wsdl:output>
</wsdl:operation>
您可以發佈WSDL的哪些部分是DataBean在消息和操作中定義和使用的嗎? – joergl
@joergl:我修改了我的帖子以包含所需的詳細信息。 – Arci