サードパーティ サービスのオリジナルの wsdl があります。簡略化。
<s:element name="ProcessRequest">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="strXMLInput" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
サービスに送信する必要がある xml を表す COBOL コピーブックを生成する CICS Web Service Assistant 用に変更しました。
簡略化。
<s:element name="ProcessRequest">
<s:complexType>
<s:sequence>
<s:element name="strXMLInput" >
<s:complexType>
<s:sequence>
<s:element name="ACORD">
<s:complexType>
<s:sequence>
<s:element name="SignonRq">
<s:complexType>
<s:sequence>
<s:element name="CustLoginId">
<s:simpleType>
<s:restrictionbase="s:string" >
<s:length value="10"/>
</s:restriction>
</s:simpleType>
</s:element>
wsdl を変更したので、cobol で長い文字列を作成する代わりに、正しい ACORD xml をサービスに送信するためのすべての要素がコピーブックに含まれるようになりました。WireShark を使用して、サービスへの要求をキャプチャし、完全にドキュメント xml がエンコードされていないため、正しい要求は
<ProcessRequest><strXMLInput>>:Acord....etc,
しかし、私が送信している私のモッズで
<ProcessRequest><strXMLInput><Acord....etc.//actual doc xml
とにかく、拡張された wsdl でこれを機能させ、メインフレームに strXMLInput がまだ文字列であるが子または他のアイデアがあることを知らせることができますか? ありがとう...