Мне нужно использовать веб-службу SOAP. Я использую axis2. Я создал заглушку. Проблема в том, что есть элемент, которому мне нужно отправить значение в теге CDATA. то есть как строка, содержащая сам CDATA.
Как этого добиться. Код указан ниже.
Запрос на обслуживание
<?xml version = "1.0" encoding = "UTF-8"?>
<soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem = "http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:processCustomsRequest>
<tem:Bank_Code>7083</tem:Bank_Code>
<tem:Branch_Code>747</tem:Branch_Code>
<tem:Institution_ID>001</tem:Institution_ID>
<tem:Transaction_Type>01</tem:Transaction_Type>
<tem:Transaction_ID>7083001120918468</tem:Transaction_ID>
<tem:Date_Time>20180911080153</tem:Date_Time>
<tem:Dynamic_Field_Data>
<![CDATA[ <dynamic_fields_data>
<parameter key = "OfficeCode" value = "CBBD1" />
<parameter key = "AmountToBePaid" value = "3222602" />
<parameter key = "RegistrationYear" value = "2018" />
<parameter key = "RegistrationSerial" value = "I" />
<parameter key = "RegistrationNumber" value = "178326" />
<parameter key = "MeanOfPayment" value = "10" />
<parameter key = "Branch" value = "" />
<parameter key = "CheckReference" value = "258" />
<parameter key = "CompanyCode" value = "1749176127000" />
<parameter key = "Declarantcode" value = "2040081407000" />
</dynamic_fields_data>]]>
</tem:Dynamic_Field_Data>
</tem:processCustomsRequest>
</soapenv:Body>
</soapenv:Envelope>
Код из реализации java.
processCustomsRequest.setTransaction_ID(tranId);
processCustomsRequest.setTransaction_Type(tranType);
processCustomsRequest.setDynamic_Field_Data(dynFieldData);
ProcessCustomsRequestResponse processCustomsRequestResponse = s.processCustomsRequest(processCustomsRequest);
dynFieldData
должен быть строковым значением
"<![CDATA[ <dynamic_fields_data>
<parameter key = "OfficeCode" value = "CBBD1" />
<parameter key = "AmountToBePaid" value = "3222602" />
<parameter key = "RegistrationYear" value = "2018" />
<parameter key = "RegistrationSerial" value = "I" />
<parameter key = "RegistrationNumber" value = "178326" />
<parameter key = "MeanOfPayment" value = "10" />
<parameter key = "Branch" value = "" />
<parameter key = "CheckReference" value = "258" />
<parameter key = "CompanyCode" value = "1749176127000" />
<parameter key = "Declarantcode" value = "2040081407000" />
</dynamic_fields_data>]]>"
Я создал с помощью ADB. Как этого добиться?
@Red Boy Спасибо за ответ, но значение отправляется без CDATA, то есть в виде строки "<dynamic_fields_data> ... <parameter key = " Declarantcode "value = " 2040081407000 "/> </dynamic_fields_data>"
Да, используйте ту же строку
<![CDATA[<dynamic_fields_data>....... </dynamic_fields_data>]]>
, которую вы упомянули, она должна работать.