는 로컬 파일에 WSDL을 저장 시도하고 생성자에서 ...
편집
$client = new SoapClient('/local/path/to/wsdlfile.wsdl');
것을 참조 : 파일 시스템을 사용하는 동안 HTTP 오류가 있어요, 당신이하고있는 뭔가 잘못 됐어 :-)
나는 이걸 스스로 시험해 보려고했는데 이것들이 내 대답이다. 참고 : 나는 문제뿐만 아니라 오렌지 서버에 연결 했어 ... 그들의 HTTPS 연결이 다소 냄새 나는 것을 수 있습니다
신선한 SoapClient 바르 - 덤프 :
$> php -r "var_dump(new SoapClient('https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl'));"
PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl' :
failed to load external entity "https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl"
in Command line code on line 1
PHP Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl' :
failed to load external entity "https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl"
in Command line code:1
Stack trace:
#0 Command line code(1): SoapClient->SoapClient('https://m2mconn...')
#1 {main}
thrown in Command line code on line 1
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl' :
failed to load external entity "https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl"
in Command line code:1
Stack trace:
#0 Command line code(1): SoapClient->SoapClient('https://m2mconn...')
#1 {main}
thrown in Command line code on line 1
Wget'ing을 WSDL :
$> wget https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl -O MSBC.wsdl
--19:41:45-- https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl
=> `MSBC.wsdl'
Resolving m2mconnect.orange.co.uk... done.
Connecting to m2mconnect.orange.co.uk[213.52.171.155]:443... connected.
Unable to establish SSL connection.
Unable to establish SSL connection.
가 브라우저를 통해 WSDL을 다운로드하고 사용하는 일이 :
$> php -r "$s = new SoapClient('MSBC2.wsdl');var_dump($s, $s->__getFunctions());"
object(SoapClient)#1 (2) {
["_soap_version"]=>
int(1)
["sdl"]=>
resource(6) of type (Unknown)
}
array(11) {
[0]=>
string(133) "int sendMessage(string $username, string $password, string $deviceMSISDN, string $message, boolean $deliveryReport, string $mtBearer)"
[1]=>
string(116) "ArrayOf_xsd_string getDeliveryReports(string $username, string $password, string $deviceMSISDN, string $countryCode)"
[2]=>
string(122) "ArrayOf_xsd_string readMessages(string $username, string $password, int $count, string $deviceMsisdn, string $countryCode)"
[3]=>
string(100) "boolean flushMessages(string $username, string $password, string $deviceMSISDN, string $countryCode)"
[4]=>
string(139) "ArrayOf_xsd_string waitForMessage(string $username, string $password, int $timeout, string $deviceMSISDN, int $msgref, string $countryCode)"
[5]=>
string(204) "int sendMessageWithValidityPeriod(string $username, string $password, string $deviceMSISDN, string $message, boolean $deliveryReport, string $mtBearer, string $binarySmsDcs, string $validityDaysHoursMins)"
[6]=>
string(164) "int sendBinarySmsMessage(string $username, string $password, string $deviceMSISDN, string $message, boolean $deliveryReport, string $mtBearer, string $binarySmsDcs)"
[7]=>
string(162) "ArrayOf_xsd_string sendAndWait(string $username, string $password, int $timeout, string $deviceMSISDN, string $message, boolean $deliveryReport, string $mtBearer)"
[8]=>
string(193) "ArrayOf_xsd_string sendBinarySmsAndWait(string $username, string $password, int $timeout, string $deviceMSISDN, string $message, boolean $deliveryReport, string $mtBearer, string $binarySmsDcs)"
[9]=>
string(122) "ArrayOf_xsd_string peekMessages(string $username, string $password, int $count, string $deviceMsisdn, string $countryCode)"
[10]=>
string(142) "ArrayOf_xsd_string getDeliveryReportsFromDate(string $username, string $password, string $deviceMSISDN, string $countryCode, string $fromDate)"
}
$>
유효한 세부 정보가 없으므로 메소드 중 하나를 호출 할 수 없습니다.
'시작 태그가 필요합니다', '<'를 찾을 수 없습니다 '는 분명해야합니까? 내가 다운로드 한 소스 코드를 보면 거기에 오류가있을 수 있습니다. –