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