| | PHP&DB&...
发现个细节问题,不知道是不是和语言以及开发环境有关,暂且先记录下来。
PHP和.NET都可以使用SOAP方式开发出被调用的WebService,在PHP中调用这些WebService的方式都是相同的。
不同的是调用PHP开发的WebService与.NET开发的WebService的RPC方法的方式上(挺拗口的。。。),下面用个例子说明:
调用PHP开发的WebService:
$client = new SoapClient(null, array('location' => "http://********/theinterface.php",
         'uri' => "http://test-uri/",
         'encoding' => 'UTF-8'));
$param = array('dir' => './themes');
$client->listThemes('./themes');

调用.NET开发的WebService:
$client = new SoapClient('http://*******/WebService/WSEcd.asmx?WSDL', array('encoding' => 'utf-8'));
$param = array();
$result = $client->__soapCall('TestLink', array('parameters' => $param));
$TestLinkResult = $result->TestLinkResult;

不同之处就在于牵着可以将RPC方法作为SOAPClient对象的方法直接使用,后者则要使用“__soapCall”方法调用RPC方法并传入参数。
另外,在PHP中调用SOAP方式的WebService,对于PHP而言,最好是直接使用SOAPServer的地址,而不使用WSDL文件(虽然使用ZendStudio可以生成WSDL文件,但是生成的文件似乎存在问题,比如其中的参数和返回值类型都不是很规范),如上例;而对.NET则最好是使用WSDL文件。
以上的细节对于JAVA是否存在还不清楚。
This entry comes from 本站原创.It has been read for 1021 times.You may Leave a comment or 引用(0) this entry.
0 comments so far
Leave something
Name:


Website:


E-mail:


Content:
打开HTML 打开UBB 表情 打开表情 隐藏 记住我 [注册]