
 XIDL               IPRT        COM         XPCOM           WSDL                gSOAP default          JAX-WS            PHP

 boolean                        BOOL        PRBool          xsd:boolean         bool                   Boolean           boolean

 octet              uint8_t     BYTE        PRUint8         xsd:unsignedByte                           Short             integer

 short              int16_t     SHORT       PRInt16         xsd:short           short                  Short   (2)       integer
 unsigned short     uint16_t    USHORT      PRUint16        xsd:unsignedShort   unsigned short         Integer (2)       integer
 long               int32_t     LONG        PRInt32         xsd:int             int                    Integer (2)       integer
 unsigned long      uint32_t    ULONG       PRUint32        xsd:unsignedInt     unsigned int           Long    (2)       float (3)
 long long          int64_t     LONG64      PRInt64         xsd:long            long long              Long    (2)       float (3)
 unsigned long long uint64_t    ULONG64     PRUint64        xsd:unsignedLong    unsigned long long     BigInteger (2)    float (3)

 double                                                     xsd:double          double                 Double            float
 float                                                      xsd:float           float                  Float             float

 wstring                        BSTR        PRUnichar*      xsd:string          std::string            String            string

 result                                                     xsd:unsignedInt(1)  (undefined)                             

 uuid                                                       xsd:string(1)       (undefined)


(1) my definition
(2) Java "Short" is signed 16-bit integer; since Java has no support for unsigned types, we need to use the
    next bigger class, which is Integer, for IPRT uint16_t. Similarly for the other integer types.
(3) PHP does not support unsigned integers; Size of integer is platform-dependent, usual value of at least 32-bits signed. Use float for numbers greeted that signed 32-bit int


