# WS-typemap.dat # #------------------------------------------------------------------------------- #gSOAP XML Web services tools #Copyright (C) 2004-2005, Robert van Engelen, Genivia Inc. All Rights Reserved. #This software is released under one of the following two licenses: #GPL or Genivia's license for commercial use. #------------------------------------------------------------------------------- #GPL license. # #This program is free software; you can redistribute it and/or modify it under #the terms of the GNU General Public License as published by the Free Software #Foundation; either version 2 of the License, or (at your option) any later #version. # #This program is distributed in the hope that it will be useful, but WITHOUT ANY #WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A #PARTICULAR PURPOSE. See the GNU General Public License for more details. # #You should have received a copy of the GNU General Public License along with #this program; if not, write to the Free Software Foundation, Inc., 59 Temple #Place, Suite 330, Boston, MA 02111-1307 USA # #Author contact information: #engelen@genivia.com / engelen@acm.org #------------------------------------------------------------------------------- #A commercial use license is available from Genivia, Inc., contact@genivia.com #------------------------------------------------------------------------------- # Bindings for WS-* protocols: wsrp = "http://schemas.xmlsoap.org/rp/" wsen = "http://schemas.xmlsoap.org/ws/2004/09/enumeration" wsa = <http://schemas.xmlsoap.org/ws/2004/08/addressing> wsa3 = <http://schemas.xmlsoap.org/ws/2003/03/addressing> wsp = "http://schemas.xmlsoap.org/ws/2004/09/policy" # wsa:AttributedQName is a QName element extensible with attributes. # We redeclare it as a QName string, assuming we don't need attributes: wsa__AttributedQName = | _QName wsa3__AttributedQName = | _QName # wsa:AttributedURI is an anyURI element extensible with attributes. # We redeclare it as a regular string, assuming we don't need attributes: wsa__AttributedURI = | char* wsa3__AttributedURI = | char* # wsa:ReplyAfterType is an nonnegativeInteger extensible with attributes. # We redeclare it here, assuming we don't need attributes: wsa__ReplyAfterType = | unsigned int # wsse, wsu, ds, and xenc bindings wsse = <http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd> wsu = <http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd> ds = <http://www.w3.org/2000/09/xmldsig#> xenc = <http://www.w3.org/2001/04/xmlenc#> wsse2 = <http://schemas.xmlsoap.org/ws/2002/12/secext> ################################################################################ # # wsu redefinitions # ################################################################################ _wsu__Id = | char* _wsu__Created = | char* _wsu__Expires = | char* wsu__AttributedDateTime = | time_t wsu__AttributedURI = | char* wsu__TimestampType = _wsu__Timestamp =\ typedef struct _wsu__Timestamp\n\ { @char* wsu__Id; // use qualified form to enable signature\n\ char* Created;\n\ char* Expires;\n\ } _wsu__Timestamp; ################################################################################ # # wsse redefinitions # ################################################################################ # wsse:AttributedString has a wsu:Id we don't need wsse__AttributedString = | char* # wsse:EncodedString has an EncodingType attribute we don't need for Nonce wsse__EncodedString = | char* # Don't use global wsse:Nonce _wsse__Nonce = # Don't use wsse:tUsage and global wsse:Usage wsse__tUsage = _wsse__Usage = # Don't use wsse:PasswordString wsse__PasswordString = # But use wsse:Password element with similar content _wsse__Password =\ typedef struct _wsse__Password\n\ { char* __item;\n\ @char* Type;\n\ } _wsse__Password; # Don't use wsse:UsernameTokenType wsse__UsernameTokenType = # But use wsse:UsernameToken element with similar content _wsse__UsernameToken =\ typedef struct _wsse__UsernameToken\n\ { char* Username;\n\ struct _wsse__Password* Password;\n\ char* Nonce;\n\ char* wsu__Created;\n\ @char* wsu__Id;\n\ } _wsse__UsernameToken; # Don't use wsse:BinarySecurityTokenType wsse__BinarySecurityTokenType = # But use wsse:BinarySecurityToken element with similar content _wsse__BinarySecurityToken =\ typedef struct _wsse__BinarySecurityToken\n\ { char* __item;\n\ @char* wsu__Id;\n\ @char* ValueType;\n\ @char* EncodingType;\n\ } _wsse__BinarySecurityToken; # Don't use wsse:SecurityTokenReferenceType wsse__SecurityTokenReferenceType = # But use wsse:SecurityTokenReference element _wsse__SecurityTokenReference =\ typedef struct _wsse__SecurityTokenReference\n\ { struct _wsse__Reference* Reference;\n\ struct _wsse__KeyIdentifier* KeyIdentifier;\n\ struct _wsse__Embedded* Embedded;\n\ @char* wsu__Id;\n\ @char* Usage;\n\ } _wsse__SecurityTokenReference; # Don't use wsse:ReferenceType wsse__ReferenceType = # But use wsse:Reference element _wsse__Reference =\ typedef struct _wsse__Reference\n\ { @char* URI;\n\ @char* ValueType;\n\ } _wsse__Reference; # Don't use wsse:KeyIdentifierType wsse__KeyIdentifierType = # But use wsse:KeyIdentifier _wsse__KeyIdentifier =\ typedef struct _wsse__KeyIdentifier\n\ { char* __item;\n\ @char* wsu__Id;\n\ @char* ValueType;\n\ @char* EncodingType;\n\ } _wsse__KeyIdentifier; # Don't use wsse:EmbeddedType wsse__EmbeddedType = # But use wsse:KeyIdentifier _wsse__Embedded =\ typedef struct _wsse__Embedded\n\ { /* Extensible with embedded tokens and assertions */\n\ @char* wsu__Id;\n\ @char* ValueType;\n\ } _wsse__Embedded; # Don't use wsse:TransformationParametersType wsse__TransformationParametersType = # Don't use wsse:TransformationParameters _wsse__TransformationParameters = # Don't use wsse:SecurityHeaderType wsse__SecurityHeaderType = # But use wsse:Security element with additional content _wsse__Security =\ #import "ds.h"\n\ typedef struct _wsse__Security\n\ { struct _wsu__Timestamp* wsu__Timestamp;\n\ struct _wsse__UsernameToken* UsernameToken;\n\ struct _wsse__BinarySecurityToken* BinarySecurityToken;\n\ struct ds__SignatureType* ds__Signature;\n\ @char* SOAP_ENV__actor;\n\ @char* SOAP_ENV__role;\n\ } _wsse__Security; ################################################################################ # # ds redefinitions # ################################################################################ ds__CryptoBinary = | char* /*base64*/ ds__DigestValueType = | char* /*base64*/ ds__HMACOutputLengthType = | int ds__TransformType = #import "c14n.h"\n\ typedef struct ds__TransformType\n\ { _c14n__InclusiveNamespaces* c14n__InclusiveNamespaces;\n\ _XML __any;\n\ @char* Algorithm;\n\ } ds__TransformType; ds__KeyInfoType =\ typedef struct ds__KeyInfoType\n\ { char* KeyName;\n\ struct ds__KeyValueType* KeyValue;\n\ struct ds__RetrievalMethodType* RetrievalMethod;\n\ struct ds__X509DataType* X509Data;\n\ struct _wsse__SecurityTokenReference* wsse__SecurityTokenReference;\n\ @char* Id;\n\ } ds__KeyInfoType; ds__SignatureType =\ typedef struct ds__SignatureType\n\ { struct ds__SignedInfoType* SignedInfo;\n\ char* SignatureValue;\n\ struct ds__KeyInfoType* KeyInfo;\n\ @char* Id;\n\ } ds__SignatureType; # Add c14n:InclusiveNamespaces element to ds:CanonicalizationMethodType ds__CanonicalizationMethodType = $\ _c14n__InclusiveNamespaces* c14n__InclusiveNamespaces; # ds:SignatureValueType has an Id we don't need ds__SignatureValueType = ds__ObjectType = ds__ManifestType = ds__SignaturePropertyType = ds__SignaturePropertiesType = ds__PGPDataType = ds__SPKIDataType = ################################################################################ # # Common definitions # ################################################################################ # Use regular char* strings for ID xsd__ID = | char* /*ID*/ # Use regular char* strings for NCName xsd__NCName = | char* /*NCName*/ # Use regular char* strings for anyURI xsd__anyURI = | char* /*URI*/ # Use built-in gSOAP _QName xsd__QName = | _QName | _QName # Map xsd:integer to int xsd__integer = | int # Map xsd:nonNegativeInteger to unsigned int xsd__nonNegativeInteger = | unsigned int # Map xsd:base64Binary to char* and manipulate base64 data internally xsd__base64Binary = | char* /*base64*/ # Map xsd:boolean to xsd__boolean_ to avoid redefs xsd__boolean = enum xsd__boolean_ { _false, _true }; | enum xsd__boolean_ # Redeclare wsrp:action_t wsrp__action_USCOREt = | char* # Redeclare wsrp:to_t wsrp__to_USCOREt = | char* # Redeclare wsrp:from_t wsrp__from_USCOREt = | char* # Redeclare wsrp:id_t wsrp__id_USCOREt = | char* # Redeclare wsrp:relatesTo_t wsrp__relatesTo_USCOREt = | char* # Redeclare wsrp:faultcode_t wsrp__faultcode_USCOREt = | char* # Redeclare wsrp:faultreason_t wsrp__faultreason_USCOREt = | char*