2010-06-19 3 views
0

Visual Studio 웹 서비스 프로젝트에서 자동으로 생성되는 Hello World C# ASP .NET 웹 서비스가 있습니다. PHP 클라이언트에서 호출하고 싶습니다. 어떻게하는지 알 수 있습니까? 사람이 작은 코드 예제를 제공 할 수 있는지 더 나은 ... 그래서이 작업을 수행하기 어려운 찾는 웹 서비스의 깊이 이해없이 PHP에서 많은 경험을 해달라고하고 ..PHP 클라이언트에서 C# .NET 웹 서비스를 호출하는 방법

감사

답변

1

PHP는 동적 언어이므로 매우 간단합니다. 라이브러리 (SoapUI)와 WSDL 만 있으면됩니다. 웹 서비스의 위치 (URL)가있는 경우? WSDL을 URL 끝에 추가하면 정의가 생깁니다. 그런 다음 그곳에서 서비스를 호출하는 것입니다. http://www.soapui.org/

+0

감사합니다. 나는 웹 서비스의 URL을 가지고 있고 soapui도 설치했다. require_once ('libs/nusoap.php')가 무슨 뜻인지 알 수 있습니까? 'libs/nusoap.php'경로를 찾을 수 없으며 다음과 같은 오류가 발생합니다. C : \ wamp \ www \ hello.php의 6 행에 'libs/nusoap.php'(include_path = '.; C : \ php5 \ pear')가 필요하지 않습니다. – chathuradd

+0

알았습니다. nusoap을 비누 클라이언트 라이브러리로 사용하고 있습니다. 다음을 사용하여 웹 서비스의 HelloWorld 메소드를 호출하려고 시도했습니다. require_once ('lib/nusoap.php'); \t \t $ wsdl = "http : // localhost : 64226/Service1.asmx? wsdl"; \t \t $ client = new soapclient ($ wsdl, 'wsdl'); \t \t \t \t echo $ client-> call ('HelloWorld'); 그러나 "Hello World"출력을 반환하지 않습니다. 대신 "Array"라는 단어를 인쇄합니다. 어떤 생각? 나는 이것이 내가 묻는 가장 기본적인 질문 일 것임을 알고있다 :) – chathuradd

+0

미안하지만, PHP4에 익숙하다. PHP5를 가지고 있다면 더 좋은 해결책이 될 것이다. SoapClient가 내장되어있다. 예제 코드는 다음과 같이 실행됩니다 : [PHP 클라이언트] SayHello (새 SayHello()); echo $ result-> SayHelloResult; ? > [ASMX 서비스] [의 WebMethod] 공공 문자열의 sayHello (문자열 이름) { 반환 "안녕하세요"+ 이름; } – Benny

1

그것은 SOAP 웹 서비스입니다 가정하면, 너 해야 그냥 정상 php SOAP library 사용할 수 있습니다. 이제는 SOAP 이식성이 내 경험에 깨지는 것은 아니기 때문에 특히 빈 배열이 어떻게 작동하는지 테스트 해보아야한다.하지만 좋은 출발점이되어야한다.

문서가 링크가 잘되어 보이지만 "PHP SOAP 자습서"를 검색하면 단계별로 많은 도움을 얻을 수 있습니다.

다른 옵션은 nusoap입니다. 어떤 구현이 더 좋은지에 대해서는 언급 할 수 없다.

+0

감사 :

<?php require_once('libs/nusoap.php'); $wsdl="http://thedomain.com/theservice/endpoing.svc?wsdl"; $client=new soapclient($wsdl, 'wsdl'); $param=array('number1'=>'2', 'number2'=>'3'); echo $client->call('add', $param); ?> 

현재 라이브러리를 찾을 수 있습니다. 고맙습니다. – chathuradd

관련 문제