Nasıl asmx web hizmeti için bir NuSOAP istemci komut dosyası yazabilirsiniz?

2 Cevap php

Ben NuSOAP lib üzerinde bir php müşteri tabanına ihtiyacımız var. etkin Haeder auth ile bir Asmx servis yanıtı almak için:

Bu (SoapUI kullanarak) İsteği:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:res="namespaceurl"> <soap:Header> <res:AuthHeader> <!--Optional:--> <res:UserName>myuser</res:UserName> <!--Optional:--> <res:Password>mypass</res:Password> </res:AuthHeader> </soap:Header> <soap:Body> <res:LoanStatus> <res:iAccountNbr>?</res:iAccountNbr> <res:iResortNbr>?</res:iResortNbr> <!--Optional:--> <res:strXRef></res:strXRef> </res:LoanStatus> </soap:Body> </soap:Envelope>

Here es the Response (soapUI):<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:res="namespaceurl"> <soap:Header> <res:AuthHeader> <!--Optional:--> <res:UserName>myuser</res:UserName> <!--Optional:--> <res:Password>mypass</res:Password> </res:AuthHeader> </soap:Header> <soap:Body> <res:LoanStatus> <res:iAccountNbr>?</res:iAccountNbr> <res:iResortNbr>?</res:iResortNbr> <!--Optional:--> <res:strXRef></res:strXRef> </res:LoanStatus> </soap:Body> </soap:Envelope>

2 Cevap

Eğer really NuSOAP (! Ben PHP-yerli Sabun uzantısını kullanarak tavsiye) kullanmanız gerekiyorsa, istemci örnek bir göz var Introduction to NuSoap:

<?php
// Pull in the NuSOAP code
require_once('nusoap.php');
// Create the client instance
$client = new soapclient('http://localhost/phphack/helloworld.php');
// Call the SOAP method
$result = $client->call('hello', array('name' => 'Scott'));
// Display the result
print_r($result);
?>

Oradan basit olmalıdır.

Önceden tanımlanmış. NET Web Hizmeti için bir SOAP çağrı yapmak sorun yaşıyorsanız eğer ham XML göndermek için NuSOAP kullanabilirsiniz.

this post daha fazla bilgi için kontrol edin.

Ancak WSDL dosyası ayrıştırma denemek daha iyidir. Wsdl2php kullanmayı deneyin. Bu WSDL dosyaları ayrıştırma için gerçekten güzel. Bu bir php sınıf kitaplığına WSDL dosyasından veri türü yapısını çoğaltmak olacaktır.

Bunu kullanmak için nasıl bir açıklamasını bulabilirsiniz here.