Android WebService客户端和PHP服务器传递参数时出现问题
我有以下调用PHP Web服务的代码。代码连接到服务,但参数传递不好。该方法只是返回参数,对于下面的代码,它返回“mm”(基本上返回第一个参数的第一个字母两次) 这是php服务器代码Android WebService客户端和PHP服务器传递参数时出现问题,php,android,web-services,Php,Android,Web Services,我有以下调用PHP Web服务的代码。代码连接到服务,但参数传递不好。该方法只是返回参数,对于下面的代码,它返回“mm”(基本上返回第一个参数的第一个字母两次) 这是php服务器代码 $server = new nusoap_server; $server->configureWSDL('server', 'urn:server'); $server->wsdl->schemaTargetNamespace = 'urn:server'; $server->registe
$server = new nusoap_server;
$server->configureWSDL('server', 'urn:server');
$server->wsdl->schemaTargetNamespace = 'urn:server';
$server->register('userAuth',
array('usr' => 'xsd:string', 'pass' => 'xsd:string'),
array('return' => 'xsd:string'),
'urn:server',
'urn:server#userAuth');
function userAuth($value){
$a=$value['usr'].$value['pass'];
return $a;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
好的,我最终通过在另一个SoapObject实例中添加参数使其工作,该实例将由请求的SoapObject调用。最终代码是: 字符串SOAP\u ACTION=“userAuth”; 字符串方法\u NAME=“userAuth”
好的,我最终通过在另一个SoapObject实例中添加参数使其工作,该实例将由请求的SoapObject调用。最终代码是: 字符串SOAP\u ACTION=“userAuth”; 字符串方法\u NAME=“userAuth”
$server = new nusoap_server;
$server->configureWSDL('server', 'urn:server');
$server->wsdl->schemaTargetNamespace = 'urn:server';
$server->register('userAuth',
array('usr' => 'xsd:string', 'pass' => 'xsd:string'),
array('return' => 'xsd:string'),
'urn:server',
'urn:server#userAuth');
function userAuth($value){
$a=$value['usr'].$value['pass'];
return $a;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapObject parameters = new SoapObject(NAMESPACE, METHOD_NAME);
parameters.addProperty("usr", "myuser");
parameters.addProperty("pass", "xxxxxxxxxxxxxxx");
Request.addProperty(METHOD_NAME, parameters);
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.setOutputSoapObject(Request);
HttpTransportSE androidHttpTransportSE = new HttpTransportSE(URL);
androidHttpTransportSE.call(SOAP_ACTION, soapEnvelope);
Object result = (Object)soapEnvelope.getResponse();
return result.toString();
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("name1", values1);
request.addProperty("name2", values2);
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransportSE = new HttpTransportSE(URL);
androidHttpTransportSE.call(SOAP_ACTION, soapEnvelope);
Object result = (Object)soapEnvelope.getResponse();
final String str = result.toString();