2013-04-10 3 views
0

나는이 SOAP 개념 전체에 익숙하지 않으므로 오류가 발생했을 때 무엇을 찾아야할지 전혀 모른다. 기본적으로 다른 회사의 일부 데이터를 가져 오려고합니다. 그 회사는 나에게 디지털 인증서와 xsd & wsdl 파일을 보내고 내 서버의 IP를 물어 보았습니다. 그래서 그들은 화이트리스트를 작성할 수있었습니다. 앞서 언급했듯이, 나는 그들이 내게 준 파일을 어떻게 처리해야할지 모르겠다. 그래서 나는 그것을 내 서버에 업로드했다. 그리고 나는 인터넷 검색을 시작했다. 그리고 나는 다음 코드를 붙여 넣었다. 의미) :SoapFault를 던지는 PHP의 SoapClient 예외 : [HTTP] Forbidde

$protected_url = "http://www.myurl.com/WSDLFILE.wsdl"; 
$my_cert_file = "http://www.myurl.com/CERTFILE.pem"; 
$client = new SoapClient($protected_url, array('local_cert'=> $my_cert_file,'trace'=>1)); 

$params->Affiliate->AffiliateID = 555; 
$params->Address->AddressLine = "123 Main Street"; 
$params->Contact = 'No'; 

$result = $client->QueryAddress($params); 

그리고 나는 다음과 같은 오류를 얻을

[10-Apr-2013 18:59:46 America/New_York] PHP Fatal error: Uncaught SoapFault exception: [HTTP] Forbidden in /home/mysite/index.php:15 
Stack trace: 
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://secure....', 'http://www....', 1, 0) 
#1 /home/mysite/index.php(15): SoapClient->__call('QueryAddress', Array) 
#2 /home/mysite/index.php(15): SoapClient->QueryAddress(Object(stdClass)) 
#3 {main} 
    thrown in /home/mysite/index.php on line 15 

그것은 심지어 내가 지금 어떤 지침 감사, 찾고 있어요 알고 해달라고 때문에 도움말을 검색 할 수 종류의 어려운

편집 : 나는 또한 내가 실제로 성공적인 입술을 얻을 수 있다고 덧붙여 야합니다. cURL을 사용하고 "CURLOPT_SSLCERT"옵션을 설정하여 ponse하지만 SOAP를 사용해야합니다.

+0

같은 것을 끝난 자신의 WSDL URL을 참조했다 [\ [HTTP \]도 403로 알려져 금지] (http://www.checkupdown.com/status/E403. html) –

+0

해결 : 내 문제는 .wsdl 파일을 사용하는 방식이었습니다. SoapCleint를 만들 때 제공 한 파일을 업로드해야한다고 생각했지만 그렇지 않았습니다. 내가 필요한 것은 "https : //....asmx? WSDL"과 같이 끝난 wsdl url을 참조하는 것이 었습니다. – jagers757

답변

0

(의견에 대한 답변. 커뮤니티 위키 답변으로 변환되었습니다. 영업 쓴)

Question with no answers, but issue solved in the comments (or extended in chat)를 참조하십시오

해결 : 내 문제는 내가 .wsdl 파일을 사용하던 방법이었다. SoapClient를 만들 때 제공 한 것을 업로드해야한다고 생각했지만, 그렇지 않았습니다. 내가 필요한 것은 https:......asmx?WSDL