步骤:
- 运行creat.php 生成SERVER.wsdl
- 更改生成的.wsdl中<port>部分soap:address的location
<port name="..." binding="..." ><soap:address location="http://127.0.0.1/wsdl/creat.php"></port>
->
<port name="..." binding="..." ><soap:address location="http://127.0.0.1/wsdl/SERVER.php"></port>
- 测试
test.php
相关文件
creat.php
include_once 'SERVER.class.php';
include_once 'SoapDiscovery.class.php';
$wsdl = new SoapDiscovery('SERVER','SERVER');
$wsdl->getWSDL();
SERVER.php
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header("Content-type: text/xml; charset=UTF-8");
include("SERVER.class.php");
$objSoapServer = new SoapServer("SERVER.wsdl");
$objSoapServer->setClass("SERVER");
$objSoapServer->handle();
SERVER.class.php
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header("Content-type: text/xml; charset=UTF-8");
ini_set('soap.wsdl_cache_enabled', '0');
class SERVER{
public function HelloWorld(){
return "Hello World!";
}
}
SoapDiscovery.class.php
<?php
/**
* Copyright (c) 2005, Braulio Jos� Solano Rojas
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
* Neither the name of the Solsoft de Costa Rica S.A. nor the names of its contributors may
* be used to endorse or promote products derived from this software without specific
* prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN