Apache proxy session eldobás probléma

Fórumok

Sziasztok!

Adott a következő szerver felépítés.

Webmethods szerver: webservice kiszolgáló, csak belülről érhető el.
Apache: kívülről csak ez látszik

Feladat, hogy a webmothods ws könyvtára elérhető légyen kívülről az apache-on keresztül, hogy a webserve-ok működjenek.

A webservice wsdl-je kívülről elérhető, de amikor meghívják és használni szeretnék a benne lévő funkciót, akkor lejárt session-re hivatkozva meghal a php script.

Ugyanez a php script belülről tökéletesen működik, ezért gondolom hogy az apache beállítással van valami gond. Az apache logjában csak sikeres get és post eseményeket látok.

Az apache a következő képp lett beállítva:

ProxyRequests Off
ProxyVia Off

ProxyPass /ws/ http://10.10.10.10:5555/ws/
ProxyPassReverse /ws/ http://10.10.10.10:5555/ws/

itt php kód, amivel kipróbáltuk:

$sClient = new SoapClient("http://kulso.ip.cim/ws/wsfunction:wsfunction?WSDL");

var_dump($sClient->__getFunctions());

$param = Array('paramter1' => '1.0','paramter2' => '0');

var_dump($sClient->wsFunction($param));

És itt a kimete a php script-nek:

array(1) {
[0]=>
string(45) "dtowsFunction wsFunction(dtiwsFunction $parameters)"
}

Fatal error: Uncaught SoapFault exception: [HTTP] Invalid Session ID or Session Expired in C:\PHP\wsteszt\teszt6.php:8
Stack trace:
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://10.10.10...', 'wsFunction...', 1, 0)
#1 [internal function]: SoapClient->__call('wsFunction', Array)
#2 C:\PHP\wsteszt\teszt6.php(8): SoapClient->wsFunction(Array)
#3 {main}
thrown in C:\PHP\wsteszt\teszt6.php on line 8

Mit kéne még beállítani az apachon, hogy a session ne veszen el?

Zsolti

Hozzászólások

Annyi kiegészítés még, hogy WSDL úgy lett módosítva, hogy a küldő címet adja meg location-nek.