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";
}

 

posted @ 2013-07-01 15:50  李占卫  阅读(3722)  评论(0编辑  收藏  举报