PHP通过soap调用c#的WebService
1:C#
Contact
public class Contact { private int _Id; private string _Name; public int id { get { return _Id; } set { _Id = value; } } public string name { get { return _Name; } set { _Name = value; } } }
WebService
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class Service1 : System.Web.Services.WebService { [WebMethod] public string Function1(Contact Contact, string description, int amount) { string r = string.Format("receive request! id: {0}, name: {1}, description: {2}, amount: {3}", Contact.id, Contact.name, description, amount); return r; } }
PHP
class Contact { function Contact($id, $name) { $this->id = $id; $this->name = $name; } } try { /* Initialize webservice with your WSDL */ $client = new SoapClient("http://10.241.204.121:8022/Service1.asmx?wsdl"); /* Fill your Contact Object */ $contact = new Contact(100, "John"); /* Set your parameters for the request */ $params = array( "Contact" => $contact, "description" => "snda", "amount" => 10, ); /* Invoke webservice method with your parameters, in this case: Function1 */ $response = $client->__soapCall("Function1", array($params)); /* Print webservice response */ var_dump($response); } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; }