📄 get_types.cpp
字号:
/////////////////////////////////////////////////////////////////////////////
// $Id: get_types.cpp,v 1.14 2001/09/11 11:45:52 rosimildo Exp $
//
// Copyright (c) 2001 Exor International Inc. All rights reserved.
//
// MODULE DESCRIPTION:
// A simple test example to show the types supported by the embbeded SOAP toolkit.
//
// MODIFICATION/HISTORY:
//
// $Log: get_types.cpp,v $
// Revision 1.14 2001/09/11 11:45:52 rosimildo
// changed copyright from Technopoint to Exit; updated version to 0.9
//
// Revision 1.13 2001/08/14 14:21:45 rosimildo
// added dateTime to get_types example.
//
// Revision 1.12 2001/07/17 14:46:06 rosimildo
// some updates to fix some memory leaks
//
// Revision 1.11 2001/07/02 14:49:55 rosimildo
// Added new binary interface using Packet
//
// Revision 1.10 2001/06/23 15:46:28 rosimildo
// Upagrade to 2001 XML Schema.
//
//
// Created 2001/02/08 Rosimildo da Silva, ConnectTel Inc.
// [rdasilva@connecttel.com]
//
/////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include <assert.h>
#include "soap_envelope.h"
#include "soap_transport.h"
/* must be the last include */
#ifdef MEMWATCH
#include <memwatch.h>
// must be defined one per main module
static MemWatch globalMemwatchInstance;
#endif
int main(int, char **)
{
esoap::Envelope env;
env.setMethod( "getSupportedTypes" );
// if you want to see wire data.....
// esoap::Packet s;
// env.serialize( s );
// printf( "%s\n", s.data() );
esoap::Transport *ht = esoap::TransportFactory::create( "http://localhost:8080/rpcrouter",
esoap::TransportFactory::HTTP );
esoap::Envelope *in = ht->call( env );
if( in->success() )
{
printf( "Complete wired data:\n\n" );
esoap::Packet pktStr( 1024 );
in->serialize( pktStr );
printf( "%s\n", pktStr.c_str() );
esoap::Method *resp = in->getMethod();
esoap::Parameter *str = resp->getParameter( "string" );
printf( "string ==> %s\n", str->getString().c_str() );
esoap::Parameter *b64 = resp->getParameter( "b64" );
unsigned long *pu = 0;
unsigned long size = 0;
if( b64->decode( ( const char **)&pu, &size ) )
{
assert( size == sizeof( long ) );
printf( "Binary is ==> 0x%lX(hex) <==> %ld(dec)\n", *pu, *pu );
delete pu;
}
esoap::Parameter *nil = resp->getParameter( "nil" );
if( nil && nil->isNull() )
{
printf( "Nil Item is received as nil.\n" );
}
time_t tm1 = resp->getParameter( "tm1" )->getTimeInstant();
time_t tm2 = resp->getParameter( "tm2" )->getTimeInstant();
printf( "dateTime --> tm1=%d, tm2=%d\n", tm1, tm2 );
}
else
{
if( in->isFault() )
{
esoap::Fault *f = in->getFault();
printf( "Fault Received: Faultcode: %s\nFaultstring:%s\n",
f->getCodeString().c_str(), f->getFaultString().c_str() );
}
}
// to see what we received....
// s.clear();
// in->serialize( s );
// printf( "%s\n", s.c_str() );
delete in;
delete ht;
// just to cleanup the memory...
delete esoap::ParameterFactory::setInstance( 0 );
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -