[Java lista] soap

Maglódszki Viktor bocios at citromail.hu
2007. Ápr. 5., Cs, 14:11:52 CEST


sziasztok

isméte beleütköztem egy soap-os gondba.
van 1 alkalmazás ami:
php - soap - java
igy megy át szerveroldalról soapon keresztül a java-s kliens programba az adatbázisból lejött adat

2db olyan függvényem van php-ben ami tömböt ad vissza és ezt én java-ban hashmap tipusúnak veszem ki
ez igy rendben működik
most irtam ugyanezen az elven egy 3. olyat, ami tömböt használ
és egy teljesen ismeretlen hibaüzit kapok:

exception:

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
 faultSubcode: 
 faultString: Allowed memory size of 8388608 bytes exhausted (tried to allocate 43 bytes)
 faultActor: 
 faultNode: 

 faultDetail: 
        {http://xml.apache.org/axis/}stackTrace:Allowed memory size of 8388608 bytes exhausted (tried to allocate 43 bytes)
Allowed memory size of 8388608 bytes exhausted (tried to allocate 43 bytes)


ilyet még sosem kaptam
valami memória megtelt vagy ilyesmi?

ebben a függvényben megint csak 1 szimpla sql select van 5db mezőt vesz ki, beteszi egy tömbe és visszaadja azt
pontossan úgy csináltam mint azt a 2-t ami már működik
csak ezzel van gond
az sql simán lefut kipróbáltam
sőt php-s kliensből az egész fügvény jó 
php-s soap kliensnek rendesen visszaadja azt, ami kell nekem
ezen kivűl az összes többi java-ban is rendben


java:

    private Call initialize(String opName) throws ServiceException {
        call = (Call)service.createCall();
        if (this.endPoint != null) {
            call.setTargetEndpointAddress(this.endPoint);
        }
        if (opName != null) {
            call.setOperationName(new QName(BODY_NAMESPACE_VALUE,opName));
        }
        call.setReturnType(QNAME_TYPE_STRING); //alapbol jo a string, ahol valtozik ott a metoduson belul van atirva
        return call;
    }



//a hiba fv:
public HashMap getDatasfiltered(String pid, String uid, String dateFrom, String dateTo) throws ServiceException, RemoteException {
     Call call = initialize("getDatasFiltered"); 
     call.setReturnType(QNAME_TYPE_STRING, HashMap.class);
     call.addParameter("pid", QNAME_TYPE_STRING, ParameterMode.IN);
     call.addParameter("uid", QNAME_TYPE_STRING, ParameterMode.IN);
     call.addParameter("datefrom", QNAME_TYPE_STRING, ParameterMode.IN);
     call.addParameter("dateto", QNAME_TYPE_STRING, ParameterMode.IN);
     String params[] = {pid,uid,dateFrom,dateTo};
     Object o = call.invoke(params);
     return (HashMap)o;
    }


php:
function getDatasFiltered($pid,$uid,$datefrom,$dateto) {
 $data = array();
 $k = 0;
 $query = mysql_query("select worklog.status, worklog.chg_type, worklog.chg_time, worklog.logtype, worklog.remark from kmslive_worklog worklog, kmslive_users users where (users.id=$uid) and (worklog.user_id = $uid) and (worklog.project_id = $pid) and (worklog.chg_time >= '$datefrom' and worklog.chg_time <= '$dateto') order by worklog.chg_time");
 if ($query) {
  if (mysql_num_rows($query) > 0) {
   while ($fetch = mysql_fetch_array) {
    $data[$k]["status"]   = $fetch["status"];
    $data[$k]["chg_type"] = $fetch["chg_type"];
    $data[$k]["chg_time"] = $fetch["chg_time"];
    $data[$k]["logtype"]  = $fetch["logtype"];
    $data[$k]["remark"]   = $fetch["remark"];
    $k++;    
   }
   return $data;
  }
 }
}

--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070405/5f4bf207/attachment.html 


További információk a(z) Javalist levelezőlistáról