私はWSDL 1.1仕様を読んでいましたが、奇妙に思えることが 1 つあります。(WS-I Basic Profile のほかに) これを実行できない理由は次のとおりです。
<message name="helloRequest">
<part name="arg1" type="xs:string" />
</message>
<message name="helloResponse">
<part name="result" type="xs:string" />
</message>
<portType name="Port02">
<operation name="hello">
<input message="tns:helloRequest" name="helloRequest" />
<output message="tns:helloResponse" name="helloResponse" />
</operation>
</portType>
<binding name="Port02SoapBinding" type="tns:Port02">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="hello">
<input name="helloRequest">
<soap:body use="literal" />
</input>
<output name="helloResponse">
<soap:body use="literal" />
</output>
</operation>
</binding>
ドキュメント/リテラル Web サービスですが、in/out メッセージには、グローバル要素ではなく、XSD (単純) 型を参照する部分が含まれています。
WSDL フラグメントはそれほど恐ろしいものではありません。Axis1 と CXF の両方が、パーツ名から派生した名前を持つ SOAP 本体要素を生成しますが、WSDL 1.1、3.5: soap:bodyは次のように述べています。
use がリテラルの場合、各パーツは element または type 属性を使用して具体的なスキーマ定義を参照します。最初のケースでは、[...]。2 番目の部分では、パーツによって参照される型が、囲んでいる要素のスキーマ型になります (ドキュメント スタイルの場合は Body、rpc スタイルの場合はパーツ アクセサー要素)。
結果の SOAP メッセージ (WSDL 仕様による) は次のようになります (SOAP 本文内のテキスト コンテンツ) ということですか?
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xs="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body xsi:type="xs:string">value</SOAP-ENV:Body>
</SOAP-ENV:Envelope>