POST /xxxxxxxxxxxx/ws/commonservice.asmx HTTP/1.1
Host: 202.82.66.147
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://xxxxxxxxxxxxxx/webservices/queryVoyageRoute_onWeb"
---------------------------------------------------------------------------------------
返回:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
-----------------------------------------------------------------------------------
<?php$client = new SoapClient('http://xxxxxxxxxxxxx/ws/commonservice.asmx?WSDL');//这个SOAP地址要换成你自己的$client->soap_defencoding = 'utf-8'; $client->decode_utf8 = false; $client->xml_encoding = 'utf-8'; $setoffdate=array(0=>"setoffdate",1=>"2014-02-10"); $fromportcode=array(0=>"fromportcode",1=>"SK");$toportcode=array(0=>"toportcode",1=>"ZH");$parameters=array(0=>$setoffdate,1=>$fromportcode,2=>$toportcode);$param = array(0=>$parameters,1=>"SKG",2=>"E");//$param["param1"]="01";//$param["param2"]="02";//$result = $client->__soapCall("GetArticle", array( $param ));$result = $client->__Call("queryVoyageRoute_onWeb", array( $param ));if (is_soap_fault($result)){ trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);}else{ $data = $result->queryVoyageRoute_onWebResult ; //这里返回的是类,必须使用->得到元素的值 print_r($data); //$city_xml = simplexml_load_string($city); }?>
提示错误:
Notice: Undefined property: stdClass::$queryVoyageRoute_onWebResult in D:\xampp\htdocs\WS\index.php on line 21
如何传参数过去类型不对?要怎么传过去呢?
回复讨论(解决方案)
你先检查 queryVoyageRoute_onWebResult 是否拼写错误
没错则:
print_r($result); 看看结果
如果结果不包含期望内容
则检查传递的参数是否正确
由于没有看到你的 WSDL,所以不知道正确的参数该如何写
参数应是一个关联数组(关联键是WSDL),可能还是多维的
而你的是一个多维的下标数组
我已经搞定了,把参数名加进去就可以。
$param = array('parameters'=>$parameters,'portcompanyCode'=>"SKG",'lang'=>"C");
但是,中文调出来的出现一片乱码,怎么能知道,他是用哪种编码呢?
???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)JLFZ???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)SJCD???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)XYLC???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)SKWEB???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)AYGJ???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)SHYG???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)BZLY???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)LHMT???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)STSJD???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)QSHK???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)KBSJ???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)YGJD???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)WYN???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)HGJD???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)TGGY???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)ZNHY???娓???捣涔?床娓?SKZH娴? ??KKJ2014-02-10 07:30MSK-ZH?????(65)缍????(27)?????(0)璐靛???(12)MHZX
SOAP 嘛,当然是 utf-8 的啦
航班信息?
SOAP 嘛,当然是 utf-8 的啦
航班信息?
$client->xml_encoding = 'utf-8';
此处不是已经xml_encoding = 'utf-8'; 了吗?为何还是乱码?
SOAP 嘛,当然是 utf-8 的啦
航班信息?
搞定了,请版本帮我把3楼的回复给删除,谢谢。
header("content-type:text/html;charset=utf-8");
没错,是 utf-8 的
你当 gbk 显示当然就乱码了
没错,是 utf-8 的
你当 gbk 显示当然就乱码了
版主,麻烦你再看看,为何,我想print_r个别的列的表值不行呢?全部是SimpleXMLElement Object ( )
上面的多了一个.
print_r($child->toport).;
用 simplexml_load_string 加载得到的都是 SimpleXMLElement 对象
具体要如何分析要是具体的数据而定
你可以贴出 $result 并说明需求
页面结果:
蛇口港?仔客运码头SKMAC金星JX2014-02-10 09:30MSK-MAC普通位(28)头等位(5)特等位(8)SKG蛇口港?仔客运码头SKMAC金星JX2014-02-10 09:30MSK-MAC普通位(28)头等位(5)特等位(8)XYLC蛇口港?仔客运码头SKMAC金星JX2014-02-10 09:30MSK-MAC普通位(28)头等位(5)特等位(8)SHYG蛇口港?仔客运码头SKMAC金星JX2014-02-10 09:30MSK-MAC普通位(28)头等位(5)特等位(8)SJCD蛇口港?仔客运码头SKMAC金星JX2014-02-10 09:30MSK-MAC普通位(28)头等位(5)特等位(8)BAKY蛇口港?仔客运码头SKMAC金星JX2014-02-10 09:30MSK-MAC普通位(28)头等位(5)特等位(8)ZYJD蛇口港?仔客运码头SKMAC金星JX2014-02-10 09:30MSK-MAC普通位(28)头等位(5)特等位(8)YJGY
结果源文件:
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"><NewDataSet xmlns=""><Table diffgr:id="Table1" msdata:rowOrder="0"><FROMPORT>蛇口港</FROMPORT><TOPORT>?仔客运码头</TOPORT><FPORTCODE>SK</FPORTCODE><TPORTCODE>MAC</TPORTCODE><SHIP>金星</SHIP><SHIPCODE>JX</SHIPCODE><SETOFFTIME>2014-02-10 09:30</SETOFFTIME><SELLSTATUS>M</SELLSTATUS><LINECODE>SK-MAC</LINECODE><TICKETNUM>普通位(28)头等位(5)特等位(8)</TICKETNUM><CLIENTCODE>SKG</CLIENTCODE></Table><Table diffgr:id="Table2" msdata:rowOrder="1"><FROMPORT>蛇口港</FROMPORT><TOPORT>?仔客运码头</TOPORT><FPORTCODE>SK</FPORTCODE><TPORTCODE>MAC</TPORTCODE><SHIP>金星</SHIP><SHIPCODE>JX</SHIPCODE><SETOFFTIME>2014-02-10 09:30</SETOFFTIME><SELLSTATUS>M</SELLSTATUS><LINECODE>SK-MAC</LINECODE><TICKETNUM>普通位(28)头等位(5)特等位(8)</TICKETNUM><CLIENTCODE>XYLC</CLIENTCODE></Table><Table diffgr:id="Table3" msdata:rowOrder="2"><FROMPORT>蛇口港</FROMPORT><TOPORT>?仔客运码头</TOPORT><FPORTCODE>SK</FPORTCODE><TPORTCODE>MAC</TPORTCODE><SHIP>金星</SHIP><SHIPCODE>JX</SHIPCODE><SETOFFTIME>2014-02-10 11:00</SETOFFTIME><SELLSTATUS>M</SELLSTATUS><LINECODE>SK-MAC</LINECODE><TICKETNUM>普通位(42)头等位(31)特等位(0)</TICKETNUM><CLIENTCODE>YJGY</CLIENTCODE></Table><Table diffgr:id="Table43" msdata:rowOrder="42"><FROMPORT>蛇口港</FROMPORT><TOPORT>?仔客运码头</TOPORT><FPORTCODE>SK</FPORTCODE><TPORTCODE>MAC</TPORTCODE><SHIP>迅隆5</SHIP><SHIPCODE>XL5</SHIPCODE><SETOFFTIME>2014-02-10 11:00</SETOFFTIME><SELLSTATUS>M</SELLSTATUS><LINECODE>SK-MAC</LINECODE><TICKETNUM>普通位(42)头等位(31)特等位(0)</TICKETNUM><CLIENTCODE>SKXRD</CLIENTCODE></Table><Table diffgr:id="Table44" msdata:rowOrder="43"><FROMPORT>蛇口港</FROMPORT><TOPORT>?仔客运码头</TOPORT><FPORTCODE>SK</FPORTCODE><TPORTCODE>MAC</TPORTCODE><SHIP>迅隆5</SHIP><SHIPCODE>XL5</SHIPCODE><SETOFFTIME>2014-02-10 19:00</SETOFFTIME><SELLSTATUS>M</SELLSTATUS><LINECODE>SK-MAC</LINECODE><TICKETNUM>普通位(148)头等位(7)特等位(8)</TICKETNUM><CLIENTCODE>SCP</CLIENTCODE></Table></NewDataSet></diffgr:diffgram>
用 simplexml_load_string 加载得到的都是 SimpleXMLElement 对象
具体要如何分析要是具体的数据而定
你可以贴出 $result 并说明需求
我只想print_r:FROMPORT、TOPORT、SETOFFTIME的字段信息
$key = array('FROMPORT', 'TOPORT', 'SETOFFTIME');foreach($obj_xml->NewDataSet->Table as $item) { foreach($key as $k) { $t[$k] = strval($item->$k); } $res[] = $t;}print_r($res);
Array( [0] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 09:30 ) [1] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 09:30 ) [2] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 11:00 ) [3] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 11:00 ) [4] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 19:00 ))
$key = array('FROMPORT', 'TOPORT', 'SETOFFTIME');foreach($obj_xml->NewDataSet->Table as $item) { foreach($key as $k) { $t[$k] = strval($item->$k); } $res[] = $t;}print_r($res);
Array( [0] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 09:30 ) [1] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 09:30 ) [2] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 11:00 ) [3] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 11:00 ) [4] => Array ( [FROMPORT] => 蛇口港 [TOPORT] => ?仔客运码头 [SETOFFTIME] => 2014-02-10 19:00 ))
谢谢版主,麻烦版主把8楼的回复给删除,我一会结贴。

PHP在现代编程中仍然是一个强大且广泛使用的工具,尤其在web开发领域。1)PHP易用且与数据库集成无缝,是许多开发者的首选。2)它支持动态内容生成和面向对象编程,适合快速创建和维护网站。3)PHP的性能可以通过缓存和优化数据库查询来提升,其广泛的社区和丰富生态系统使其在当今技术栈中仍具重要地位。

在PHP中,弱引用是通过WeakReference类实现的,不会阻止垃圾回收器回收对象。弱引用适用于缓存系统和事件监听器等场景,需注意其不能保证对象存活,且垃圾回收可能延迟。

\_\_invoke方法允许对象像函数一样被调用。1.定义\_\_invoke方法使对象可被调用。2.使用$obj(...)语法时,PHP会执行\_\_invoke方法。3.适用于日志记录和计算器等场景,提高代码灵活性和可读性。

Fibers在PHP8.1中引入,提升了并发处理能力。1)Fibers是一种轻量级的并发模型,类似于协程。2)它们允许开发者手动控制任务的执行流,适合处理I/O密集型任务。3)使用Fibers可以编写更高效、响应性更强的代码。

PHP社区提供了丰富的资源和支持,帮助开发者成长。1)资源包括官方文档、教程、博客和开源项目如Laravel和Symfony。2)支持可以通过StackOverflow、Reddit和Slack频道获得。3)开发动态可以通过关注RFC了解。4)融入社区可以通过积极参与、贡献代码和学习分享来实现。

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境