SoapClient-> MyAction ($ params), форматирование массива $ params - PullRequest
0 голосов
/ 12 марта 2012

Я использую PHP SoapClient () для использования веб-службы.

$sc = new SoapClient($uri);
$sc->MyAction($params);

$ params будет массивом для создания XML ниже, но я не уверен, как отформатировать массив там, где естьнесколько ключей OrderLine.

<args>
  <OrderLines>
    <OrderLine>
      <LineNumber>1</LineNumber>
      <Product>Acme Foos</Product>
      <Description>Bars and Bazzes</Description>
      <Quantity>1</Quantity>
      <Price>5.00</Price>
    </OrderLine>
    <OrderLine>
      <LineNumber>2</LineNumber>
      <Product>Kittens</Product>
      <Description>Very sleepy</Description>
      <Quantity>1</Quantity>
      <Price>12.00</Price>
    </OrderLine>
  </OrderLines>
</args>

Это дамп формата массива, который я отправляю, безуспешно, потому что я не уверен, как создать массив с несколькими ключами OrderLine .

[args] => Array
(
    [OrderLines] => Array
      (
        [0] => Array
          (
            [LineNumber] => 1
            [Product] => 'Acme Foos'
            [Description] => 'Bars and Bazzes'
            [Quantity] => 1
            [Price] => 5.00
          )
        [1] => Array
          (
            [LineNumber] => 2
            [Product] => 'Kittens'
            [Description] => 'Very sleepy'
            [Quantity] => 1
            [Price] => 12.00
          )
      )
)

При отправке этого в веб-сервис я получаю следующее исключение SoapFault:

Серверу не удалось прочитать запрос.---> В XML-документе есть ошибка (2, 1001).---> Входная строка была в неправильном формате.

1 Ответ

0 голосов
/ 13 марта 2012

Этот пример верный.Ошибка не была связана с массивом.Это были другие неверные данные в моих параметрах.

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