CentOS - Soap - PHP geen reactie

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • World Citizen
  • Registratie: Oktober 2002
  • Laatst online: 18:19
Hoi,

Ik zit met een probleem waar ik al wat uurtjes tegen aan het strijden ben. Ik heb hier een CentOS 5 server staan met Apache en PHP53u. Ik host hier Magento op en die kun je middels een Soap connectie benaderen.

Het probleem is dat als ik een soap aanvraag doe dat hij helemaal nergens mee terug komt. Ik kan de WSDL wel gewoon aanvragen via de browser, maar mijn tool SoapUI blijft verbinding maken zonder resultaat of melding.

Nu heb ik php doorgelopen en de Soap module zit er netjes bij. Als ik die eraf mik, en ik doe een Soap aanvraag dan krijg ik de melding dat Soap niet is geïnstalleerd op de server. Ofwel, hij maakt wel verbinding met de server en krijgt reactie. Maar op het moment dat ik Soap weer installeer... helemaal niks meer. Ook geen melding dus.

Nu is dit voor mij erg pittig... omdat ik eigenlijk enkel de Magento installatie beheer... Ik durf dus niet meer te zeggen waar het nu precies verkeerd gaat .

Ik heb zitten twijfelen over mij php versie... dus ik heb de PHP en de PHP53U versie geprobeerd.. maar beide geven hetzelfde resultaat.

Ik sta een beetje met de rug tegen de muur.. dus als iemand wil helpen ben ik je eeuwig dankbaar .

Hoe kan ik het beste dingen gaan uitsluiten?

heb btw een vps met windows opgezet, en daar werkt het wel... ik denk dus dat het aan de server config ligt)

FreeReef.nl


Acties:
  • 0 Henk 'm!

  • Sneezydevil
  • Registratie: Januari 2002
  • Laatst online: 29-09 10:22
Staat er niks in je apache log? Die is standaard te vinden onder /var/log/httpd/.

Acties:
  • 0 Henk 'm!

  • World Citizen
  • Registratie: Oktober 2002
  • Laatst online: 18:19
Inderdaad daar staat de error....

code:
1
[error] [client 213.125.60.187] PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://esporta.nl/index.php/api/soap/index/?wsdl=1' : failed to load external entity "http://esporta.nl/index.php/api/soap/index/?wsdl=1"\n in /usr/share/magento/lib/Zend/Soap/Server.php on line 762



En op lijn 762 staat dan

code:
1
  $server  = new SoapServer($this->_wsdl, $options);


in het onderdeel.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 /**
     * Get SoapServer object
     *
     * Uses {@link $_wsdl} and return value of {@link getOptions()} to instantiate
     * SoapServer object, and then registers any functions or class with it, as
     * well as peristence.
     *
     * @return SoapServer
     */
    protected function _getSoap()
    {
        $options = $this->getOptions();
       $server  = new SoapServer($this->_wsdl, $options);

        if (!empty($this->_functions)) {
            $server->addFunction($this->_functions);
        }

        if (!empty($this->_class)) {
            $args = $this->_classArgs;
            array_unshift($args, $this->_class);
            call_user_func_array(array($server, 'setClass'), $args);
        }

        if (!empty($this->_object)) {
            $server->setObject($this->_object);
        }

        if (null !== $this->_persistence) {
            $server->setPersistence($this->_persistence);
        }

        return $server;
    }



Ik ga er op zoeken...

FreeReef.nl


Acties:
  • 0 Henk 'm!

  • Sneezydevil
  • Registratie: Januari 2002
  • Laatst online: 29-09 10:22
Ik zou es kijken of je wel met die url kunt verbinden, en als dat wel gaat, kan je server er misschien niet mee verbinden.

Dan kun je misschien de volgende regel aan je /etc/hosts file toevoegen:

127.0.0.1 esporta.nl

(Er van uitgaande dat de server lokaal probeerd te verbinden)

Ligt er natuurlijk een beetje aan hoe apache en de firewall zijn ingesteld.

[ Voor 9% gewijzigd door Sneezydevil op 07-12-2012 11:44 ]


Acties:
  • 0 Henk 'm!

  • Slurpie
  • Registratie: Oktober 2004
  • Laatst online: 01-10 20:21
Check de rewrite rules eens. En anders probeer te zoeken op Zend_Soap_Server issues.

Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Kunnen 3 dingen zijn:
- allow_url_fopen staat uit, hierdoor mag de SOAP extensie geen connectie maken met andere servers
- firewall op de server staat geen uitgaande connecties toe
- in plaats van firewall staat SELinux de boel te blokkeren

Acties:
  • 0 Henk 'm!

  • World Citizen
  • Registratie: Oktober 2002
  • Laatst online: 18:19
Super...

Ik vraag me af waarom mijn host file inderdaad geen verwijzing had naar mijn hostname... maar na het toevoegen van van mijn ip en hostname, krijg ik in ieder geval een foutmelding.

Als ik nu verbinding maak krijg ik terug.

[code]
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>2</faultcode>
<faultstring>Toegang geweigerd.</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
[/code]

Nu kan ik tenminste ergens op gaan zoeken, en is het verbinding probleem blijkbaar opgelost.

Ik ben er nog niet, maar alvast super bedankt voor de reacties hieronder.!!!!!


Ik denk dat ik er doorheen ben... de beveiliging groep moest even aangepast worden....
(ik ben echt euforisch... :) )

Dank, Heren en of Dames

[ Voor 9% gewijzigd door World Citizen op 07-12-2012 14:20 ]

FreeReef.nl

Pagina: 1