Отправка строки XML внутри конверта SOAP - PullRequest
0 голосов
/ 23 июля 2011

Я пытаюсь вызвать сторонний веб-сервис, который ищет строку xml внутри конверта мыла. Тем не менее, когда я передаю строку XML, сервер отвечает 400 Bad Request. Если я пропущу xml, то веб-сервис правильно вернет ошибку, сообщающую, что он ожидает этот параметр. Я говорил с разработчиками для веб-службы, и они не уверены, почему это происходит.

Вот конверт SOAP, который я отправляю, проблемный узел - <web:xmlString>.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.example.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:AddWidget>
         <web:Key>6F257576-2F95-4764-8539</web:Key>
         <web:listID>62017</web:listID>
         <web:Type>S</web:Type>
         <web:format>HTML</web:format>
         <web:xmlString><xml><Emails><Emailaddress>foo@bar.com</Emailaddress><User1>263885</User1></Emails></xml></web:xmlString>
         <web:sfID>1536</web:sfID>
      </web:AddWidget>
   </soapenv:Body>

Я безуспешно пытался поместить строку xml в кавычки, кодировать ее и т. Д.

Ответы [ 2 ]

0 голосов
/ 29 августа 2012

Я знаю, что он старый, но следующий также может помочь вам или последним;) Лучше поздно, чем никогда.

Вы можете отправить его как сырой XML

<web:xmlString><xml><Emails><Emailaddress>foo@bar.com</Emailaddress><User1>263885</User1></Emails></xml></web:xmlString>

Если вы объявите xmlString как XElement тип данных

0 голосов
/ 22 января 2012

Я думаю, тебе нужно это сделать.

<web:xmlString><xml><Emails><Emailaddress>foo@bar.com</Emailaddress><User1>263885</User1></Emails></xml></web:xmlString>

Не уверен. Вы можете попробовать это или попробовать без использования пары тегов.

<web:xmlString><Emails><Emailaddress>foo@bar.com</Emailaddress><User1>263885</User1></Emails></web:xmlString>

Любой из вышеперечисленных должен работать. В противном случае вам нужно увидеть XSD, если есть, или WSDL более правильно. HTH

...