Как получить данные из веб-сервисов PHP, установленных в CakePHP, с iPhone?

0

Я создал веб-службы PHP, которые читают данные из MySQL и возвращаются в мое приложение для iPhone. Раньше я использовал тот же код во многих приложениях. Веб-сервер, на котором я установил свои веб-службы, основан на CakePHP, а мои веб-службы написаны простым PHP.

Я не получаю данные от них в своем приложении для iPhone. Веб-службы отлично работают на локальном хосте, но, как установлено на сервере, я получаю двоичные данные вместо XML файла. Я изменил тег кодировки и типа контента. Выполнение этих веб-служб, возвращающих следующий код ошибки.

ошибка в анализе msg: Charset из HTTP Content-Type 'US-ASCII' не соответствует кодированию из объявления XML 'utf-8'

Так кто-нибудь может мне помочь? Мне нужно переписать все мои веб-сервисы в CakePHP или простые веб-службы PHP могут работать? Вот код одного из моих веб-сервисов.

<?php
include('vp-config.php');
// Pull in the NuSOAP code
require_once('lib/nusoap.php');

define("PATH_DIR",str_replace("\\","/",dirname(__FILE__))."/");

$server = new soap_server;

$server->register('getAllNews');
function getAllNews($page) {

$conn = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
mysql_select_db(DB_NAME, $conn) or die(mysql_error());

 $q = "SELECT 
`website_contents`.`id`,
`website_contents` .`website_top_category_id`,
`website_contents` .`created`,
`website_contents` .`short_description`
FROM `website_contents` 
WHERE `website_contents`.`website_content_type_id` = 2 
 AND `website_contents` .`short_description` IS NOT NULL
ORDER BY id DESC LIMIT " . $page ." , 30";
$rs = mysql_query($q);

while($r = mysql_fetch_array($rs)){
       $items[] = array('id'=>$r['id'],                         
      'website_top_category_id'=>$r['website_top_category_id'],
      'created'=>$r['created'],
      'short_description'=>$r['short_description']
      );   
     }  
return $items;

}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$serve

r->service($HTTP_RAW_POST_DATA);
Теги:
cakephp
web-services

1 ответ

0

CakePHP делает много обработки контента, чтобы убедиться, что вам нужно сделать небольшую работу, насколько это возможно. Если вы просто пытаетесь получить доступ к некоторым простым данным, вы можете просто оставить его вне CakePHP и сохранить их как отдельные скрипты. Создание их в CakePHP может использовать кувалду для подвешивания рамки изображения (если вы получите мою аналогию).

Учитывая ваше объяснение в комментариях, я бы рекомендовал импортировать их в CakePHP в качестве библиотек. Вы могли бы взять ваш код webservice как набор файлов PHP (или, тем не менее, вы их организовали), и их можно перенести в соответствующую папку в каталоге app/, в зависимости от используемой версии Cake. Оттуда они могут быть включены в остальную часть CakePHP без необходимости знать, что ваш клиент делает с его кодом.

Прочитайте здесь, как будет импортироваться ваш код. Имейте в виду, что в этом процессе произошли значительные изменения между версиями 1.2 и 1.3, поэтому обратите внимание, что в приведенном ниже примере:

Надеюсь, это поможет!

  • 0
    Спасибо за помощь. Под ними я подразумеваю веб-сервисы. Проблема в том, что я создал эти веб-сервисы для своего клиента. Его веб-сайт уже работает в виде торта php, и я должен установить веб-сервисы на тот же сервер. В начале он сказал мне, что веб-сайт на php. Но несколько дней он объяснил, что это торт. Я уже создал более двадцати веб-сервисов. Трудно переписать их в cakePhp. Потому что у меня нулевые знания о cakePhp. Вот почему я ищу решение. То есть есть способ установить веб-сервисы, написанные на простом php, на веб-сервер на основе cakePhp? Спасибо
  • 0
    Обновил мой ответ в отношении вашего комментария.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню