如何创建PHP SOAP请求来调用ColdFusion中实现的Web服务

时间:2014-10-21 21:09:04

标签: php web-services soap coldfusion soap-client

我在ColdFusion中实现了Web服务。我试图使用PHP调用该Web服务。但是得到错误。

有人可以帮助我在php中准备SAOP请求吗?下面是SOAP UI中的xml请求。

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://localhost:8501/webservice">
   <soapenv:Header/>
   <soapenv:Body>
      <web:ASK soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
   		<AgentID> 1 </AgentID> 
 		<Passwd> 12345 </Passwd> 
          <TransactionNumber >XXX </TransactionNumber > 
          <Sign >XXX </Sign > 
</soapenv:Body>
</soapenv:Envelope>

我在php中使用了以下代码

$ soapUrl =“http://domain.com/webservice/transaction.cfc?WSDL”; // asmx WSDL的URL         

$xml_post_string = '<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://localhost:8501/webservice">
                        <soapenv:Header/>
                        <soapenv:Body>
                           <web:ASK soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                                     <AgentID> 1 </AgentID> 
                                     <Passwd> 12345 </Passwd> 
                               <TransactionNumber >XXX </TransactionNumber > 
                               <Sign >XXX </Sign > 
                     </soapenv:Body>
                     </soapenv:Envelope>';

    $xml_array['AgentID'] = '1';
    $xml_array['Passwd'] = "12345";
    $xml_array['TransactionNumber'] = "XXX";


    $client = new SoapClient($soapUrl, array( 'soap_version'=>SOAP_1_1, 'trace'=>1));

    $xml=   $client-> ASK($xml_array,$soapUrl,"POST",0);
 (OR) 
    $xml=   $client-> ASK($xml_post_string ,$soapUrl,"POST",0);

              print "<pre>";
             print_r($xml);
             print "</pre>";
    ?>

在两种情况下都返回错误

致命错误:未捕获的SoapFault异常:[Server.userException] C:\ xampp \ htdocs \ webservice \

中没有此类操作'ASK'

0 个答案:

没有答案