Получение ошибки в запросе XML данных, вложенный тег CDATA - SOAP Клиент в java - PullRequest
0 голосов
/ 07 апреля 2020

Я использую SOAP сервис, который работает в SOAP -UI, но тот же запрос не работает в java коде. Я наблюдаю, что запрос SOAP -UI & java, сгенерированный кодом, немного отличается.

Пожалуйста, проверьте исходный запрос, который работает в SOAP -UI, я вызываю тот же запрос в java но внутренне его получить изменение.

Исходный запрос работает в SOAP -UI

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" tem:xmlns="">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<tem:ExecuteXMLString>
<tem:request xmlns:tem="http://tempuri.org/">
<![CDATA[ 
<ServiceRequest xmlns="http://xxxxxx.xxx/xx/xxxxxx"> 

<Authentication><UserId></UserId> <Password></Password> </Authentication> 
<RequestInfo>RequestId</RequestInfo> 
<Fields> 
    <Field key="FieldName">
    <![CDATA[ <FieldName> Field Data </FieldName> </Applicants> ]]]]>
    <![CDATA[>
    </Field> 

    <Field key="FieldName1">
    <![CDATA[ <FieldName1> Field1 Data </FieldName1>]]]]>
    <![CDATA[>
    </Field> 
</Fields>
</ServiceRequest>]]>
</tem:request>
</tem:ExecuteXMLString>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Я печатаю запрос в java, непосредственно перед вызовом SOAP сервис, как показано ниже JAVA Сгенерированный запрос - Не работает

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" tem:xmlns="">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<tem:ExecuteXMLString>
<tem:request xmlns:tem="http://tempuri.org/">
<![CDATA[ 
<ServiceRequest xmlns="http://xxxxxx.xxx/xx/xxxxxx"> 

<Authentication><UserId></UserId> <Password></Password> </Authentication> 
<RequestInfo>RequestId</RequestInfo> 
<Fields> 
    <Field key="FieldName">
    <![CDATA[ <FieldName> Field Data </FieldName> </Applicants> ]]]]]]><![CDATA[>
    <![CDATA[>
    </Field> 

    <Field key="FieldName1">
    <![CDATA[ <FieldName1> Field1 Data </FieldName1> ]]]]]]><![CDATA[>
    <![CDATA[>
    </Field> 
</Fields>
</ServiceRequest>]]>
</tem:request>
</tem:ExecuteXMLString>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Наблюдение - во вложенные теги CDATA добавлен дополнительный один тег CDATA

]]]]> converted into ]]]]]]><![CDATA[>

Я знаю, что в XML мы не можем использовать вложенные теги CDATA, но сервис генерируется другой корпорацией, мы должны его использовать. Заранее спасибо.

...