duandou8120 2015-04-22 12:20
浏览 35

用于https URL的PHP​​ SOAP

I am consuming a WCF service where everything works fine with Test URL http://domain.com/service.svc?wsdl. I get the following error in the production system with URL https://domain.com/service.svc?wsdl

Error Received in the Response:

The message with To '' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree.

The IP address of the client server is white listed and I am authorized to send API request. I confirmed this with the Vendor too. I was also said it might be a problem with HTTPS

Here is the SOAP request:

$data = array('UserName'=>$username,'Password'=>$password,'IPAddress'=>$ip,'searchCriteria'=>$search);

$params  = array("soap_version"=> SOAP_1_2,
            "trace"=>1,
            "exceptions"=>0
            );

$client = new SoapClient('https://api.malindoair.com/GQWCF_FlightEngine/FlightBookingService.svc?wsdl',$params);

$actionHeader = new SoapHeader('http://www.w3.org/2005/08/addressing','Action','http://tempuri.org/IFlightBookingService/SearchFlight');

$client->__setSoapHeaders($actionHeader);

$retval = $client->SearchFlight($data); 

I do not want to try nusoap because the test environment is working fine.

  • 写回答

0条回答 默认 最新

    报告相同问题?