SOAP с PHP для веб-службы SAPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 SOAP с PHP для веб-службы SAP

Сообщение Anonymous »

Итак, в нашей корпоративной среде я пытаюсь подключиться к веб-службе SAP с помощью класса PHP SoapClient в режиме wsdl.

Пока что я получал ошибки «отсутствует свойство». После устранения всех ошибок недостающих свойств я получаю ужасную http-ошибку 500 с телом: мыло-env:Server

Итак, это мой код:

Код: Выделить всё

class SapTest {
const SAP_WSDL_URI  = *wsdl_uri*;
const SAP_USER = *username*;
const SAP_PWD  = *password*;

public function execute() {

$client = new SoapClient('http://'.urlencode(self::SAP_USER).':'.urldecode(self::SAP_PWD).'@'.self::SAP_WSDL_URI,
array("trace" => 1,
"exceptions" => 1,
"login" => self::SAP_USER,
"password" => self::SAP_PWD,
'features' => SOAP_SINGLE_ELEMENT_ARRAYS)
);

$method = '_-bic_-nf2';

$parameter = array('ETColumnDescription' => null,
'ETGridData' => null,
'ETMessageLog' => null,
'ETRowDescription' => null,
'ISVar_01xwerbet' => array('Sign' => 'I',
'Option' => 'LE',
'Low' => '3',
'High' => null));

try
{

$result = $client->$method($parameter);
print_r($result);
} catch(SoapFault $e) {

echo "REQUEST HEADER:\n" . $client->__getLastRequestHeaders() . "\n";
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";

echo "RESPONSE HEADER:\n" . $client->__getLastResponseHeaders() . "\n";

echo "RESPONSE:\n" . $client->__getLastResponse() . "\n";
print_r($e);
}

}

}

$oSap = new SapTest();
$oSap->execute();
мой вывод в формате XML выглядит следующим образом:

Код: Выделить всё









I
LE
3





ожидаемый XML-файл должен выглядеть следующим образом:

Код: Выделить всё








I
LE
3





Я не уверен, что это отсутствующий пустой тег заголовка, который я не могу добавить с помощью базового PHP (я могу добавить заголовок, но добавление пустого заголовка кажется сложной частью). Или, если это разные префиксы (ns1/urn или Soapenv/SOAP-ENV), но я начинаю сходить с ума по этому поводу. Будем очень признательны за помощь.

Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/166 ... eb-service
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»