2016-04-24 8 views
-1
次のように

は私のコードは、サービス目標と私のiphoneアプリからの呼び出しではありません。WebサービスはObjective Cの、SOAP要求から呼び出すことはできません

Webサービスがhttp://tuturno.knowit.cl/soap/colas.php上のPHPであり、機能としてあります次の:

function registrocola ($param1){ 
    $obj = json_decode($param1); 
    $hoy = date("Y-m-d H:i:s"); 
    include_once 'RegistroCola.php'; 
    include_once 'ControlSOAP.php'; 

    $registro = new RegistroCola(); 
    $registro->cliente = $obj->{'cliente'}; 
    $registro->cola = $obj->{'cola'}; 
    $registro->fecha = $hoy; 
    $registro->iddispositivo = $obj->{'idDispositivo'}; 
    $registro->numero = $obj->{'numero'}; 
    $registro->sucursal = $obj->{'sucursal'}; 

    $out = ControlSOAP::registrar($registro); 

    return $out;} 

次のように私のiPhoneアプリからの呼び出しは次のとおりです。

// Build dictionnary with parameters 
NSMutableDictionary *dictionnary = [NSMutableDictionary dictionary]; 
[dictionnary setObject:[tiket codigoSucursal] forKey:@"sucursal"]; 
[dictionnary setObject:[tiket cliente] forKey:@"cliente"]; 
[dictionnary setObject:[tiket letraCola] forKey:@"cola"]; 
[dictionnary setObject:[tiket nroTicket] forKey:@"numero"]; 
[dictionnary setObject:[tiket idDispositivo] forKey:@"idDispositivo"]; 
[dictionnary setObject:@"2014-11-02" forKey:@"fecha"]; 

NSError *error = nil; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionnary 
                options:kNilOptions 
                error:&error]; 

NSURL *url = [NSURL URLWithString: URL]; 
NSString *soapAction=[NSString stringWithFormat:@"%@%@",SOAP_ACTION,METHOD_REGISTER]; 
NSDictionary *headField=[NSDictionary dictionaryWithObjectsAndKeys:[url host],@"Host", 
         @"text/xml; charset=utf-8",@"Content-Type", 
         soapAction,@"SOAPAction",nil]; 
// Prepare the request 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
[request setAllHTTPHeaderFields:headField]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[request setValue:@"json" forHTTPHeaderField:@"Data-Type"]; 
[request setHTTPBody:jsonData]; 

NSError *errorReturned = nil; 
NSURLResponse *theResponse =[[NSURLResponse alloc]init]; 
NSData *data = [NSURLConnection sendSynchronousRequest:request 
            returningResponse:&theResponse 
               error:&errorReturned]; 

サービスを呼び出すためには悪いSOAP要求

語ります

、これはテストコールのWebサービスであるPHP

$client = new SoapClient(null, array(
    'location' => DatosSOAP::$LOCATION."/colas.php", 
    'uri'  => DatosSOAP::$URI, 
    'trace' => 1)); 
$hoy = date("Y-m-d H:i:s"); 
$params = array('cliente'=>'99', 'sucursal'=>'99', 'cola'=>'A',   'iddispositivo'=>'Galaxy', 'numero'=>'33', 'fecha'=>$hoy); 
$return = $client->__soapCall("registrocola",array($params)); 
echo("\nReturning value of __soapCall() call: ".$return); 
echo("<br><br><br>\nDumping request headers:\n" 
    .$client->__getLastRequestHeaders()); 
echo("\nDumping request:\n".$client->__getLastRequest()); 
echo("\nDumping response headers:\n" 
    .$client->__getLastResponseHeaders()); 
echo("\nDumping response:\n".$client->__getLastResponse()); 
+0

XMLまたはJSONを返すSOAPサービスですか? Pleseは私の答えを無視します。私はそれを削除します –

+0

JSON –

+0

headFieldを返すWebサービスtext/XMLとして設定していますが、リクエストと応答の両方がJSONです。その部分をチェックしてください –

答えて

0

からXMLやJSONを返すSOAPサービスをしていますか?

関連する問題