ASP.NET/C# client to consume a PHP/MYSQL web service (WSDL)

delean

New Member
I am trying to access a webservice (two files below). The client is using ASP.NET/C# for their web architecture. I can add the web reference but somehow I cannot generate a proxy class for the wsdl file. The aim is to use the function in the server.php file so that I can use the xmlstring to display the data on the ASP.NET website. Any help would be very appreciated. Many Thanksserver.php file. This file has a php function which extracts data from a mysql db and the function returns the data as an XML string.\[code\]<?php//WEB SERVICE FUNCTION TO EXTRACT DATA FROM CLIENT B INTO XML FORMATfunction getXML(){//CONNECT TO THE DATABASE SERVER$dbserverIP = "xxxxxxx";$dbusername = "xxxxxxx";$dbpassword = "xxxxxxx";$dbconnection = mysql_connect($dbserverIP,$dbusername,$dbpassword) or die ("The connection to the database server failed.");//CONNECT TO THE DATABASE$dbname = "xxxxxxxx";$dbselectok = mysql_select_db($dbname,$dbconnection)or die ("The connection to the database failed.");//QUERY THE DATABASE$sqlquery = "SELECT * FROM videogames";$sqlresult = mysql_query($sqlquery,$dbconnection)or die ("Error in executing the SQL statement");//CREATE XML STRING$xmlstring = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n";$xmlstring.= "<videogames>";while ($row = mysql_fetch_array($sqlresult)){ $xmlstring .= "\t<game>\r\n"; $xmlstring .= "\t\t<gametitle>" .$row["gametitle"]. "</gametitle>\r\n"; $xmlstring .= "\t\t<genre>" .$row["genre"]. "</genre>\r\n"; $xmlstring .= "\t\t<year>" .$row["year"]. "</year>\r\n"; $xmlstring .= "\t\t<platform>" .$row["platform"]. "</platform>\r\n"; $xmlstring .= "\t\t<agerating>" .$row["agerating"]. "</agerating>\r\n"; $xmlstring .= "\t\t<price>" .$row["price"]. "</price>\r\n"; $xmlstring .= "\t</game>\r\n";}$xmlstring.= "</videogames>";//WRITE XML STRING TO EXTERNAL FILE$filename = "videogames.xml";$fileaccessmode = "w";$fptr = fopen($filename,$fileaccessmode);fwrite($fptr,$xmlstring);fclose($fptr);//FREE UP MEMORYmysql_free_result($sqlresult);mysql_close($dbconnection);return $xmlstring;}//CODE TO DISABLE THE WSDLE CACHEini_set("soap.wsdl_cache_enabled","0");//DEFINE SOAP SERVER INSTANCE AND RELATED WSDL FILE//THE service.wsdl FILE IS IN THE SAME FOLDER AS THIS server.php FILE$server = new SoapServer("service.wsdl");//ADD FUNTION TO THE SERVER INSTANCE$server->addFunction("getXML");//ACTIVATE THE SOAP HANDLER$server->handle();?>\[/code\]This is the WSDL file linked to the server.php file.\[code\]<?xml version ='1.0' encoding ='UTF-8' ?><!-- ====================== DEFINITIONS ====================== --><definitions name="MyWebService" targetNamespace="http://cet-apache-04.cet.bolton.ac.uk/student/mib1bee/CST3017/assignment/scenario1/service.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cet-apache-04.cet.bolton.ac.uk/student/mib1bee/CST3017/assignment/scenario1/service.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><!-- ====================== TYPES ============================ --><!-- No need for type definitions as only xsd built-in ======= --> <!-- data types are used --><!-- ========================================================= --><!-- ====================== MESSAGE ========================== --><message name="getXML_Request"><part name="input" /></message><message name="getXML_Response"><part name="xmlString" type="xsd:string"/></message><!-- ====================== PORT TYPE ============================ --><portType name="myWebService_PortType"><operation name="getXML"> <input message="tns:getXML_Request"/> <output message="tns:getXML_Response"/></operation></portType><!-- ======================= BINDING ============================= --><binding name="myWebService_Binding" type="tns:myWebService_PortType"><soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><operation name="getXML"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output></operation></binding><!-- ======================= SERVICE ============================= --><service name="myWebService_Service"><port name="myWebService_Port" binding="tns:myWebService_Binding"> <soap:address location="http://cet-apache-04.cet.bolton.ac.uk/student/mib1bee/CST3017/assignment/scenario1/server.php"/></port></service></definitions>\[/code\]
 
Back
Top