Я использую 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, но сервис генерируется другой корпорацией, мы должны его использовать. Заранее спасибо.