2012-03-13 13 views
0

PHP(5.3.5)を使用してwsdlを使用してWebサービス(JAX-WS)にアクセスしようとしています。 PHP SoapClientが認証付きSOAPメソッドを呼び出す

class insoapauth 
{ 
    public $Username; 
    public $Password; 

    public function __construct($username, $pass) 
    { 
     $this->Username = $username; 
     $this->Password = $pass; 
    } 
} 
$client = new SoapClient("http://192.168.124.11:8080/cx-subscriberdata/CXSubscriberAdmin?wsdl", array("login" => "SOAPDW", "password" => "[email protected]")); 

    // Create the header 
    $auth   = new insoapauth("SOAPDW", "[email protected]"); 
    $header  = new SoapHeader("http://192.168.124.11:8080/cx-subscriberdata/CXSubscriberAdmin", "APICredentials", $auth, false); 
try { 

    $result = $client->__soapCall("getDataWS", array( 
    "CrmSearchInformation" => array( 
     "searchKeyValue"  => "93700801021"   
    ) 
)); 

    echo("<br/>Returning value of __soapCall() call: ".$result); 

}catch(SoapFault $exception) 
{ 
    print_r("Got issue:<br/>") ; 
    var_dump($exception); 
} 

が代わりに私がSoapHeaderはを使用してメソッド呼び出しながら、それを供給別の方法を試してみました:以下は、私が使用していたコードです。しかし、私はいつもにSoapFault例外を取得しています:

にSoapFault例外:[HTTP] Cでホストに接続できませんでした

詳細は例外ホストに接続できませんでした:[内部関数]:SoapClient - > _ doRequest( ' _soapCall(' getDataWS '、 配列)#2 {main }

しかし、soapUIを使用すると、soapseverに接続でき、同じ資格情報でsoapmethodを呼び出すことができます。 はWSにアクセスするためのいくつかのサンプルコードです続き - 私はそれが、マニュアルが付属しているJavaベースでだと思う:

INBeanService service = new INBeanService(); 
CXINWS wsPort = service.getCXINWSPort(); 
String username = "crmtestuser"; 
String password = "crmpassword"; 
BindingProvider bp = (BindingProvider) wsPort; 
bp.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, username); 
bp.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, password); 
try { 
CrmSearchInformation crmSearchInfo = new CrmSearchInformation(); 
crmSearchInfo.setSearchKeyValue(msisdn); 
CrmSearchResult result = wsPort.getDataWS(crmSearchInfo); 
//handle result 
System.out.println("Result state: " + result.getSearchResultState()); 
} catch (NxWsException e) { 
// handle exceptions 
} 

誰が私に私が認証してPHPからWSDL Webサービスにアクセスする方法をいくつかの光を示していただけますか?

私はので、キャッシュされたWSDLの前に、このエラーがあった

答えて

0

は...キャッシュを無効にしてみてください:これらの設定だから、here

+0

ini_set('soap.wsdl_cache_enabled',0); ini_set('soap.wsdl_cache_ttl',0); 

ドキュメント、あなたは私のコードは大丈夫ですと言っていますか? – marifrahman

+0

いいえ、まだ運がない:| – marifrahman

+0

私を助けてくれる人は誰もいませんか? – marifrahman

関連する問題