summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar rans2004-08-26 17:00:18 +0000
committerGravatar rans2004-08-26 17:00:18 +0000
commit06694fd4006c6ab76f7902a95cc5623a3649b01e (patch)
tree4675e9eab4856acd2245d82bf385dcda1d37e9ad
parent24339ea4d5b15c1a61ada7b9ea8a935ddfc76dce (diff)
downloadcsoap-06694fd4006c6ab76f7902a95cc5623a3649b01e.tar.gz
csoap-06694fd4006c6ab76f7902a95cc5623a3649b01e.tar.bz2
CSoap Client
-rw-r--r--examples/csoap/csoap.cpp113
-rw-r--r--examples/csoap/csoap.vcproj162
-rw-r--r--examples/csoap/iconv.dllbin0 -> 888832 bytes
-rw-r--r--examples/csoap/libxml2.dllbin0 -> 780288 bytes
-rw-r--r--examples/csoap/stdafx.cpp8
-rw-r--r--examples/csoap/stdafx.h12
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
new file mode 100644
index 0000000..b448e7d
--- /dev/null
+++ b/examples/csoap/iconv.dll
Binary files differ
diff --git a/examples/csoap/libxml2.dll b/examples/csoap/libxml2.dll
new file mode 100644
index 0000000..410c208
--- /dev/null
+++ b/examples/csoap/libxml2.dll
Binary files differ
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