00001
#ifndef XSOAP12_ClientPROXY_H
00002
#define XSOAP12_ClientPROXY_H
00003
00004
#include <map>
00005
#include <ostream>
00006
00007
#include <msl/Sptr.h>
00008
#include <msl/Mutex.h>
00009
00010
#include <wsit/ArgList.h>
00011
#include <wsit/Result.h>
00012
00013
#include <proteus/Invocation.h>
00014
#include <proteus/VobjectFactory.h>
00015
00016
#include "HttpClientChannel.hpp"
00017
#include "XSoap12Serializer.hpp"
00018
#include "XSoap12Deserializer.hpp"
00019
#include "XSoap12Proxy.hpp"
00020
00021
namespace xsoap {
00022
00023
00025
00029 class XSoap12ClientProxy :
public XSoap12Proxy {
00030
00031
00032
public:
00034
00041
XSoap12ClientProxy(
const std::string& uri,
00042
const std::string& act=
"xsoap.extreme.indiana.edu");
00043
00044
00045
public:
00046
00048
00055 msl::Sptr<const wsit::Result>
00056
invoke(
const proteus::Invocation &m);
00057
00058
private:
00059
00060
XSoap12ClientProxy(
const XSoap12ClientProxy &);
00061
XSoap12ClientProxy &operator=(
const XSoap12ClientProxy&);
00062
00063
private:
00065 wsit::Result_sptr unpackResponse(
XSoap12Deserializer&);
00066
00068
void packInvocation(
const proteus::Invocation &,
00069
XSoap12Serializer&);
00070
00071
00072
private:
00073
HttpClientChannel m_ch;
00074 std::string m_soapAction;
00075 };
00076
00077 }
00078
#endif
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090