私は従来のWebサービスで作業しており、WSDLを提供してくれました。Webサービスがすべての要求と応答の種類を文字列として指定するのはなぜですか?
ここで私の問題は、すべての関数は同じ引数と戻り値の型を指定しています。そして、このタイプは文字列として指定されます!
例:
<definitions targetNamespace="java:the.custom.namespace" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="java:the.custom.namespace" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<types>
<schema targetNamespace="java:the.custom.namespace" xmlns="http://www.w3.org/1999/XMLSchema" />
</types>
<message name="LegacySystemRequest">
<part name="arg0" type="xsd:string" />
</message>
<message name="LegacySystemResponse">
<part name="return" type="xsd:string" />
</message>
<portType name="LegacySystemPortType">
<operation name="HelloWorld">
<input message="tns:LegacySystemRequest" />
<output message="tns:LegacySystemResponse" />
</operation>
</types>
私はJavaでWebサービスを作成するに精通していないですが、彼らは彼らのDTOの構造を露出していないので、彼らは間違ってやっている可能性が明らかなものはありますか?私はそれらが複雑であることを例から知っているので、私はそれらをすべて自分のコードにハードコードするよう書いたくありません。私は彼らに与えることができる技術的なヒントはありますか?
私が受け取ったドキュメントごとに、文字列の引数は実際には非常に構造化されたXML形式ですが、この形式は関数ごとに異なるという問題があります。 – mbp
ええ、それはラッパーのWebサービスであり、それはあまり考えられていません。返されたXMLを別々に解析するだけで済みます。 – skaffman