- eBay-es kütyük kis pénzért
- sellerbuyer: Te tudod, mi mennyit fogyaszt az otthonodban?
- sziku69: Fűzzük össze a szavakat :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- azbest: Type-c 2x HDMI, USB3, PD töltés 4in1 dongle
- sellerbuyer: Milyen laptopot vegyek? Segítek: semmilyet!
- sh4d0w: Én és a számítógép
- Lalikiraly: Sencor SMC BS30 aktív hangfalszett bemutató
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
"ha en asszociativ tombot adok at parameterul, akkor azt struct tipusunak kell definialni a serveren, valamint az indexeket egyesevel meg kell adni neki tipussal egyutt"
Jaja, persze, a példában, amit korábban linkeltem, szintén ilyen van, ott konkrétan a Stuffs egy struct típus, az id és name elemekkel, és mindez NuSOAP-pal deklarálva a következő:$server->wsdl->addComplexType(
// name
'Stuffs',
// typeClass (complexType|simpleType|attribute)
'complexType',
// phpType: currently supported are array and struct (php assoc array)
'struct',
// compositor (all|sequence|choice)
'all',
// restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
'',
// elements = array ( name = array(name=>'',type=>'') )
array(
'id' => array(
'name' => 'id',
'type' => 'xsd:int'
),
'name' => array(
'name' => 'name',
'type' => 'xsd:string'
)
)
);De mindez még nálam nem volt elég, mert ezeknek a struct-oknak a tömbjét szerettem volna visszaadni (tehát a Stuffs struct-okból álló tömböt, melynek a neve itt StuffsArray):
$server->wsdl->addComplexType(
// name
'StuffsArray',
// typeClass (complexType|simpleType|attribute)
'complexType',
// phpType: currently supported are array and struct (php assoc array)
'array',
// compositor (all|sequence|choice)
'',
// restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
'SOAP-ENC:Array',
// elements = array ( name = array(name=>'',type=>'') )
array(),
// attrs
array(
array(
'ref' => 'SOAP-ENC:arrayType',
'wsdl:arrayType' => 'tns:Stuffs[]'
)
),
// arrayType: namespace:name (http://www.w3.org/2001/XMLSchema:string)
'tns:Stuffs'
);Aztán még annyival bonyolítottam a dolgot, hogy a kliens kérésére visszaadott válasz szintén egy struct, ami tartalmazza a válaszkódot (responseCode) és a válaszként szánt üzenetet (responseMessage), amivel jelezhető a kommunikáció állapota (pl. hiba vagy épp a siker), ezenkívül tartalmazza az előbb említett StuffsArray-t is, ami hiba esetén NULL, siker esetén az említett struct-ok tömbje.
Ez kódban így nézett ki:$server->wsdl->addComplexType(
// name
'ResponseObject',
// typeClass (complexType|simpleType|attribute)
'complexType',
// phpType: currently supported are array and struct (php assoc array)
'struct',
// compositor (all|sequence|choice)
'all',
// restrictionBase namespace:name (http://schemas.xmlsoap.org/soap/encoding/:Array)
'',
// elements = array ( name = array(name=>'',type=>'') )
array
(
'responseCode' => array( 'type' => 'xsd:int'),
'responseMessage' => array( 'type' => 'xsd:string'),
'stuffArray' => array( 'type' => 'tns:StuffsArray'
// DON'T UNCOMMENT THE FOLLOWING COMMENTED LINES, BECAUSE THIS WAY IT DOESN'T WORK!!! - Left it in the code not to forget it....
// ,
// 'minOccurs' => '0',
// 'maxOccurs' => 'unbounded'
)
)
);Aztán még az ehhez tartozó getStuffs függvény is látható a kódban.
Elég bonyolult egy ilyen komplex WSDL-t jól legenerálni NuSOAP-pal, de végül is nem lehetetlen (csak jópár óra debuggolás).
Új hozzászólás Aktív témák
- Opel topik
- Gumi és felni topik
- Megválik a legfontosabb mérnökétől az Intel
- Apple asztali gépek
- Elektromos autók - motorok
- Internet Rádió építése (hardver), és programozása
- AMD Navi Radeon™ RX 9xxx sorozat
- TCL LCD és LED TV-k
- Konzolokról KULTURÁLT módon
- Eredeti játékok OFF topik
- További aktív témák...
- LG UltraGear 27GP850-B GAMING IPS Monitor! 2560x1440 / 165Hz / 1ms / FreeSync / G-Sync!
- MSI RTX 3080Ti Ventus 3X 12G OC + vízhűtés
- LG UltraGear 45GS95QE-B OELD Monitor! 3440x1440 / 240Hz / 0.03ms / G-Sync / FreeSync! BeszámítOK
- Gyári dobozos Apple iphone SE (A1723) fillérekért!!!
- AMD Ryzen 5 5500 - Új, 3 év garancia - Eladó!
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- LENOVO IdeaPad L340-17IRH - 17,3"FHD IPS - i7-9750H - 16GB - 1TB - Win10 - GTX 1650 - MAGYAR
- iPhone 12 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3335, 94% Akkumulátor
- Asus TUF Gaming F17 FX707 - 17.3"FHD IPS 144Hz - i7-13620H - 32GB - 1TB - RTX 4060 -3+ év garancia
- Honor X8 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest