gpt4 book ai didi

java - Wsdl 可选参数在生成的 java stub 代码中成为强制参数

转载 作者:太空宇宙 更新时间:2023-11-04 14:24:00 24 4
gpt4 key购买 nike

我是网络服务的新手。我已经从提供的 wsdl 生成了 stub 。我观察到的是 stub 生成的代码要求我提供强制性的可选参数。例如,这是 wsdl 文件中的方法之一。

        <complexType name="OPP_BOOK_FACT">
<sequence>
<element form="unqualified" name="Descriptions" type="tns:Descriptions" minOccurs="0"/>
<element form="unqualified" name="CustomerID" type="tns:CustomerConfirmationID" minOccurs="0"/>
<element form="unqualified" name="UID" type="tns:UPRID" minOccurs="0"/>
<element form="unqualified" name="Ext" type="tns:ExtAuth" minOccurs="0"/>
<element form="unqualified" name="Partner" type="tns:Partner"/>
<element form="unqualified" name="Subscriber" type="tns:Subscriber"/>
<element form="unqualified" name="FactBook" type="tns:FactBook"/>
<element form="unqualified" name="FactAuth" type="tns:FactAuth"/>
<element form="unqualified" name="Price" type="tns:Price"/>
<element form="unqualified" name="SubseReqData" type="tns:SubseReqData" minOccurs="0"/>
<element form="unqualified" name="FactBundleTemplate" type="tns:FactBundleTemplate" minOccurs="0"/>
<element form="unqualified" name="ContentInfo" type="tns:ContentInfo" minOccurs="0"/>
<element form="unqualified" name="Discount" type="tns:Discount" minOccurs="0"/>
<element form="unqualified" name="FactShoppingBasket" type="tns:FactShoppingBasket" minOccurs="0"/>
</sequence>
</complexType>

如果您注意到例如“CustomerID”、“UID”和“Ext”是可选参数,则 minOccurs=“0”。但生成的stub api如下。

com.xstg.www.soap.schemas.services.v80.Xaction80Stateful_wsdl.Xaction80StatefulPortType.OPP_BOOK_F ACT(描述[] arg0、长整型 arg1、字符串 arg2、ExtAuthElement[] arg3、合作伙伴 arg4、订阅者 arg5、 FactBook arg6、FactAuth arg7、价格 arg8、SubseReqData arg9、FactBundleTemplate arg10、ContentInfo arg11、折扣 arg12、FactShoppingBasket arg13) 抛出 RemoteException

很明显,要从客户端调用此方法,我还必须明确提供所有可选参数变量。我用过<axis-wsdl2java> ant 调用来生成 stub 。

我可以知道这是什么原因吗?据我所知,客户端 stub 不应期望我也提供所有可选参数。如果您需要任何其他信息,请告诉我。

更新:我们正在使用 axis-1.4。上述 stub 是使用 axis-1.4 生成的。我对 axis2 进行了同样的尝试。生成的 stub 在 axis2 中有所不同。但我需要使用 axis-1.4,因为旧的客户端代码已经使用此版本开发

最佳答案

您介意尝试添加 nillable="true"吗?

喜欢:

<element form="unqualified" name="Ext" type="tns:ExtAuth" nillable="true" minOccurs="0"/>

关于java - Wsdl 可选参数在生成的 java stub 代码中成为强制参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26866203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com