Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите разобратся с веб сервисом почему не работает!!
 
 автор: alex_fear   (09.02.2011 в 18:55)   письмо автору
 
 

Вот скрипт

$client = new SoapClient("http://autopalma.com.ua/wsdl/server.php?wsdl", array('encoding'=>'cp1251')); 
$Login = 'alex_fear'; 
$Passwd = '37jwxy'; 
$OemCode = 'НОМЕР_ДЕТАЛИ'; 
$UserParam = array('login'=>$Login,'passwd'=>$Passwd); 
$PartsPrice = $client->getPartsPrice($OemCode,$UserParam); 
print_r($PartsPrice);


Вот описание

Для более удобной работы с нашим сайтом запущена поддержка WebService.
Это даст возможность связать Ваши веб ресурсы с сайтом http://autopalma.com.ua/ .
Сервис работает по следующей ссылке http://autopalma.com.ua/wsdl/server.php?wsdl
Метод "testService" возвращает фразу "Service working"
Метод "getUaePartsPrice" возвращает результат поиска запрашиваемой детали по направлению ОАЕ
Метод "getEurPartsPrice" возвращает результат поиска запрашиваемой детали по направлению Европа
Метод "getLocalPartsPrice" возвращает результат поиска запрашиваемой детали по наличию на складе
Метод "getPartsPrice" воpзвращает результат поиска запрашиваемой детали по всем направлениям (включая наличие на складах)
Метод "getPartsPrice2" воpзвращает результат поиска запрашиваемой детали по всем направлениям (включая наличие на складах)

Передаваемые параметры
№ Параметр Тип_переменной Обязательное_поле Описание
1 OemCode string Да Код детали
2 Login string Да логин клиента
3 Passwd string Да пароль клиента


Получаемые параметры
№ Параметр Тип_переменной Обязательное_поле Описание
1 SiteCode string Да Код детали на сайте
2 Price float Да Цена
3 FixPrice float Да Фиксированная цена
4 Fix string Да Признак фиксированной цены(символ "F")
5 Parent string Да Группа
6 Subparent string Да Подгруппа
7 Subparent2 string Да Подгруппа 2
8 Qty1 int Да Наличие на первом складе
9 Qty2 int Да Наличие на втором складе
10 Name string Да Номер детали
11 Prim string Да Примечание
12 Name2 string Да Коментарий
13 Brand string Да Производитель

В чем проблема почему не выводит результаты?

  Ответить  
 
 автор: alex_fear   (09.02.2011 в 18:57)   письмо автору
 
   для: alex_fear   (09.02.2011 в 18:55)
 

или еще вот
Передаваемые параметры
№ Параметр Тип_переменной Обязательное_поле Описание
1 OemCode string Да Номер детали
2 UserParam array Да Массив из двух элементов: 'login' и 'passwd'
Получаемые параметры
№ Параметр Тип_переменной Обязательное_поле Описание
1 Brand string Да Производитель
2 Oem string Да Номер детали
3 Name string Да Описание детали
4 Weight string Да Вес детали
5 PriceUSD string Да Цена детали,usd

Пример кода на PHP:

$client = new SoapClient("http://twinauto.net/wsdl/server.php?wsdl", array('encoding'=>'cp1251','connection_timeout' => 3)); 
$Login = 'ВАШ_ЛОГИН'; 
$Passwd = 'ВАШ_ПАРОЛЬ'; 
$UserParam = array('login'=>$Login,'passwd'=>$Passwd); 
$OemCode = 'Номер детали'; 
$PartsPrice = $client->getPartsPrice($OemCode,$UserParam); 
print_r($PartsPrice);

  Ответить  
 
 автор: alex_fear   (09.02.2011 в 19:01)   письмо автору
 
   для: alex_fear   (09.02.2011 в 18:57)
 

Номер детали например 548132E100

  Ответить  
 
 автор: sim5   (09.02.2011 в 19:10)   письмо автору
 
   для: alex_fear   (09.02.2011 в 19:01)
 

И что, ну выдаст:
Array
(
    [0] => Array
        (
            [SiteCode] => 
            [Price] => 10.45
            [FixPrice] => 
            [Fix] => 
            [Parent] => 
            [Subparent] => 
            [Subparent2] => 
            [Qty1] => XXL
            [Qty2] => XXL
            [Name] => 548132E100
            [Prim] => 
            [Name2] => GUMMILAGERBUCHSE
            [Postavshik] => Europe
            [Dostavka] => 14
            [Brand] => KIA
        )

    [1] => Array
        (
            [SiteCode] => 
            [FixPrice] => 
            [Fix] => 
            [Parent] => 
            [Subparent] => 
            [Subparent2] => 
            [Qty1] => XXL
            [Qty2] => XXL
            [Name2] => bush 
            [Prim] => 
            [Postavshik] => UAE
            [Dostavka] => 21
            [Weight] => 0.07
            [Brand] => HY
            [Name] => 54813-2E100
            [Price] => 2.9
        )
и т.д...
Вы на чем проверяете? У вас библотека SOAP хоть подключена, сконфигурирована?

  Ответить  
 
 автор: alex_fear   (10.02.2011 в 09:45)   письмо автору
 
   для: sim5   (09.02.2011 в 19:10)
 

Вопрос такой как это оформить чтоб данные выводилиьсь ввиде таблици?

  Ответить  
 
 автор: sim5   (10.02.2011 в 10:15)   письмо автору
 
   для: alex_fear   (10.02.2011 в 09:45)
 

Вы массив получаете? Ну а дальше циклом выводите его в таблицу, а какую, это уж я не знаю, в простейшем случае - слева направо, сверху вниз . ;-)

  Ответить  
 
 автор: alex_fear   (10.02.2011 в 10:02)   письмо автору
 
   для: sim5   (09.02.2011 в 19:10)
 

И как вывести данные?
Вот к этому примеру

Передаваемые параметры
№ Параметр Тип_переменной Обязательное_поле Описание
1 OemCode string Да Номер детали
2 UserParam array Да Массив из двух элементов: 'login' и 'passwd'
Получаемые параметры
№ Параметр Тип_переменной Обязательное_поле Описание
1 Brand string Да Производитель
2 Oem string Да Номер детали
3 Name string Да Описание детали
4 Weight string Да Вес детали
5 PriceUSD string Да Цена детали,usd

Пример кода на PHP:

$client = new SoapClient("http://twinauto.net/wsdl/server.php?wsdl", array('encoding'=>'cp1251','connection_timeout' => 3));  
$Login = 'ВАШ_ЛОГИН';  
$Passwd = 'ВАШ_ПАРОЛЬ';  
$UserParam = array('login'=>$Login,'passwd'=>$Passwd);  
$OemCode = 'Номер детали';  
$PartsPrice = $client->getPartsPrice($OemCode,$UserParam);  
print_r($PartsPrice);

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 11:34)   письмо автору
 
   для: alex_fear   (10.02.2011 в 10:02)
 

Подскажите кто то плиз!!

  Ответить  
 
 автор: sim5   (12.02.2011 в 11:43)   письмо автору
 
   для: alex_fear   (12.02.2011 в 11:34)
 

Что именно? Зачем вы опять повторяете код свой? Работает он у вас, данные получает, ввиде массива $PartsPrice. Проходите этот массив циклом, и раскладываете вложенные его массивы в ячейки таблицы. Вот и получите таблицу. Что именно вызывает затруднение?

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 12:05)   письмо автору
 
   для: sim5   (12.02.2011 в 11:43)
 

Вывод самих данных. то есть
как вывести вот эти данные типа вот так:
echo" [SiteCode]
[Price]
[FixPrice]
[Fix]
[Parent]
[Subparent]
[Subparent2]
[Qty1]
[Qty2]
[Name]
[Prim]
[Name2]
[Postavshik]
[Dostavka]
[Brand] ";

  Ответить  
 
 автор: sim5   (12.02.2011 в 12:45)   письмо автору
 
   для: alex_fear   (12.02.2011 в 12:05)
 

А не рано ли вы взялись за такое, если не знаете элементарного - как вывести элементы массива в цикле?
<?
foreach($PartsPrice as $part
echo 
$part['SiteCode']."<br>"
     
$part['Price']."<br>".
     
$part['FixPrice']."<br>".  
     
$part['Fix']."<br>".  
     
$part['Parent']."<br>".
     
$part['Subparent']."<br>"
     
$part['Subparent2']."<br>".  
     
$part['Qty1']."<br>"
     
$part['Qty2']."<br>"
     
$part['Name2']."<br>".  
     
$part['Prim']."<br>"
     
$part['Postavshik']."<br>"
     
$part['Dostavka']."<br>"
     
$part['Brand']."<br>";

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 13:53)   письмо автору
 
   для: sim5   (12.02.2011 в 12:45)
 


$client = new SoapClient("http://autopalma.com.ua/wsdl/server.php?wsdl", array
('encoding'=>'cp1251')); 
$Login = 'alex_fear'; 
$Passwd = '37jwxy'; 
$OemCode = '49575-2E000'; 
$UserParam = array('login'=>$Login,'passwd'=>$Passwd); 
$PartsPrice = $client->getUaePartsPrice($OemCode,$UserParam); 
foreach($PartsPrice as $part)  
echo $part['SiteCode']."<br>".  
     $part['Price']."<br>". 
     $part['FixPrice']."<br>".   
     $part['Fix']."<br>".   
     $part['Parent']."<br>". 
     $part['Subparent']."<br>".  
     $part['Subparent2']."<br>".   
     $part['Qty1']."<br>".  
     $part['Qty2']."<br>".  
     $part['Name2']."<br>".   
     $part['Prim']."<br>".  
     $part['Postavshik']."<br>".  
     $part['Dostavka']."<br>".  
     $part['Brand']."<br>";

  Ответить  
 
 автор: sim5   (12.02.2011 в 13:54)   письмо автору
 
   для: alex_fear   (12.02.2011 в 13:53)
 

И к чему вы это прицепили? Кстати, а зачем вы свой пароль обнародуете?

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 13:56)   письмо автору
 
   для: alex_fear   (12.02.2011 в 13:53)
 

библотека SOAP нужно на сервере подключить?

  Ответить  
 
 автор: sim5   (12.02.2011 в 14:02)   письмо автору
 
   для: alex_fear   (12.02.2011 в 13:56)
 

Нет, у себя дома. :) Конечно на сервере. В Денвере, это раскомментировать строку этой библиотеки: php_soap.dll в php.ini, конфигурация в php.ini уже прописана. На реальном сервере (хосте), просить чтобы вам ее установили, и прописали положенное (если не установлено).

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 14:02)   письмо автору
 
   для: alex_fear   (12.02.2011 в 13:56)
 

Новый сделаем! Как это все сделать!
Просто я только учусь!

  Ответить  
 
 автор: sim5   (12.02.2011 в 14:03)   письмо автору
 
   для: alex_fear   (12.02.2011 в 14:02)
 

Учится надо не на таких вещах, ибо вы даже элементарного не знаете, ну разве прок от такой учебы будет? В учебе главное последовательность - сперва Букварь, а потом уже "Буря мглою небо кроет", а не наоброт. Так и язык программирования.

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 14:26)   письмо автору
 
   для: sim5   (12.02.2011 в 14:03)
 

Когда подключат библиотеку.
Как правилно тогда php код прописать?

  Ответить  
 
 автор: sim5   (12.02.2011 в 15:00)   письмо автору
 
   для: alex_fear   (12.02.2011 в 14:26)
 

Что значит правильно?

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 15:03)   письмо автору
 
   для: sim5   (12.02.2011 в 15:00)
 

Чтоб получилось вывести данные на страницу в таком видде!

echo $part['SiteCode']."<br>".  
     $part['Price']."<br>". 
     $part['FixPrice']."<br>".   
     $part['Fix']."<br>".   
     $part['Parent']."<br>". 
     $part['Subparent']."<br>".  
     $part['Subparent2']."<br>".   
     $part['Qty1']."<br>".  
     $part['Qty2']."<br>".  
     $part['Name2']."<br>".   
     $part['Prim']."<br>".  
     $part['Postavshik']."<br>".  
     $part['Dostavka']."<br>".  
     $part['Brand']."<br>";

  Ответить  
 
 автор: sim5   (12.02.2011 в 15:18)   письмо автору
 
   для: alex_fear   (12.02.2011 в 15:03)
 

1. Вы получаете массив, в котором находятся массивы содержащие сами данные непосредственно.

2. Выводя таким образом данные (а пример я показал исходя из того, как вы привели свою запись - в столбик), пользователь получит длиииииинную портянку по вертикали, ибо таких данных может быть много (см. п.1).

Если вы это считаете "правильным написанием php кода", то он у вас на руках. Я так не считаю, ибо массив, который вы получите, это все-таки табличные данные, и выводить их нужно в таблицу, и код в этом случае будет совсем иной.

Какой код, сказать не могу, ибо я не знаю условий вывода. Это раз. Коли вы учитесь, то открывайте учебник, и начинайте изучать, именно изучать, пробуя на простых примерах, а не на библиотеках типа SOAP. Это два. Без изучения простейшего дальше не сдвинитесь, а изучать это вы должны самостоятельно, обращаясь на форум за помощью в конкретном, что действительно может быть для вас на первых порах трудным.

А сейчас вы задаете вопрос мягко сказать "глупый".

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 15:21)   письмо автору
 
   для: sim5   (12.02.2011 в 15:18)
 

В таблицу я помещу сам! Мне важен сам вывод информации! На данномм этопе важно вывести данные. А потом я уже помищу их в таблицу. Мне сейчас главное увидить данные у себя на сайте!

  Ответить  
 
 автор: sim5   (12.02.2011 в 15:24)   письмо автору
 
   для: alex_fear   (12.02.2011 в 15:21)
 

И какая проблема? Коли вам просто вывести "для просмотреть", то как вы считаете, тот код, что я вам написал, что делает?
Очень сомнительно, чтобы вы смогли сами написать код корректной записи этих данных в таблицу, если вы не поняли, чего же я вам такого написал.

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 15:32)   письмо автору
 
   для: sim5   (12.02.2011 в 15:24)
 

Я понял что вывод для посмотреть можно использывать в таком видде:

$client = new SoapClient("http://autopalma.com.ua/wsdl/server.php?wsdl", array 
('encoding'=>'cp1251'));  
$Login = '';  
$Passwd = '';  
$OemCode = '49575-2E000';  
$UserParam = array('login'=>$Login,'passwd'=>$Passwd);  
$PartsPrice = $client->getUaePartsPrice($OemCode,$UserParam);  
foreach($PartsPrice as $part)   
echo $part['SiteCode']."<br>".   
     $part['Price']."<br>".  
     $part['FixPrice']."<br>".    
     $part['Fix']."<br>".    
     $part['Parent']."<br>".  
     $part['Subparent']."<br>".   
     $part['Subparent2']."<br>".    
     $part['Qty1']."<br>".   
     $part['Qty2']."<br>".   
     $part['Name2']."<br>".    
     $part['Prim']."<br>".   
     $part['Postavshik']."<br>".   
     $part['Dostavka']."<br>".   
     $part['Brand']."<br>";

Просто вы написали и кчему я типа это прицепил вот и засомневался.
плюс библиотека не подключена и нет никаких результатов.
Нас сколько я понял это конечный код вывода данных для посмотреть?
Если да то буду ждать когда подключать библиотеку.
Большое спасибо!

  Ответить  
 
 автор: sim5   (12.02.2011 в 15:34)   письмо автору
 
   для: alex_fear   (12.02.2011 в 15:32)
 

Для "посмотреть" достаточно было этого - print_r($PartsPrice);, городить еще что-то смысла нет.
Подключайте на своем локальном сервере библиотеку и тренеруйтесь.

  Ответить  
 
 автор: Trianon   (12.02.2011 в 15:29)   письмо автору
 
   для: alex_fear   (12.02.2011 в 15:21)
 

Тогда какого ж кренделя Вы в теме топика пишете, что у Вас не работает webService?
Так бы и писали - есть массив с данными - научите выводить его таблицей.
Данные такие - таблица такая.

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 16:04)   письмо автору
 
   для: Trianon   (12.02.2011 в 15:29)
 

Спасибо всем разобрался! На денвере все работает отличнр!

  Ответить  
 
 автор: alex_fear   (12.02.2011 в 16:27)   письмо автору
 
   для: alex_fear   (12.02.2011 в 16:04)
 

Вот что получилось.
Правда не красиво разписано но работает на денвере!!

<?
$client 
= new SoapClient("http://twinauto.net/wsdl/server.php?wsdl", array

(
'encoding'=>'cp1251','connection_timeout' => 3)); 
$Login 'vostokauto'
$Passwd '770139'
$UserParam = array('login'=>$Login,'passwd'=>$Passwd); 
$OemCode '548132E100'
$PartsPrice $client->getPartsPrice($OemCode,$UserParam); 
?>
<TABLE BORDER=1 rules=rows width=100% CELLSPACING=0
CELLPADDING=5 BGCOLOR=#1e90ff ><tr><th colspan=11 scope=col align=left ><b><i>Закз с 

имератов</b></i></th></tr>  
<TR BGCOLOR=#292929 align=left>
<td ALIGN=center><font color=#ffffff><b>Производитель</b></td>
<td ALIGN=center><font color=#ffffff><b>Номер детали</b></td>
<td ALIGN=center><font color=#ffffff><b>Описание детали</b></td>
<td ALIGN=center><font color=#ffffff><b>Вес детали</b></td>
<td ALIGN=center ><font color=#ffffff><b>Цена детали,usd</b></td>
</tr>
<?


foreach($PartsPrice as $part){   

?>
<TR BGCOLOR=#292929 align=left>
<td ALIGN=center><font color=#ffffff><b><?=$part['Brand']?></b></td>
<td ALIGN=center><font color=#ffffff><b><?=$part['Oem']?></b></td>
<td ALIGN=center><font color=#ffffff><b><?=$part['Name']?></b></td>
<td ALIGN=center><font color=#ffffff><b><?=$part['Weight']?></b></td>
<td ALIGN=center ><font color=#ffffff><b><?=$part['PriceUSD']?></b></td>
</tr>
<?
}
?>
</table>
<?
?>

  Ответить  
 
 автор: sim5   (12.02.2011 в 16:55)   письмо автору
 
   для: alex_fear   (12.02.2011 в 16:27)
 

Уже что-то. Но такая запись:
<?=$part['Brand']?>
будет работать только в том случае, если разрешен короткий тег РНР. В противном случае нужно писать:
<?php echo $part['Brand'];?>
Совет: не используйте тег font ради того, чтобы выделить нечто, есть стили, ими можно все и описать.

  Ответить  
 
 автор: Trianon   (12.02.2011 в 16:58)   письмо автору
 
   для: sim5   (12.02.2011 в 16:55)
 

такая запись будет работать если переменной $part хотя бы что-нибудь присвоить.
Что в последнем примере не наблюдается.

  Ответить  
 
 автор: sim5   (12.02.2011 в 16:59)   письмо автору
 
   для: Trianon   (12.02.2011 в 16:58)
 

Ну у него же массив - $PartsPrice.

  Ответить  
 
 автор: Trianon   (12.02.2011 в 17:52)   письмо автору
 
   для: sim5   (12.02.2011 в 16:59)
 

foreach проглядел.
отступов то нет...

  Ответить  
 
 автор: sim5   (12.02.2011 в 18:50)   письмо автору
 
   для: Trianon   (12.02.2011 в 17:52)
 

Вот чего у него не будет работать, так это вывод нужного, а ошибки у него либо подавлены, либо...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования