php を使用して SOAP サーバーを作成しましたが、渡された引数に応じて xml 要素に関してさまざまな結果をもたらす関数はほとんどありません。
さらに説明すると、関数は引数 a を受け取り、受信したデータに応じて、異なる数の子要素を持つ 2 つの異なる配列 (complextype) のいずれかを返すことができます。
例えば
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 クライアントで問題なく動作しますが、フォーム アプリケーションでビジュアル スタジオのサービス参照の追加機能を使用しようとすると、xs:choiceの使用がいくつかの不可解な理由で許可されていないことを理由に、アプリケーションはそのコードを作成できませんでした。
ここで本当に知りたいのは、これを機能させるために wsdl または SOAP サーバーにどのような変更を加える必要があるかということです。結果を 1 つの可能なシナリオのみに固定し、完全に異なる関数を使用して別のシナリオの結果を決定することで回避策を考えましたが、率直に言って、これは冗長で奇妙に思えます。
見逃したものはありますか?アイデアがあれば教えてください。ありがとう!