PHP调用WebSevice,中的地址指向服务器本地,如何吧地址改成ip地址然后再调用

KtosMayCry 2012-12-11 12:28:55
<?php
header("Content-type: text/html; charset=utf-8");
$client = new SoapClient(" http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl");
echo "<pre>";
print_r($client->__getFunctions ()) ;//获取WebService提供的函数

$param = array('theCityName'=>"台州");
$result = $client->__soapCall('getWeatherbyCityName',array('paramters'=>$param));
echo "<pre>";
print_r($result);
?>

网上的天气案例,我现有的WebSevice的<soap:address location>标签指向http://localhost/xxx,如何改成http://ip/xxx,然后再调用
...全文
454 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cRazy谢不清 2012-12-12
  • 打赏
  • 举报
回复
引用 2 楼 KtosMayCry 的回复:
比如上面的天气案例<soap:address location>的内容是 <soap:address location="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx" /> ,我现在是局域网内部的服务器是<soap:address location="http://loaclhos……
你是要调用别人发布出去的服务,在调用的时候,写入服务的地址就可以了。不是把他的xml文档复制下来,去调用。不然对方重新发布一边,你又得修改一遍本地的xml文件。如果你要做本地内部测试的话,你可以改成你机器的内网ip地址,把webService挂在你的IIS或apache之类的就可以访问了。
KtosMayCry 2012-12-11
  • 打赏
  • 举报
回复
比如上面的天气案例<soap:address location>的内容是 <soap:address location="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx" /> ,我现在是局域网内部的服务器是<soap:address location="http://loaclhost/xxxx" />,这样直接调用的话会无法解析,如何把webservice的内容改成<soap:address location="http://192.168.X.X/xxx" />,然后再拿来调用
xuzuning 2012-12-11
  • 打赏
  • 举报
回复
不明白是什么意思
xuzuning 2012-12-11
  • 打赏
  • 举报
回复
还是没理解你的意思 wsdl 中的内容是通讯的约定,是按规定的格式针对具体的 WebSevice 书写的 你总不能直接复制人家的 wsdl 作为你自己的 wsdl 吧?那里面的方法和数据结构能和你的 WebSevice 服务一样吗? 就打算是一样的,那么如 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 这样的串,至少要在 wsdl 中出现两次以上,要改都要改

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧