soap header身份认证 不带ns标签
生活随笔
收集整理的這篇文章主要介紹了
soap header身份认证 不带ns标签
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
最近在做跟華為esdk服務通信的項目,esdk提供了兩種方法,一種是soap,一種是native,關于native,因為是跟java語言通信交互,php需要安裝一個phpjavabriage的擴展,我倒是安裝成功了,但是不知道怎么用,只能遺憾的放棄了
最后只好選擇了soap的這鐘通信方式,我用的是php 5新帶的擴展,soapcelient,關于怎么使用我就不多說了網上有很多例子,我就直接把代碼貼出來了
<?php$client = new SoapClient("http://127.0.0.1:8086/esdk/services/ucProfessionalUserProfilePersonList?wsdl");//$client = new SoapClient(null, array('uri' => 'http://127.0.0.1:8086', 'location' => 'http://127.0.0.1:8086/esdk/services/ucProfessionalUserProfilePersonList', 'trace' => true));$auth = array('appId'=>'001280254192','password'=>'BF2CB58A68F684D95A3B78EF8F661C9A4E5B09E82CC8F9CC88CCE90528CAEB27');$header = new SoapHeader('http://localhost/soap.php','esdk',$auth,false,SOAP_ACTOR_NEXT);$client->__setSoapHeaders($header);echo'<pre>';print_r($header);print_r($client->__getFunctions());echo'</pre>'; $param = array('ucAccount' =>'144002'); //$result = $client->__soapCall('getPersonAllAddressBook', array('ucAccount' => $param)); $result = $client->getPersonAllAddressBook($param); 因為esdk必須經過身份驗證,在header里,一開始的時候 不知道為什么總是驗證失敗,我看賬號和密碼都是正確的,查遍了原因都找不出問題,后來返回了一下xml代碼($result = $client->getPersonAllAddressBook($param); ),發現,header里多了一個<ns1>的標簽,找到原因,新的問題又來了,<ns1>這個標簽該怎么刪除呢,直接用 __setSoapHeaders()函數肯定會是有<ns1>標簽的
感覺快要崩潰的時候,終于找到了,一個方法就是下面的方法:
不過在這里,只解決了header里的標簽問題,那么xml里的<body>里怎么也是有多余的標簽的,現在還影響,但是想改還是很困難,如果有同學知道怎么去掉或者修改<body>里的標簽,請告訴我,可以直接加我qq 或者我的qq郵箱都可以,在xia無限感謝
當然也可以直接在評論中回復 ?我的qq274480298
?最后我把我返回的xml數據貼出來給大家?
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="esdk_uc_professional_server" xmlns:ns2="NAME_SPACE" xmlns:ns3="DIFF_NAME_SPACE"><SOAP-ENV:Header><appId>001280254192</appId><password>BF2CB58A68F684D95A3B78EF8F661C9A4E5B09E82CC8F9CC88CCE90528CAEB27</password></SOAP-ENV:Header><SOAP-ENV:Body><ns1:queryStaffInfo><ucAccount>144002</ucAccount></ns1:queryStaffInfo></SOAP-ENV:Body></SOAP-ENV:Envelope>
轉載于:https://my.oschina.net/u/591525/blog/173233
總結
以上是生活随笔為你收集整理的soap header身份认证 不带ns标签的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术人员应该如何培养
- 下一篇: SystemCenterOperatio