This example shows you how to publish a Web service. In this case, the example template code obtains an authorization token, saves the tModel with the WSDL URL in the server, and saves the business service information in the server.
#include "pubH.h"
const char *server = "https://uddi.xmethods.net/publish";
const char *userid = "...";
const char *passwd = "...";
int main(int argc, char **argv)
{
struct soap *soap = soap_new();
if (soap_ssl_client_context(soap, SOAP_SSL_DEFAULT, NULL, NULL, "cacerts.pem", NULL, NULL))
{
soap_print_fault(soap, stderr);
exit(1);
}
if (!authToken)
{
soap_print_fault(soap, stderr);
exit(1);
}
tModel.soap_default(soap);
tModel.
name = soap_new_uddi2__name(soap, -1);
description[0].
__item =
"SHORT DESCRIPTION: ...";
description[1].
__item =
"SHORT DESCRIPTION: ...";
description[2].
__item =
"USAGE NOTES: ...";
description[3].
__item =
"HOMEPAGE URL: ...";
description[4].
__item =
"CONTACT EMAIL: ...";
description[5].
__item =
"IMPLEMENTATION: ...";
tModel.
overviewDoc = soap_new_uddi2__overviewDoc(soap, -1);
tModel.
categoryBag = soap_new_uddi2__categoryBag(soap, -1);
service.soap_default(soap);
bindingTemplate.soap_default(soap);
bindingTemplate.
accessPoint = soap_new_uddi2__accessPoint(soap, -1);
soap_destroy(soap);
soap_end(soap);
soap_done(soap);
free(soap);
return 0;
}
enum uddi2__URLType URLType
Attribute URLType of type "urn:uddi-org:api_v2":URLType.
Definition uddi_v2.h:3153
char * __item
Definition uddi_v2.h:3151
Schema urn:uddi-org:api_v2:"authToken".
Definition uddi_v2.h:2956
char * authInfo
Element reference "urn:uddi-org:api_v2":authInfo.
Definition uddi_v2.h:2958
Schema urn:uddi-org:api_v2:"bindingTemplate".
Definition uddi_v2.h:1902
uddi2__hostingRedirector * hostingRedirector
Element reference "urn:uddi-org:api_v2":hostingRedirector.
Definition uddi_v2.h:1911
uddi2__accessPoint * accessPoint
Element reference "urn:uddi-org:api_v2":accessPoint.
Definition uddi_v2.h:1909
uddi2__tModelInstanceDetails * tModelInstanceDetails
Element reference "urn:uddi-org:api_v2":tModelInstanceDetails.
Definition uddi_v2.h:1906
uddi2__serviceKey serviceKey
Attribute serviceKey of type "urn:uddi-org:api_v2":serviceKey.
Definition uddi_v2.h:1914
uddi2__bindingKey bindingKey
Attribute bindingKey of type "urn:uddi-org:api_v2":bindingKey.
Definition uddi_v2.h:1916
std::vector< uddi2__bindingTemplate * > bindingTemplate
Vector of uddi2__bindingTemplate* with length 0..unbounded.
Definition uddi_v2.h:1926
Schema urn:uddi-org:api_v2:"businessService".
Definition uddi_v2.h:2002
uddi2__businessKey businessKey
Attribute businessKey of type "urn:uddi-org:api_v2":businessKey.
Definition uddi_v2.h:2014
std::vector< uddi2__name * > name
Vector of uddi2__name* with length 0..unbounded.
Definition uddi_v2.h:2004
uddi2__serviceKey serviceKey
Attribute serviceKey of type "urn:uddi-org:api_v2":serviceKey.
Definition uddi_v2.h:2012
uddi2__bindingTemplates * bindingTemplates
Element reference "urn:uddi-org:api_v2":bindingTemplates.
Definition uddi_v2.h:2008
uddi2__categoryBag * categoryBag
Element reference "urn:uddi-org:api_v2":categoryBag.
Definition uddi_v2.h:2010
std::vector< uddi2__description * > description
Vector of uddi2__description* with length 0..unbounded.
Definition uddi_v2.h:2006
std::vector< uddi2__keyedReference * > keyedReference
Vector of uddi2__keyedReference* with length 0..unbounded.
Definition uddi_v2.h:2034
Schema urn:uddi-org:api_v2:"description".
Definition uddi_v2.h:3174
char * __item
Definition uddi_v2.h:3175
xml__lang xml__lang_
Attribute reference xml:lang.
Definition uddi_v2.h:3177
Schema urn:uddi-org:api_v2:"discard_authToken".
Definition uddi_v2.h:2478
Schema urn:uddi-org:api_v2:"dispositionReport".
Definition uddi_v2.h:2082
Schema urn:uddi-org:api_v2:"get_authToken".
Definition uddi_v2.h:2660
char * __item
Definition uddi_v2.h:3219
xml__lang xml__lang_
Attribute reference xml:lang.
Definition uddi_v2.h:3221
char * overviewURL
Element reference "urn:uddi-org:api_v2":overviewURL.
Definition uddi_v2.h:2172
std::vector< uddi2__description * > description
Vector of uddi2__description* with length 0..unbounded.
Definition uddi_v2.h:2170
Schema urn:uddi-org:api_v2:"save_service".
Definition uddi_v2.h:2858
Schema urn:uddi-org:api_v2:"save_tModel".
Definition uddi_v2.h:2880
Schema urn:uddi-org:api_v2:"serviceDetail".
Definition uddi_v2.h:3086
Schema urn:uddi-org:api_v2:"tModelDetail".
Definition uddi_v2.h:3118
Schema urn:uddi-org:api_v2:"tModel".
Definition uddi_v2.h:2270
uddi2__tModelKey tModelKey
Attribute tModelKey of type "urn:uddi-org:api_v2":tModelKey.
Definition uddi_v2.h:2282
uddi2__name * name
Element reference "urn:uddi-org:api_v2":name.
Definition uddi_v2.h:2272
uddi2__identifierBag * identifierBag
Element reference "urn:uddi-org:api_v2":identifierBag.
Definition uddi_v2.h:2278
uddi2__overviewDoc * overviewDoc
Element reference "urn:uddi-org:api_v2":overviewDoc.
Definition uddi_v2.h:2276
std::vector< uddi2__description * > description
Vector of uddi2__description* with length 0..unbounded.
Definition uddi_v2.h:2274
uddi2__categoryBag * categoryBag
Element reference "urn:uddi-org:api_v2":categoryBag.
Definition uddi_v2.h:2280
char * authorizedName
Attribute authorizedName of type xs:string.
Definition uddi_v2.h:2286
char * operator_
Attribute operator of type xs:string.
Definition uddi_v2.h:2284
std::vector< uddi2__tModelInstanceInfo * > tModelInstanceInfo
Vector of uddi2__tModelInstanceInfo* with length 0..unbounded.
Definition uddi_v2.h:2328
@ uddi2__URLType__http
xs:NMTOKEN value="http"
Definition uddi_v2.h:1847