[英]how to set my java variable to have xsi:type
我有一個Web應用程序,需要調用Web服務來處理某些事情。 像往常一樣,我從客戶端請求客戶端代碼,以便可以基於客戶端代碼進行編碼。
但是,給定的客戶端代碼為jar文件格式。 因此,我真的改變了它。 我可以打電話。
現在我有一些問題。 給出的客戶端代碼不是最新的,這意味着我使用的客戶端代碼實際上與實際的Web服務不匹配。
這是wsdl的一部分,我使用它通過SOAP UI觸發Web服務:
<attributeSet>
<!--Zero or more repetitions:-->
<attributes>
<value>mmm</value>
<attributeID>DP</attributeID>
</attributes>
</attributeSet>
當我使用SOAP UI在給定的wsdl上啟動到Web服務時,它將引發以下錯誤:
AttributeSet::validateFieldType (Field 'Password Format' (Field ID 30), data type 'STRING' (Type ID 1), Field value '0', Attribute set Credentials)
因此,我聯系Web服務人員,並告訴他們我想要最新的客戶端代碼。 但是,由於他們所在站點的技術問題,他們無法向我們提供最新的客戶代碼。 他們只是要求我自己更改wsdl,如下所示:
<attributeSet>
<!--Zero or more repetitions:-->
<attributes>
<value xsi:type="xsd:string">m</value>
<attributeID>DP</attributeID>
</attributes>
</attributeSet>
它在SOAP UI調用上的工作。
但是,現在我想用Java對其進行編碼,我只是使用給定的客戶端代碼來設置值:
ca1.setAttributeID("DP");
ca1.setValue("m");
當從應用程序調用Web服務時,我可以用Java代碼編寫什么以使其具有xsi:type="xsd:string"
?
如果您擁有WSDL,則可以生成Java代碼。 這種生成代碼的方法稱為自上而下的Web服務開發。
如果您使用的是Maven,請查看wsdl中有關Java代碼的此問題
如果您使用的是Eclipse,則還可以通過選擇新的Web服務客戶端作為項目類型來從WSDL創建新的Web服務客戶端,請參見以下屏幕快照:
然后將WSDL添加到下一個對話框中,並按照步驟進行操作,請參見下面的屏幕快照:
Netbeans和其他IDE還將允許您從WSDL生成Java類。 Maven很不錯,因為它可以在所有IDE中使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.