2013-01-10 31 views
8

Nhanh chóng, Bạn sẽ kiểm tra xem kết nối của bạn với máy chủ xà phòng có thực sự đang kết nối không?Kiểm tra xem kết nối xà phòng có hoạt động không

tôi có mã này:

$m_wsdl = "https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl"; 
    try { 
     $client = new SoapClient($m_wsdl); 

     $this->m_messages = $client->peekMessages('','',10,""); 
    } catch (Exception $e) { 

     echo "Exception: \n" . $e->getMessage() . "\n"; 
    } 

    $this->do_parse_xml(); 

Rõ ràng tên truy cập và mật khẩu của tôi là trong lĩnh vực peekmessages nơi họ nên được, và họ đều sửa tôi chắc chắn 100%.

Vì lý do nào đó, nó không trả về bất kỳ dữ liệu nào và tôi không biết cách kiểm tra xem kết nối có thực sự hoạt động không?

Im nhận không có trường hợp ngoại lệ được echo'd

Nhờ sự giúp đỡ

Trả lời

2

Sử dụng isSoapFault()http://php.net/manual/en/function.is-soap-fault.php

Ngoài ra, phương pháp peekMessages có lẽ sẽ trở false hoặc một SoapFault.

Bạn cũng có thể thiết lập Exceptions true trên SoapClient

+0

Tại sao peekMessages sẽ trả về một lỗi hay sai? Cảm ơn –

+0

Nhiều hàm PHP có kiểu trả về hỗn hợp. Bằng cách đó bạn có thể làm một cái gì đó như 'if ($ client -> $ peekMessages) {blah blah blah}'. –

Các vấn đề liên quan