2011-02-17 16 views
1

PHPからClassic ASP Webサービスを呼びたいと思っています。ここでPHPからClassic ASP Webサービスを呼び出す

はサービスです。

<% 
    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 Webサービスのためのライブラリがあります。 – mellamokb

答えて

0

$client->__soapCall()を使用してみてください:ここで

は、私はPHPからサービスを呼び出すしようとしている方法ですhttp://us3.php.net/manual/en/soapclient.soapcall.php

非WSDLモードで直接メソッド呼び出しを使用できるとは思いません。

編集:

はまた、.aspファイルでWebサービスは、任意のコンテンツを返していません。 Webサービスは実際にはサーバー上でTest()のようなメソッドを呼び出すことはありません。 SOAPは、呼び出しとパラメータの言語に依存しない通信のためのプロトコルにすぎません。サーバーは実際に電話をかけて、適切な方法にそれを適用する必要があります。

+0

ありがとう...私はこれを試みたが、私はまだ成功していない。 – Eric

関連する問題