如何为提供的 WSDL 编辑 Java class

How to edit Java class for WSDL provided

我正在开发一个 java 程序来循环调用 Oracle Web 服务来创建一些数据。但是我被告知使用不同的 XML 标签,这些标签与 WSDL 上提供的标签不同。 到目前为止,我没有发现任何问题,因为我学会了 "import" WSDL url 并从中创建 java classes。 但是现在,我遇到了一个我不知道如何解决的问题

到目前为止,我没有发现任何问题,因为我学会了 "import" WSDL url 并从中创建 java classes。 但是现在,我面临一个问题,我不知道如何在 Java classes 上创建这个新标签,甚至不知道如何创建这个新标签。

     <com:StandardReceiptFLEXVA>
           <!--Optional:-->
           <stan:CashReceiptId>?</stan:CashReceiptId>
           <!--Optional:-->
           <stan:__FLEX_Context>?</stan:__FLEX_Context>
           <!--Optional:-->
           <stan:__FLEX_Context_DisplayValue>? 
           </stan:__FLEX_Context_DisplayValue>
           <!--Optional:-->
           <stan:_FLEX_NumOfSegments>?</stan:_FLEX_NumOfSegments>
        </com:StandardReceiptFLEXVA>

这是我给 WSDL url 时 SOAPUI 生成的标准代码。但是 Oracle 支持团队(我之前联系过)告诉我需要使用这个:

<com:StandardReceiptFLEXVA xsi:type="stan:Fianzas" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

           <stan:__FLEX_Context>FEE</stan:__FLEX_Context>
       <stan:modalidad>Provisional</stan:modalidad>
       <stan:tipoFianza>CASH</stan:tipoFianza>
       <stan:actividadConApbc>Test</stan:actividadConApbc>
           <stan:numReferenciaMigracion>99</stan:numReferenciaMigracion>


        </com:StandardReceiptFLEXVA>  

这适用于 SOAPUI,但是当我转到我的 Java class 时,不是 set/get 而是 "standard"。所以我想我应该编辑 java class 并添加这些。但是我不知道如何在 Java 上指定 xsi:type="stan:Fianzas" 属性。我希望我能正确地解释自己,因为我不会说英语。 提前谢谢你。

由于您的新 WSDL 文件在 SoapUI 中运行良好,那么现在您需要从新更新的 WSDL 文件中(重新生成)java 客户端代码.

您可以按照以下链接中给出的说明在 SoapUI 中实现这一点。它基本上向您展示了如何使用不同的代码生成工具,如 Axis 1.X、Axis 2、CXF 2.X 和 .NET 2.0 来生成客户端代码。

SOAP Code Generation

Generating Client JAVA code for WSDL using SOAP UI