Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
Здравствуйте уважаемые форумчанине. Есть проблема, постараюсь изложить поподробнее. Данность: Нужно на PHP создать WSDL-запрос, с подключением через сертификат. С SOAP(WSDL) знаком плохо, поэтому поискал, почитал здесь https://php.net/manual/ru/class.soapclient.php Из прочитанного, я создал следующий php-файл: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. При выполнении данного скрипта, выходит результат: Код: html 1. 2. 3. 4. 5. 6. 7. 8. Вызвал функцию getTypes() , в результате получил следующий ответ: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. Из всего вышесказанного выясняется что есть функция getOK которая вызывается без всяких параметров. Проблема: Пытаюсь вызвать функцию getOK таким способом: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Результата нет, ничего не выводится. Сделал так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Вышел результат: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. Тут какой-то "Could not connect to host" это что за безобразие, к какому имено хосту он не может подключится? Ответ же какой-то выдаёт? Функции и типы выдал, а тут не может? Или это не одно и то же и совсем разное? Вопрос: Чего я не так делаю и как нужно делать? Мне кажется я неправильно функцию getOK вызываю, а как правильно это сделать не пойму. Подскажите кто чем может, как правильно должно быть, можете ссылками покидать, я постараюсь вникнуть, если не сложно можете словами написать, буду признателен:) Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 15:25 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
в недрах WSDL указывается адреса куда необходимо подключиться для выполнения ваших запросов, опубликуйте содержимое WSDL, мы посмотрим что там. функции типа getTypes() просто берут всю информацию из WSDL и не делают запросов на сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 22:13 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
Не совсем в курсе что такое содержимое WSDL :) Но наверное это(а то у меня и доступа больше ни к чему нет): Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 06:47 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
судя по файлу, https://site.ru:8443/PaymentsSrv/banks - это точка обращения при обработке всех запросов. попробуйте открыть в обычном браузере, у меня тайм аут. вот секция отвечающая за это <service name="banksService"> <port name="banksPort" binding="tns:banksPortBinding"> <soap:address location=" https://site.ru:8443/PaymentsSrv/banks"/> </port> </service> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 06:58 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
sxqсудя по файлу, https://site.ru:8443/PaymentsSrv/banks - это точка обращения при обработке всех запросов. попробуйте открыть в обычном браузере, у меня тайм аут. вот секция отвечающая за это <service name="banksService"> <port name="banksPort" binding="tns:banksPortBinding"> <soap:address location=" https://site.ru:8443/PaymentsSrv/banks"/> </port> </service> Ну я реальное название сайта изменил на site.ru если чем-то поможет, то реальное ссылка https://inkomus.ru:8443/PaymentsSrv/banks?wsdl но туда всё равно без сертификата не пустит. Сертификат я разумеется выдать не смогу:) При открытии в обычном браузере(при установленном сертификате) у меня открывается. Про указанную секцию, что с этим делать? мне нужно обращаться(посылать запросы) на https://site.ru:8443/PaymentsSrv/banks ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 07:30 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
Изменил у себя в скрипте Код: php 1. на Код: php 1. Так вообще работать перестало, браузер пишет "Удалённая страница недоступна". В первом варианте хоть какой-то ответ выдаёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 07:40 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
Я хреновасто в этом секу(точнее совсем тёмный лес), поэтому рождаются дурацкие предположения, но думаю может если я обращають на HTTPS может мой php-скрипт тоже должен быть HTTPS типа https://my-site.ru/test.php сейчас он просто http://my-site.ru/test.php а то получается, что на той стороне защищённый канал связи а у меня хрен знает что. Или это безосновательные предположения? На эту мысль меня навели последние строки ответа: Код: php 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 07:52 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
Пытаюсь пробовать разные варианты: 1. Подсунул пустой сертификат cert_key.pem просто пустой текстовый файл переименовал и подсунул. выдаётся тот же результат что и в первом посту. 2. Вообще убрал строчку 'local_cert' => "cert_key.pem" результат тот же 3. Подсунул сертификат который сгенерировал для Delphi(изначально хотел через Delphi обращаться) который внутри содержит блоки CERTIFICATE, CERTIFICATE и PRIVATE KEY в результате вышла ошибка stdClass Object ( [return] => NO AUTH ) До этого подсовывал сертификат который мне выдала сама организация, он по размеру больше раза в два и в нём 3 блока CERTIFICATE Может его как-то нужно преобразовать, специально для PHP? В сертификатах я тоже плохо разбираюсь:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 08:32 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
Maxwellion, что-то я вызова функции getOk в упор не вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 09:59 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
kunaksergeyMaxwellion, что-то я вызова функции getOk в упор не вижу Я думал это так нужно: $result = $client->getOK(); Я не прав? Поправьте, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 10:02 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
Maxwellion, если GetOk это метод сервера, то по-моему __soapCall php.net/manual/ru/soapclient.soapcall.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 10:18 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
kunaksergeyMaxwellion, если GetOk это метод сервера, то по-моему __soapCall php.net/manual/ru/soapclient.soapcall.php Так тоже пробовал: 1 Делал так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 2. И делал так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Вообще нулевой результат ни ответа, ни привета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 11:26 |
|
||
|
SOAP(WSDL) запрос
|
|||
|---|---|---|---|
|
#18+
Maxwellion, А сервер-то хоть живой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 11:59 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38918516&tid=1461890]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 523ms |

| 0 / 0 |
