Topic: PHP Soap Client klaidos

Sveiki,

Darbe susidūriau su tokia problema, kad reikia sukurti SOAP Clientą kuris kreipiasi į servisą.

Turiu pasirašęs tokį Client scriptuką:

require_once 'nusoap/nusoap.php';

$oClient= new nusoap_client('http://SomeLinkOf/?WSDL','wsdl');
$oClient->loadWSDL();
$oClient->http_encoding='utf-8';
$oClient->soap_defencoding = 'UTF-8';    

        $aDataArray = array(
                    'Param1'         => 1,
                    'Param2'       => 1,
                    'Param3'      => 030220131130,
                    'Param4'        => 030220131150,
                    'Param5'         => 'Some String'
                 );
$aFunctions= $client->getProxy();

$aResult= $aFunctions->SoapServerScript($aDataArray);

Problema, kad ir ką bedaryčiau, kokį metodą benaudočiau gaunu klaidą:

HTTP Error: Unsupported HTTP response status 415 Cannot process the message because the content type 'text/xml; charset=UTF-8' was not the expected type 'application/soap+xml; charset=utf-8'. (soapclient->response has contents of the response)

Gal būti galite padėti šią klaidą pašalinti.

Re: PHP Soap Client klaidos

Na klaida sako, kad siunti paprastą XML vietoje SOAP+XML. Reiktų pabandyti pasižiūrėti kokį turinį išsiunti iš serverio. Ir tuo pačiu kaip tinkamai suformuoti užklausą.
Google turėtų padėti šiame darbe, nes tikrai daug forumų kur tokia problema jau yra išspręsta, gal tik juos ne taip lengva rasti.

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: PHP Soap Client klaidos

Išsiaiškinau kur problemos, pasirodo užsakovai nutylėjo keletą faktų apie formuojamą SOAP užklausą, kad headeryje reikia nurodyti tikslius parametrus.
Todėl paklausiu jūsų

Man į <SOAP-ENV:Header>
reikia įdėti du parametrus:

      <Action xmlns="http://www.w3.org/2005/08/addressing">http://tempuri.org/Service/Function</Action>
      <To xmlns="http://www.w3.org/2005/08/addressing">http://webserviceURL/</To>

Gal būt kas nors esate kūrę SOAP Clientus ir žinote kokiu būtų galima tai greitai padaryti.
(Version 1.2)

Re: PHP Soap Client klaidos

Kažkada teko panašia nesamone užsiiminėti, tai baigėsi tuo, kad formuodavau raw užklausas be jokių papildomų SOAP klasių :)

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: PHP Soap Client klaidos

Gal pasidalintum pavyzdžiu?:)

Re: PHP Soap Client klaidos

Tas buvo prieš kelis metus, source tikrai nebeturiu. Iš esmės tai naudojausi curl, ten gana paprasta išsiųsti tai ką nori be didesnių galvos skausmų.

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer