2017-01-05 8 views
0

테스트 웹 서비스를 사용하기 위해 PHP 클라이언트를 사용하고 있습니다. 원시 PHP 비누 클라이언트와 nusoap 라이브러리로 코드를 작성했지만 동일한 오류가 발생합니다.SOAP 클라이언트 PHP 오류 : SOAP-ENV : 서버; 'functionName'프로 시저가 없습니다.

작업의 응답입니다 : 내가 $ 클라이언트를 사용하는 경우

[faultcode] => SOAP-ENV:Server

[faultstring] => Procedure 'xxx' not present

-> __ getFunctions을()이 제대로 기능을 보여줍니다,하지만 난 잘못을 이해하지 못하고, 많은 사이트에서 비활성화 WSDL 캐싱을 권장합니다 , 그러나 아직도이 변화로 실패.

WSDL 파일 사용, 웹 서비스 및 이미지 폴더의 PHP 코드 : 함수 응답의 https://drive.google.com/open?id=0BxjxYDI011PdNzBBYlBza1VBY0E

목록 (NO 라이브러리) : 이미지 이름 : native.png

Nusoap 응답 (호출 기능) : 이미지 이름 : response.png

또한 SoapUI로 테스트하지만이 상태와 동일한 응답을 얻습니다. HTTP/1.1 500 내부 서비스 오류

'

내 코드 오류, WSDL 정의가 있는지 알 필요가

(내가 돈 ... 이 http://www.xignite.com/xquotes.asmx?WSDL 다음 코드가 올바른 것 같다,하지만 :

나는 아무런 문제없이이 웹 서비스와 해당 클라이언트를 테스트 서버에 대한 모든 액세스,이 파일 만) 또는 다른 어떤 정보라도 고맙게 생각합니다.

답변

0

요청에 대한 response.png에서 SOAPAction은 'http : // ...'(서비스를 가리킴)이 아닌 'getBankList'를 가리켜 야합니다. 코드에서이 위치를 설정하는 위치를 모르겠지만 SOAPAction은 실제 실행중인 서비스가 아닌 wsdl : service name = ""값을 가리켜 야합니다.

또한 xignite WSDL을 보면 getBankList 함수가 없으며 실제로는 'Bank'라는 단어가 전혀 없습니다. 올바른 WSDL을 가리키고 있습니까?

HTH, 짐