我们使用 php 创建了一个肥皂服务器,并且很少有函数根据传递的参数在 xml 元素方面给出不同的结果。
为了进一步解释,一个函数接受参数 a 并且根据接收到的数据,它可以返回具有不同数量的子元素的两个不同数组(复杂类型)中的任何一个。
例如
if a =9 then outcome is array/struct ,,,,
a[delta]=20 ,,,
a[sigma]=yellow
if a =3 ,
a[aTotallyDifferentBallgame]=Omaha ,,,
a[t]=1 ,,,
a[theNumberOfElementsCanVary]=yup
为了解释这种可能的差异,我们在模式中使用了选择,从而试图暗示结果可以是选择中的任何单个元素,无论是简单类型还是复杂类型。
现在理论上这听起来很合乎逻辑,并且可以与 php 的 soap 客户端正常工作,但是当我们尝试在表单应用程序中使用 Visual Studio 的添加服务引用功能时;该应用程序未能为其创建代码,理由是由于某些深不可测的原因,不允许使用xs:choice 。
现在我真正想知道的是我需要对我的 wsdl 或 soap 服务器进行哪些更改才能使其正常工作。我们认为解决方法是仅将结果固定到一种可能的情况,并利用完全不同的函数来确定另一种情况的结果,从而避免使用选择,但坦率地说,这似乎太多余和奇怪了。
有什么我错过的吗?请让我知道你有什么想法。谢谢!