C⻠PHPサービスを使用したWeb Service通信例
require_once("lib/nusoap.php"); // NuSoap
$server = new soap_server(); // soap
$server->configureWSDL("login_service"); // WSDL
$namespace = "http://www.abcd9.com";
$server->wsdl->schemaTargetNamespace = $namespace; // wsdl http://www.abcd9.com
$server->register( // Web
'login_verifiy', //
array('name'=>'xsd:string','pw'=>'xsd:string'), //
array('return'=>'xsd:string'), //
$namespace, //
false, // soapaction:
'rpc', // : rpc or document
'encoded', // :encoded( ) literal( )
'A web method of login' //
);
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA'])? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
$server->service($POST_DATA); // soap
function login_verifiy($user,$pw) { // ,
return 'user:'.$user.' password:'.$pw);
}
?>
C铀クライアントの呼び出し:
[DllImport("kernel32")] // api ini 。
private static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
private void Form1_Load(object sender, EventArgs e)
{
StringBuilder temp = new StringBuilder(256);
GetPrivateProfileString("system", "url", null, temp, 256, System.IO.Directory.GetCurrentDirectory()+"\\config.ini");
// config.ini ( ) webservice url
Program.server_url = temp.ToString(); //Program.cs server_url webservice url
}
private void button1_Click(object sender, EventArgs e)
{
WebReference.login_service l = new WebReference.login_service();
string s=l.login_verifiy(username.Text, password.Text);
MessageBox.Show(s);
}
添付config.ini内容:
[system]
url=http://127.0.0.1:100/