Делаете SOAP-запрос в Drupal? - PullRequest
3 голосов
/ 13 февраля 2012

Я пытаюсь реализовать вызов SOAP в Drupal 6 в следующем формате:

POST /0_5/ClassService.asmx HTTP/1.1
Host: api.mindbodyonline.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://clients.mindbodyonline.com/api/0_5/AddClientsToClasses"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <AddClientsToClasses xmlns="http://clients.mindbodyonline.com/api/0_5">
      <Request>
        <ClientIDs>
          <string>string</string>
          <string>string</string>
        </ClientIDs>
        <ClassIDs>
          <int>int</int>
          <int>int</int>
        </ClassIDs>
        <Test>boolean</Test>
        <RequirePayment>boolean</RequirePayment>
      </Request>
    </AddClientsToClasses>
  </soap:Body>
</soap:Envelope>

Я новичок в SOAP, и вся веб-документация не работает для Drupal. Кроме того, я должен сделать этот вызов в SOAP (не HTTP GET или POST).

Как мне сделать вызов SOAP в Drupal? Можете ли вы предоставить пример рабочего кода, используя приведенный выше пример запроса?

Ответы [ 2 ]

5 голосов
/ 13 февраля 2012

Drupal не имеет какой-либо определенной функциональности мыла - вы можете использовать встроенный PHP-клиент.Там должен быть файл WSDL, который вы можете использовать для генерации вашего мыльного клиента.Примерно так:

<?php
$client = new SoapClient("http://localhost/code/soap.wsdl");
$something =  $client->HelloWorld(array());
echo $something->HelloWorldResult;
die();

См. Стандартную документацию PHP http://php.net/manual/en/book.soap.php

1 голос
/ 16 февраля 2012

Чувак просто воспользуйся модулем сервиса 3, он содержит все что тебе нужно. Вы также будете делать вызовы (REST, XMLRPC, JSON, JSON-RPC, SOAP, AMF), чтобы в прапматическом смысле сделать это в Drupal. Вы должны установить мыльный сервер и в Drupal ...

Перейдите по этой ссылке, чтобы узнать больше о сервисном модуле.

http://drupal.org/project/services

это один из удивительных модулей drupal

...