SOAP PHP에서 포트를 어떻게 선택합니까? TravelPort를 GDS로 사용하여 여행 예약 웹 사이트를 개발 중입니다. 방금 WSDL을 살펴 보았고 PHP로 서버를 호출하기 위해 WSDL을 사용하려고합니다. 나는 그것을 할 수 없다. 나는 서버가 작동한다는 것을 알고 있습니다. 왜냐하면 요청을 만들어서 cURL을 통해 보내면 기대하고있는 응답을 얻게 될 것이기 때문입니다. 그러나 자신의 메시지를 사용하고 적응함으로써 sample code (기밀 유지 계약을 수락 한 다음 "샘플 코드"를 클릭하십시오.), 나는 아무데도 가지 않을거야.PHP WSDL에서 포트 이름을 지정하는 방법
SOAP PHP 모듈이 생성하는 요청을 살펴보면 잘못된 함수가 사용되는 것이 문제라고 생각합니다. 나는 전체 WSDL을 공개 할 수 있다고 생각하지 않습니다, 그러나 여기에서 발췌 한 것입니다
<!-- Service -->
<service name="AirService">
<port name="AirRepriceSearchPort"
binding="tns:AirRepriceSearchBinding">
<soap:address
location="http://localhost:8080/kestrel/AirService" />
</port>
<port name="AirScheduleSearchPort"
binding="tns:AirScheduleSearchBinding">
<soap:address
location="http://localhost:8080/kestrel/AirService" />
</port>
<port name="AirLowFareSearchPort"
binding="tns:AirLowFareSearchBinding">
<soap:address
location="http://localhost:8080/kestrel/AirService" />
</port>
은 분명히 스크립트가 항상 AirReprice 모듈 대신 LowFareSearch 모듈을 기반으로 요청을 생성가. 사실, WSDL을 편집하고 첫 번째 요소로 "AirLowFareSearchPort"를 넣으면 요청이 작동합니다.
내가 시도한 다음
$client->AirLowFareSearchPort($data)
를 사용하여 걸리지 만 유효한 기능하지 않습니다 할 작업을 지정; . "서비스"
:
나는 $client->__getfunctions()
를 사용하여 모든 기능을 가지고
[0]=>
string(48) "AirRepriceRsp service(AirRepriceReq $parameters)"
[1]=>
string(56) "ScheduleSearchRsp service(ScheduleSearchReq $parameters)"
[2]=>
string(54) "LowFareSearchRsp service(LowFareSearchReq $parameters)"
[3]=>
string(66) "LowFareSearchAsynchRsp service(LowFareSearchAsynchReq $parameters)"
는하지만하지 않습니다 어디 괄호 안에 물건을 넣을거야.
다른 아이디어가 없습니다. 바라기를 당신은 도울 수있을 것이다!
업데이트 : 나는 그것이 문제를 노출 this article을 발견했습니다
. 그러나 PHP 웹 서비스라는 자체 모듈을 참조합니다. SOAP로 같은 일을해야합니다. 정말 도움이 필요합니다.