不是从我的iPhone应用程序调用服务目标,我的代码如下:
Web 服务在 PHP on http://tuturno.knowit.cl/soap/colas.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];
调用服务说坏肥皂请求
这是来自PHP的测试调用Web服务
$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());
soap 服务是否返回 XML 或 JSON?