SOAP-запрос не работает - PullRequest
1 голос
/ 01 июля 2011

Я использую веб-службу SAP PI и по какой-то причине она не работает.Я думаю из-за неправильного SOAP XML ниже:

Это то, что ожидает SAP PI:

<?xml version="1.0" encoding="UTF-8"?>
<ns0:A_Request xmlns:ns0="http://domain.co.au/abc">
   <Root>
      <Element1>a</Element1>
      <Element1>a</Element1>
   </Recordset>
</ns0:A_Request>

Это то, что я отправляю:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
<A_Request xmlns="http://domain.co.au/abc" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Root>
      <Element1>a</Element1>
      <Element1>a</Element1>
   </Recordset>
 </A_Request>

Есть ли какой-либо способ (программно или по конфигурации), который можно сделать на стороне клиента, чтобы отформатировать XML-запрос в соответствии с требованиями сервера?

Или, это должно быть исправлено в WSDL и клиентская программа (моя программа) автоматически сгенерирует необходимый xml?

Спасибо, куча.

1 Ответ

0 голосов
/ 01 июля 2011

Не следует вручную генерировать или форматировать XML, отправляемый на сервер со стороны клиента.Если сервер предоставляет действительную службу на основе SOAP, просто укажите клиенту WSDL, и он сгенерирует строго типизированные классы, которые можно использовать для использования службы.Если вы используете .NET 3.0 или выше на клиенте, рекомендуется использовать svcutil.exe (или Добавить ссылку на службу в VS) для генерации этих классов.Если вы используете более старую версию, вы можете использовать wsdl.exe (или добавить веб-ссылку в VS).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...