soap對象phpjava編碼
介面方要xml但是 我用xml資料過不去 一直是 “未將對象引用設定到對象的執行個體。" ,只有用xml再轉對向才有傳回值 但是好像介面方沒有收到參數 "報文頭集團基本資料不完整,集團編碼、使用者、密碼為必填”
ini_set("soap.wsdl_cache_enabled", "0");
header("content-type:text/html;charset=utf-8");
$url = 'http://221.179.7.250/NGADCInfcText/NGADCServicesForEC.svc?wsdl'; $client = new \SoapClient($url,array( 'soap_version'=>SOAP_1_1, 'trace'=>1, 'classmap' => array('Person' => "Person", 'PersonList' => "PersonList"))); $client->soap_defencoding = 'utf-8'; $client->decode_utf8 = false; $client->xml_encoding = 'utf-8'; $arr = array( 'OrigDomain' => 'NGEC', 'BIPCode' => 'EC0001', 'BIPVer' => 'V1.0', 'TransIDO' => 'NG'.rand(11,99).date('YmdHis',time()).rand(1,9), 'Areacode' => 'GZ', 'ECCode' => '200000426', 'ECUserName' => 'yangjie@2002219673', 'ECUserPwd' => md5('a3spmr3c'), 'ProcessTime'=> date('YmdHis',time()), );
$xml = new \SimpleXMLElement ( '' );
$this->_data2xml ( $xml, $arr );
$str = $xml->asXML ();
// $xml = $this->array2xml($arr);
// //xml轉為對像
// $dom = new \domDocument;
// $dom->loadXML($xml);
// $obj = simplexml_import_dom($dom);
// echo '
';
// print_r($client->getFunctions()) ;
// print_r($client->getTypes()) ;dump($str);
$res =$client-> __Call('AdcServices',array(array('NGEC'=>$str)));
這是我寫的方法