Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

NUSOAP - problem sa slanjem arrayList tipa kao argumenta

[es] :: PHP :: NUSOAP - problem sa slanjem arrayList tipa kao argumenta

[ Pregleda: 3204 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dinke
Dragan Dinić
General Manager / Lampix.net
Beograd

Član broj: 933
Poruke: 1008
*.boox.co.yu

Sajt: www.dinke.net


+2 Profil

icon NUSOAP - problem sa slanjem arrayList tipa kao argumenta06.09.2004. u 14:22 - pre 239 meseci
Imam wsdl based Java SOAP server, i pokušavam da pozovem soap metod iz php klijenta koji ima arrayList kao jedan od argumenata. Ostali metodi rade normalno, ali prilikom poziva tog metoda, prateći soap request vidim da nusoap ne šalje ništa za arrayList_2 unutar tog poziva, kao na primer:

Code:
<SOAP-ENV:Body><tns:loadStabloGaTipFilt

 xmlns:tns="urn:Navigator"><int_1 
 xsi:type="xsd:int">1</int_1><ArrayList_2 

xsi:type="ns2:arrayList"></ArrayList_2></tns:loadStabloGaTipFilt></SOAP-ENV:Body>

tako da dobijam poruku o grešci:

JAXRPC.TIE.01: caught exception while handling request: malformed array
type: <arrayType attribute missing>

Verzija NUSOAP-a je 0.6.8 (1.76)

Evo koda koji sam koristio:
Code:

 <?php
 require_once("nusoap.php");
 //nova sesija kako bi pokupio JSESSIONID zbog java sesije
 session_start();
 $client = new 
 soapclient("http://localhost:15000/b04/navigator?WSDL",true);
 $proxy = $client->getProxy();
 
 $response = $proxy->loadKorisnik("user","pass");
 
 $header_array = explode("\n",$proxy->response);
 foreach($header_array as $line)
 {
     if(strstr($line,"Set-Cookie"))
     {
         $java_session_id = substr($line,23,32);
         $_SESSION["JSESSIONID"] = $java_session_id;
     }
 }
 
 //ovo sam pokupio sa jednog drugog threada
 //zati sto prvobitni pokusaj sa jednostavnim 
//nizom $arraylist nije radio
 $arraylist = new  soapval("arrayList_2","arrayList",array("1"),false,
                 "http://java.sun.com/jax-rpc-ri/internal",
                 array("SOAP-ENC:arrayType" => "xsd:anyType[2]"));
 
 $result = $proxy->loadStabloGaTipFilt(1,$arraylist);
 
 /* takodje sam probao i ovo, ali bez rezultata
 $params = array("int_1"=>"1",
     "arrayList_2"     => new 
 soapval("arrayList_2","arrayList",array("1"=>"1"),false,
                 "http://java.sun.com/jax-rpc-ri/internal",
                 array("SOAP-ENC:arrayType" => "xsd:anyType[2]")));
 
   $result = $client->call("loadStabloGaTipFilt",$params);*/
 
 // Display the request and response
 echo "<h2>Request</h2>";
 echo "" . htmlspecialchars($proxy->request, ENT_QUOTES) . "";
 echo "<h2>Response</h2>";
 echo "" . htmlspecialchars($proxy->response, ENT_QUOTES) . "";
 ?>


Evo opisa arrayList tipa u wsdl fajlu:
Code:
<schema targetNamespace="http://java.sun.com/jax-rpc-ri/internal">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<import namespace="urn:Navigator"/>
    
    <complexType name="arrayList">
    
    <complexContent>
    
    <extension base="tns:list">
<sequence/>
</extension>
</complexContent>
</complexType>
    
    <complexType name="list">
    
    <complexContent>
    
    <extension base="tns:collection">
<sequence/>
</extension>
</complexContent>
</complexType>
    
    <complexType name="collection">
    
    <complexContent>
    
    <restriction base="soap11-enc:Array">
<attribute ref="soap11-enc:arrayType" wsdl:arrayType="anyType[]"/>
</restriction>
</complexContent>
</complexType>
</schema>

i opisa metoda koji se poziva:
Code:

<message name="NavigatorIF_loadStabloGaTipFilt">
<part name="int_1" type="xsd:int"/>
<part name="ArrayList_2" type="ns2:arrayList"/>
</message>


Da li postoji neko na ovom forumu koji bi imao ideju kako ovo rešiti ?

Hvala na pomoći
 
Odgovor na temu

[es] :: PHP :: NUSOAP - problem sa slanjem arrayList tipa kao argumenta

[ Pregleda: 3204 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.