This article shares with you the implementation of webservice in PHP (tested to be callable in C# and Java). Friends in need can refer to it
Using PHP to build a webservice in other languages such as C# and JAVA The available Webservice methods are different from most webservices built with PHP described on the Internet. When the input parameters and output parameters of the interface are relatively complex, it is recommended to directly unify the input parameters and output parameters into XML string or Json string. What we focus on here is how to implement a webservice. As for the format of input and output parameters, we won’t go into details about how to operate XML strings. You can search a lot, but you should pay attention to the filtering and checking of parameters for XML and json. This article introduces webservice with wsdl files. The no-wsdl method is relatively simple and will not be introduced here.
First you need to enable the soap extension, that is, php.ini Remove the semicolon before extension=php_soap.dll in the file and restart apache. Check whether soap is enabled in phpinfo. The specific how to operate is skipped here. Implementing webservice requires soap extension.
The wsdl file generated by PHP's method of producing wsdl found on the Internet can only be used by PHP, so don't be fooled anymore. So here we use a curve to save the country to generate wsdl files. First build a webservice through C# to generate wsdl, and then you can use it with only slight changes.
1. Create a new project-> ASP.NET Web application to create a project;
2.b. Right-click the solution->Add ->Choose Web Service (ASMX) for the new item;
3. Write the interface. Note that [WebMethod] must be added before the function to be published in C#, which may also include To create some new classes:
4. After writing, press ctrl+F5 to run and the following will appear. After adding ?wsdl after the url, the wsdl will appear as shown below. , just save it as.
##5. Change the location in
6. PHP writing webservice interface:
7. Publishing webservice:
setClass(\Src\MESWebService::class); $webserver->handle();
2. Right-click the reference under the project ->To add a service reference, click Advanced to jump out of service reference settings, click Add Web Reference in the lower right corner, and the following figure will appear:
##3. Fill in the address of the published webservice service in the URL. If the following picture appears correctly after pressing Enter, modify the Web reference name according to your needs and click Add Reference:
4. Then Right-click the project->Add->New item, select web form, and edit the contents of the .aspx.cs file.
##5.e. Finally, press ctrl+F5 to run and you can see the corresponding output, as shown in the figure below. Description The webservice implemented by php can be called correctly in C#.
Related recommendations:
php implements querying mysql and caching to redis Method
php method to implement socket
php implements testing of var_dump and echo output multi-variables
The above is the detailed content of PHP implements webservice (tested to be callable by C# and java). For more information, please follow other related articles on the PHP Chinese website!