diff options
-rw-r--r-- | examples/csoap/csoap.cpp | 113 | ||||
-rw-r--r-- | examples/csoap/csoap.vcproj | 162 | ||||
-rw-r--r-- | examples/csoap/iconv.dll | bin | 0 -> 888832 bytes | |||
-rw-r--r-- | examples/csoap/libxml2.dll | bin | 0 -> 780288 bytes | |||
-rw-r--r-- | examples/csoap/stdafx.cpp | 8 | ||||
-rw-r--r-- | examples/csoap/stdafx.h | 12 |
6 files changed, 295 insertions, 0 deletions
diff --git a/examples/csoap/csoap.cpp b/examples/csoap/csoap.cpp new file mode 100644 index 0000000..289d77a --- /dev/null +++ b/examples/csoap/csoap.cpp @@ -0,0 +1,113 @@ +// csoap.cpp : Defines the entry point for the console application. +// + +/****************************************************************** +* $Id: csoap.cpp,v 1.1 2004/08/26 17:00:18 rans Exp $ +* +* CSOAP Project: CSOAP examples project +* Copyright (C) 2003 Ferhat Ayaz +* +* 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, MA02111-1307USA +* +* Email: ayaz@jprogrammer.net +******************************************************************/ + +#include "stdafx.h" + +#include <libcsoap/soap-client.h> + +//static const char *url = "http://csoap.sourceforge.net/cgi-bin/csoapserver"; + +static const char *url = "http://localhost:10000/csoapserver"; +static const char *urn = "urn:examples"; +static const char *method = "sayHello"; + +/** +* print_xpath_nodes: +* @nodes: the nodes set. +* @output: the output file handle. +* +* Prints the @nodes content to @output. +*/ +void print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output) { + xmlNodePtr cur; + int size; + int i; + + size = (nodes) ? nodes->nodeNr : 0; + + fprintf(output, "Result (%d nodes):\n", size); + for(i = 0; i < size; ++i) { + if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) { + xmlNsPtr ns; + + ns = (xmlNsPtr)nodes->nodeTab[i]; + cur = (xmlNodePtr)ns->next; + if(cur->ns) { + fprintf(output, "= namespace \"%s\"=\"%s\" for node %s:%s\n", + ns->prefix, ns->href, cur->ns->href, cur->name); + } else { + fprintf(output, "= namespace \"%s\"=\"%s\" for node %s\n", + ns->prefix, ns->href, cur->name); + } + } else if(nodes->nodeTab[i]->type == XML_ELEMENT_NODE) { + cur = nodes->nodeTab[i]; + if(cur->ns) { + fprintf(output, "= element node \"%s:%s\"\n", + cur->ns->href, cur->name); + } else { + fprintf(output, "= element node \"%s\"\n", + cur->name); + } + } else { + cur = nodes->nodeTab[i]; + fprintf(output, "= node \"%s\": type %d\n", cur->name, cur->type); + } + } +} + +int _tmain(int argc, _TCHAR* argv[]) +{ + SoapEnv *env, *res; + xmlXPathObjectPtr xpathObj; +// const char xpathExpr[]="//*"; + const char xpathExpr[]="//Envelope/*"; + log_set_level(HLOG_VERBOSE); + + env = soap_env_new_with_method(urn, method); + soap_env_add_item(env, "xsd:string", "name", "Jonny B. Good"); + + if (argc > 1) + res = soap_client_invoke(env, argv[1], ""); + else + res = soap_client_invoke(env, url, ""); + + xpathObj = soap_xpath_eval(res->root->doc,xpathExpr); + soap_env_get_body(env); + if(xpathObj!=NULL) + { + print_xpath_nodes(xpathObj->nodesetval, stdout); + } + soap_xml_doc_print(res->root->doc); + + soap_env_free(res); + soap_env_free(env); + xmlXPathFreeObject(xpathObj); + + printf("Press ENTER to Continue"); + char c; + gets(&c); + return 0; +}
\ No newline at end of file diff --git a/examples/csoap/csoap.vcproj b/examples/csoap/csoap.vcproj new file mode 100644 index 0000000..3d758d8 --- /dev/null +++ b/examples/csoap/csoap.vcproj @@ -0,0 +1,162 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="7.10" + Name="csoap" + ProjectGUID="{3C020FEE-E132-41DB-B3CB-28B4D9331186}" + Keyword="Win32Proj"> + <Platforms> + <Platform + Name="Win32"/> + </Platforms> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="Debug" + IntermediateDirectory="Debug" + ConfigurationType="1" + CharacterSet="2"> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\libcsoap;..\..\" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="TRUE" + BasicRuntimeChecks="0" + RuntimeLibrary="5" + UsePrecompiledHeader="3" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="4" + CompileAs="2"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libcsoap.lib libxml2.lib nanohttp.lib" + OutputFile="$(OutDir)/csoap.exe" + LinkIncremental="2" + AdditionalLibraryDirectories="..\..\nanohttp\Debug;..\..\libcsoap\Debug,..\..\" + IgnoreAllDefaultLibraries="FALSE" + IgnoreDefaultLibraryNames="" + GenerateDebugInformation="TRUE" + ProgramDatabaseFile="$(OutDir)/csoap.pdb" + SubSystem="1" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="Release" + IntermediateDirectory="Release" + ConfigurationType="1" + CharacterSet="2"> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\libcsoap;..\..\" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="4" + UsePrecompiledHeader="3" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="3"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="libcsoap.lib libxml2.lib nanohttp.lib" + OutputFile="$(OutDir)/csoap.exe" + LinkIncremental="1" + AdditionalLibraryDirectories="..\..\nanohttp\Release;..\..\libcsoap\Release,..\..\" + GenerateDebugInformation="TRUE" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> + <File + RelativePath=".\csoap.cpp"> + </File> + <File + RelativePath=".\stdafx.cpp"> + <FileConfiguration + Name="Debug|Win32"> + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1"/> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32"> + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1"/> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> + <File + RelativePath=".\stdafx.h"> + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> + </Filter> + <File + RelativePath=".\ReadMe.txt"> + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/examples/csoap/iconv.dll b/examples/csoap/iconv.dll Binary files differnew file mode 100644 index 0000000..b448e7d --- /dev/null +++ b/examples/csoap/iconv.dll diff --git a/examples/csoap/libxml2.dll b/examples/csoap/libxml2.dll Binary files differnew file mode 100644 index 0000000..410c208 --- /dev/null +++ b/examples/csoap/libxml2.dll diff --git a/examples/csoap/stdafx.cpp b/examples/csoap/stdafx.cpp new file mode 100644 index 0000000..b51f75e --- /dev/null +++ b/examples/csoap/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// csoap.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/examples/csoap/stdafx.h b/examples/csoap/stdafx.h new file mode 100644 index 0000000..f9aca9b --- /dev/null +++ b/examples/csoap/stdafx.h @@ -0,0 +1,12 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + + +#include <iostream> +#include <tchar.h> + +// TODO: reference additional headers your program requires here |