2011-02-17 4 views
1

PHP에서 Classic ASP 웹 서비스를 호출하려고합니다.PHP에서 Classic ASP 웹 서비스 호출

<% 
    Response.Buffer = True 
    Response.ContentType = "text/xml" 

    Set xmldom = Server.CreateObject("Microsoft.XMLDOM") 
    Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP") 

Sub Test() 
    returnXML = "" 
    returnXML = returnXML & "<SOAP:Envelope xmlns:SOAP=""urn:schemas-xmlsoap-org:soap.v1"">" 
    returnXML = returnXML & "<SOAP:Body>" 
    returnXML = returnXML & "<message>" 
    returnXML = returnXML & "<theword>Hello</theword>" 
    returnXML = returnXML & "</message>" 
    returnXML = returnXML & "</SOAP:Body>" 
    returnXML = returnXML & "</SOAP:Envelope>" 

    Response.Write(returnXML)  
End Sub 

    Set xmldom = Nothing 
    Set xmlhttp = Nothing 
%> 

내가 비 WSDL 모드에서 PHP에서이 서비스를 호출 할 : 여기

는 서비스입니다. 어떻게해야합니까? 서비스 내에서 특정 기능을 호출하려면 어떻게해야합니까?

<?php 
    $client = new SoapClient(
       null, array(
         'location' => "http://server/folder/server.asp", 
         'uri'  => "http://test-uri/", 
         'style' => SOAP_DOCUMENT, 
         'use'  => SOAP_LITERAL, 
         'trace'=>1 
        ) 
     ); 

     $result = $client->Test(); 
     $client->__getLastResponse(); 
?> 

감사합니다 ...

+0

서버와 클라이언트를 제어 할 수 있고 ASP와 PHP 인 경우 SOAP 대신 자신의 통신 API를 사용하는 것이 가장 좋은 이유는 무엇입니까? 또한 고전적인 ASP SOAP 웹 서비스를위한 라이브러리가 있습니다. – mellamokb

답변

0

$client->__soapCall()를 사용해보십시오 : : 여기

내가 PHP에서 서비스를 호출하는 것을 시도하고 어떻게 http://us3.php.net/manual/en/soapclient.soapcall.php.

비 WSDL 모드에서 직접 메서드 호출을 사용할 수 있다고 생각하지 않습니다.

편집 :

는 또한, .ASP에서 웹 서비스가 콘텐츠를 반환하지 않습니다. webservice는 실제로 서버에서 Test()와 같은 메서드를 호출하지 않습니다. SOAP은 호출 및 매개 변수의 언어 독립적 통신을위한 프로토콜 일뿐입니다. 서버는 실제로 전화를 걸어 적절한 방법으로 적용해야합니다.

+0

고마워요. 나는 이것을 시도했지만 여전히 성공하지 못했습니다. – Eric