Добавление xml содержимого - PullRequest
0 голосов
/ 10 июля 2020

Я должен добавить некоторые параметры в запрос SOAP, однако я совершенно не знаком с SOAP ...

Мой текущий рабочий запрос:

<GetTrades xmlns='http://tempuri.org/'><conditionXML><![CDATA[<TSConditionList xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><AndOr>And</AndOr><TSCondition><Field>CONTRACT</Field><OpString>IN</OpString><Value xsi:type='xsd:string'>EOpt</Value></TSCondition><TSCondition><Field>CONTROL_NUMBER</Field><OpString>!=</OpString><Value xsi:type='xsd:string'></Value></TSCondition><TSCondition><Field>CUSTOMER</Field><OpString>NOT IN</OpString><Value xsi:type='xsd:string'>WSSROLL,WSSPLUG</Value></TSCondition><TSCondition><Field>TRADE_DATE</Field><OpString>=</OpString><Value xsi:type='xsd:string'>{TRADE_DATE}</Value></TSCondition><TSCondition><Field>SubCondition</Field><OpString/><Value xsi:type='TSConditionList'><AndOr>And</AndOr><TSCondition><Field>EX_SUB_TAG</Field><OpString>=</OpString><Value xsi:type='xsd:string'>EX_DATE_RANGE</Value></TSCondition><TSCondition><Field>EX_START</Field><OpString>&gt;=</OpString><Value xsi:type='xsd:string'>{TRADE_DATE}</Value></TSCondition><TSCondition><Field>EX_END</Field><OpString>&lt;=</OpString><Value xsi:type='xsd:string'>{LOAD_DATE}</Value></TSCondition><TSCondition><Field>EX_TRADE_LIFE</Field><OpString>=</OpString><Value xsi:type='xsd:string'>LATEST_VERSION</Value></TSCondition></Value></TSCondition></TSConditionList>]]></conditionXML><contextMapXML>&lt;ContextMap xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'&gt;&lt;ContextDictionary&gt&lt;/ContextDictionary&gt;&lt;/ContextMap&gt;</contextMapXML></GetTrades>

Вот что я должен добавить в ContextDictionary:

<Item><Key><string>INCL_STRUCTURE_DETAILS</string></Key><Value><string>TRUE</string></Value></Item><Item><Key><string>INCLUDE_PARCEL_DETAILS</string></Key><Value><string>TRUE</string></Value></Item>

Это мой конечный результат, но это не удается:

<GetTrades xmlns='http://tempuri.org/'><conditionXML><![CDATA[<TSConditionList xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><AndOr>And</AndOr><TSCondition><Field>CONTRACT</Field><OpString>IN</OpString><Value xsi:type='xsd:string'>EOpt</Value></TSCondition><TSCondition><Field>CONTROL_NUMBER</Field><OpString>!=</OpString><Value xsi:type='xsd:string'></Value></TSCondition><TSCondition><Field>CUSTOMER</Field><OpString>NOT IN</OpString><Value xsi:type='xsd:string'>WSSROLL,WSSPLUG</Value></TSCondition><TSCondition><Field>TRADE_DATE</Field><OpString>=</OpString><Value xsi:type='xsd:string'>{TRADE_DATE}</Value></TSCondition><TSCondition><Field>SubCondition</Field><OpString/><Value xsi:type='TSConditionList'><AndOr>And</AndOr><TSCondition><Field>EX_SUB_TAG</Field><OpString>=</OpString><Value xsi:type='xsd:string'>EX_DATE_RANGE</Value></TSCondition><TSCondition><Field>EX_START</Field><OpString>&gt;=</OpString><Value xsi:type='xsd:string'>{TRADE_DATE}</Value></TSCondition><TSCondition><Field>EX_END</Field><OpString>&lt;=</OpString><Value xsi:type='xsd:string'>{LOAD_DATE}</Value></TSCondition><TSCondition><Field>EX_TRADE_LIFE</Field><OpString>=</OpString><Value xsi:type='xsd:string'>LATEST_VERSION</Value></TSCondition></Value></TSCondition></TSConditionList>]]></conditionXML><contextMapXML>&lt;ContextMap xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'&gt;&lt;ContextDictionary&gt;<Item><Key><string>INCL_STRUCTURE_DETAILS</string></Key><Value><string>TRUE</string></Value></Item><Item><Key><string>INCLUDE_PARCEL_DETAILS</string></Key><Value><string>TRUE</string></Value></Item>&lt;/ContextDictionary&gt;&lt;/ContextMap&gt;</contextMapXML></GetTrades>

Ошибка, которую я получаю при выполнении этот запрос:

Caused by: org.springframework.ws.soap.client.SoapFaultClientException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.InvalidOperationException: There is an error in XML document (1, 3). ---> System.Xml.XmlException: Unexpected end tag. Line 1, position 3.

Не могли бы вы объяснить мне, что я делаю не так?

...