Sorun php / NuSOAP ile WCF web hizmeti tüketen

0 Cevap php

Ben tüm harici webcoder güveniyor 3 istemci siteleri var. Webcoder ColdFusion sunucu üzerinde olması için kullanılır, ama sadece bir. NET sunucu üzerinde değişti. Müvekkilim kod artık çalışıyor ve bunu sabitleme herhangi bir şans sahip değilim. İstemci siteleri webservice aramak için php ve kullanım NuSOAP vardır.

Ben bunu yapmak için kullanılan gibi wsdl kullanarak, bu testi kurmak:

<?php
// Call the nuSOAP library 
require_once('/home/realtywest/www/lib/nusoap.php');

// Create the client instance
$client = new soapclientnusoap('http://webservices.reiwa.com/RMHPServices/ListingsService.svc?wsdl', true);

// Check for an error
$err = $client->getError();
if ($err) {
    // Display the error
    echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
    // At this point, you know the call that follows will fail
}

// Call the SOAP method
$result = $client->call('getListingDetail', array('ListingNumber' => 3000975));

// Check for a fault
if ($client->fault) {
    echo '<h2>Fault</h2><pre>';
    print_r($result);
    echo '</pre>';
} else {
    // Check for errors
    $err = $client->getError();
    if ($err) {
        // Display the error
        echo '<h2>Error</h2><pre>' . $err . '</pre>';
    } else {
        // Display the result
        echo '<h2>Result</h2><pre>';
        print_r($result);
    echo '</pre>';
    }
}
// Display the request and response
echo '<h2>Request</h2>';
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2>';
echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
// Display the debug messages
echo '<h2>Debug</h2>';
echo '<pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
?>

Bu script sonuçları burada görmek olabilir: http://www.realtywest.com.au/listings/test_wsdl.php

Bu bir iç hizmet hatası döndürür ..

Ben sorunu googled ve bu gerçekten eski forumu yazı bulundu:. Aslında geçmek çağırırken bazen NET webservices farklı ayarlanır, ve aynı zamanda, WSDL olarak NuSOAP içine geçmek için değil önerdi http://www.sitepoint.com/forums/showthread.php?t=97632 istek değil, değişkenlerin sadece bir dizi ..

bu yüzden bu yolu denedim:

<?php
// Call the nuSOAP library 
require_once('/home/realtywest/www/lib/nusoap.php');

// Create the client instance
$client = new soapclientnusoap('http://webservices.reiwa.com/RMHPServices/ListingsService.svc', false);

// Check for an error
$err = $client->getError();
if ($err) {
    // Display the error
    echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
    // At this point, you know the call that follows will fail
}

// Call the SOAP method
$result = $client->call('getListingDetail', '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:getListingDetail>
         <!--Optional:-->
         <tem:strListingNumber>3000975</tem:strListingNumber>
      </tem:getListingDetail>
   </soapenv:Body>
</soapenv:Envelope>');

// Check for a fault
if ($client->fault) {
    echo '<h2>Fault</h2><pre>';
    print_r($result);
    echo '</pre>';
} else {
    // Check for errors
    $err = $client->getError();
    if ($err) {
        // Display the error
        echo '<h2>Error</h2><pre>' . $err . '</pre>';
    } else {
        // Display the result
        echo '<h2>Result</h2><pre>';
        print_r($result);
    echo '</pre>';
    }
}
// Display the request and response
echo '<h2>Request</h2>';
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2>';
echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
// Display the debug messages
echo '<h2>Debug</h2>';
echo '<pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
?>

Buraya bakın: http://www.realtywest.com.au/listings/test.php bu sefer .. istek aslında sonuç alabilirsiniz SOAP UI kopyalanan ikinci mesajın yoluyla gönderilen, bu yüzden web hizmeti gerçekten biliyoruz Eylem hata desteklenmez olsun çalışmak ..

Ben gerçekten bu bir herhangi bir yardım takdir ediyorum .. Birisi hata ayıklama mesajları bakmak ve sorunun ne olduğunu bilmek eminim ..

0 Cevap