1
我有一個來自thirdparty服務的原始wsdl。 簡體中文。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>
我已經修改了CICS Web服務助手,生成一個COBOL字帖來表示應發送給服務的XML。
簡化。
<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>
我haved改變了WSDL,所以我的字帖將所有發送正確的ACORD XML,而不是服務大樓在COBOL一個漫長的字符串的元素。 透過WireShark我捕捉到服務請求,並完全XML文檔不編碼,正確的請求,所以要
<ProcessRequest><strXMLInput>>:Acord....etc,
但我國防部我送
<ProcessRequest><strXMLInput><Acord....etc.//actual doc xml
反正我有可以使這個工作與擴大的WSDL和讓大型機知道,strXMLInput仍然是一個字符串,但有孩子,或任何其他想法?謝謝...
我們目前在4.2,我嘗試將知道的屬性添加到dfhws2ls中,但它被忽略,可能是由於映射級別。任何想法如何我可以插入CDATA在copybook/wsdl。感謝您的迴應。 –
我很感謝你的回答,我最終修改了我的wsdl/copybook generate,在一個元素中使用字符串輸入,然後使用我的自定義copybook和所有acord元素,然後使用copybook上的cobol xml generate並將其移動到字符串中輸入元素。這給了我更多的控制權,並且我可以使用CICS的預先存在的管道和配置。謝謝 –