zingan
Новичок
Как передать .NET сервису массив объектов с помощью SOAP
Есть веб сервис на C#
http://***.net/account.asmx
нужно обратиться к его функциям с использованием PHP __soapCall()
Вот в чём проблемка:
у функции Add последний параметр это массив объектов
из C# её вызывают так
properties = new Property[] {AdvAccount.Add("company", "company_name")};
service.Add(...., "subaccount", "account", properties);
описание - properties
public partial class Property {
private string nameField;
private object valueField;
public string Name {
get {return this.nameField;}
set {this.nameField = value;}
}
public object Value {
get {return this.valueField;}
set {this.valueField = value;}
}
}
Тоесть, проблема сводится к передаче веб сервису в качестве параметра массива объектов.
это мой вариант - неправильный ;(
$pr = new propertyClass ("name1", "value1");
$prVar = new SoapVar($pr, SOAP_ENC_OBJECT, "Property");
$prVarAr[]= $prVar;
$pr = new propertyClass ("name2", "value2");
$prVar = new SoapVar($pr, SOAP_ENC_OBJECT, "Property");
$prVarAr[]= $prVar;
$prVarArPar = new SoapVar($prVarAr, SOAP_ENC_ARRAY, "ArrayOfProperty");
$param=array(
...........
"properties" =>$prVarArPar
);
$res = $service->__soapCall( "Add", array('parameters' => $param));
Надоумьте плиз.
Есть веб сервис на C#
http://***.net/account.asmx
нужно обратиться к его функциям с использованием PHP __soapCall()
Вот в чём проблемка:
у функции Add последний параметр это массив объектов
из C# её вызывают так
properties = new Property[] {AdvAccount.Add("company", "company_name")};
service.Add(...., "subaccount", "account", properties);
описание - properties
public partial class Property {
private string nameField;
private object valueField;
public string Name {
get {return this.nameField;}
set {this.nameField = value;}
}
public object Value {
get {return this.valueField;}
set {this.valueField = value;}
}
}
Тоесть, проблема сводится к передаче веб сервису в качестве параметра массива объектов.
это мой вариант - неправильный ;(
$pr = new propertyClass ("name1", "value1");
$prVar = new SoapVar($pr, SOAP_ENC_OBJECT, "Property");
$prVarAr[]= $prVar;
$pr = new propertyClass ("name2", "value2");
$prVar = new SoapVar($pr, SOAP_ENC_OBJECT, "Property");
$prVarAr[]= $prVar;
$prVarArPar = new SoapVar($prVarAr, SOAP_ENC_ARRAY, "ArrayOfProperty");
$param=array(
...........
"properties" =>$prVarArPar
);
$res = $service->__soapCall( "Add", array('parameters' => $param));
Надоумьте плиз.