You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ro...@apache.org on 2006/08/30 12:58:01 UTC
svn commit: r438457 [1/3] - in /incubator/tuscany/cpp/sca:
deploy/extensions/ws/ deploy/extensions/ws/reference/
deploy/extensions/ws/reference/bin/ deploy/extensions/ws/reference/lib/
deploy/extensions/ws/service/ deploy/extensions/ws/service/bin/ dep...
Author: robbinspg
Date: Wed Aug 30 03:57:59 2006
New Revision: 438457
URL: http://svn.apache.org/viewvc?rev=438457&view=rev
Log:
Restructure ws reference/service
Windows build
Added:
incubator/tuscany/cpp/sca/deploy/extensions/ws/
incubator/tuscany/cpp/sca/deploy/extensions/ws/reference/
incubator/tuscany/cpp/sca/deploy/extensions/ws/reference/bin/
incubator/tuscany/cpp/sca/deploy/extensions/ws/reference/lib/
incubator/tuscany/cpp/sca/deploy/extensions/ws/service/
incubator/tuscany/cpp/sca/deploy/extensions/ws/service/bin/
incubator/tuscany/cpp/sca/deploy/extensions/ws/service/lib/
incubator/tuscany/cpp/sca/deploy/extensions/ws/xsd/
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_reference/
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_reference/tuscany_sca_ws_reference.dsp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/Makefile.am (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/Makefile.am (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/Axis2Service_skeleton.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/Axis2Utils.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/Axis2Utils.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSReferenceBindingExtension.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSReferenceBindingExtension.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSServiceProxy.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSServiceProxy.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/model/
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/model/Debug/
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/model/WSReferenceBinding.cpp (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/model/WSReferenceBinding.h (with props)
incubator/tuscany/cpp/sca/runtime/extensions/ws/xsd/
incubator/tuscany/cpp/sca/runtime/extensions/ws/xsd/sca-binding-webservice.xsd (with props)
Removed:
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_service_axis2/
incubator/tuscany/cpp/sca/runtime/extensions/ws_reference/
incubator/tuscany/cpp/sca/runtime/extensions/ws_service/
Modified:
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.dsw
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.ncb
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.opt
incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_service/tuscany_sca_ws_service.dsp
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Component.h
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Composite.h
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLDefinition.h
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLOperation.h
incubator/tuscany/cpp/sca/samples/ides/devstudio6/projects/Calculator/Calculator.ncb
incubator/tuscany/cpp/sca/samples/ides/devstudio6/projects/Calculator/Calculator.opt
incubator/tuscany/cpp/sca/samples/ides/devstudio6/projects/Calculator/Calculator/Calculator.dsp
incubator/tuscany/cpp/sca/samples/ides/devstudio6/projects/Calculator/Client/Client.dsp
incubator/tuscany/cpp/sca/samples/ides/devstudio6/projects/Calculator/WSClient/WSClient.dsp
Modified: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.dsw
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.dsw?rev=438457&r1=438456&r2=438457&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.dsw (original)
+++ incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.dsw Wed Aug 30 03:57:59 2006
@@ -3,6 +3,30 @@
###############################################################################
+Project: "Build"=.\Build\Build.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name tuscany_sca
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name tuscany_sca_cpp
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name tuscany_sca_ws_reference
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name tuscany_sca_ws_service
+ End Project Dependency
+}}}
+
+###############################################################################
+
Project: "tuscany_sca"=.\tuscany_sca\tuscany_sca.dsp - Package Owner=<4>
Package=<5>
@@ -16,6 +40,21 @@
###############################################################################
Project: "tuscany_sca_cpp"=.\tuscany_sca_cpp\tuscany_sca_cpp.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name tuscany_sca
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "tuscany_sca_ws_reference"=.\tuscany_sca_ws_reference\tuscany_sca_ws_reference.dsp - Package Owner=<4>
Package=<5>
{{{
Modified: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.ncb
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.ncb?rev=438457&r1=438456&r2=438457&view=diff
==============================================================================
Binary files - no diff available.
Modified: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.opt
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca.opt?rev=438457&r1=438456&r2=438457&view=diff
==============================================================================
Binary files - no diff available.
Added: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_reference/tuscany_sca_ws_reference.dsp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_reference/tuscany_sca_ws_reference.dsp?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_reference/tuscany_sca_ws_reference.dsp (added)
+++ incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_reference/tuscany_sca_ws_reference.dsp Wed Aug 30 03:57:59 2006
@@ -0,0 +1,149 @@
+# Microsoft Developer Studio Project File - Name="tuscany_sca_ws_reference" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=tuscany_sca_ws_reference - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "tuscany_sca_ws_reference.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "tuscany_sca_ws_reference.mak" CFG="tuscany_sca_ws_reference - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "tuscany_sca_ws_reference - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "tuscany_sca_ws_reference - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "tuscany_sca_ws_reference - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_REFERENCE_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../runtime/extensions/ws/reference/axis2c/src" /I "../../../runtime/core/src" /I "$(TUSCANY_SDOCPP)/include" /I "$(AXIS2C_HOME)/include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_REFERENCE_EXPORTS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 axis2_util.lib axiom.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axis2_engine.lib tuscany_sdo_axiom.lib tuscany_sca.lib tuscany_sdo.lib axis2_parser.lib /nologo /dll /machine:I386 /libpath:"..\..\..\deploy\lib" /libpath:"$(TUSCANY_SDOCPP)\lib" /libpath:"$(AXIS2C_HOME)\lib"
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy ..\..\..\runtime\extensions\ws\xsd\*.xsd ..\..\..\deploy\extensions\ws\xsd copy Release\tuscany_sca_ws_reference.lib ..\..\..\deploy\extensions\ws\reference\lib copy Release\tuscany_sca_ws_reference.dll ..\..\..\deploy\extensions\ws\reference\bin
+# End Special Build Tool
+
+!ELSEIF "$(CFG)" == "tuscany_sca_ws_reference - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_REFERENCE_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../runtime/extensions/ws/reference/axis2c/src" /I "../../../runtime/core/src" /I "$(TUSCANY_SDOCPP)/include" /I "$(AXIS2C_HOME)/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_REFERENCE_EXPORTS" /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 axis2_util.lib axiom.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axis2_engine.lib tuscany_sdo_axiom.lib tuscany_sca.lib tuscany_sdo.lib axis2_parser.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\deploy\lib" /libpath:"$(TUSCANY_SDOCPP)\lib" /libpath:"$(AXIS2C_HOME)\lib"
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy ..\..\..\runtime\extensions\ws\xsd\*.xsd ..\..\..\deploy\extensions\ws\xsd copy Debug\tuscany_sca_ws_reference.dll ..\..\..\deploy\extensions\ws\reference\bin copy Debug\tuscany_sca_ws_reference.pdb ..\..\..\deploy\extensions\ws\reference\bin copy Debug\tuscany_sca_ws_reference.lib ..\..\..\deploy\extensions\ws\reference\lib
+# End Special Build Tool
+
+!ENDIF
+
+# Begin Target
+
+# Name "tuscany_sca_ws_reference - Win32 Release"
+# Name "tuscany_sca_ws_reference - Win32 Debug"
+# Begin Group "tuscany/sca/ws"
+
+# PROP Default_Filter ""
+# Begin Group "model"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\reference\axis2c\src\tuscany\sca\ws\model\WSServiceBinding.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\reference\axis2c\src\tuscany\sca\ws\model\WSServiceBinding.h
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\reference\axis2c\src\tuscany\sca\ws\Axis2Client.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\reference\axis2c\src\tuscany\sca\ws\Axis2Client.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\reference\axis2c\src\tuscany\sca\ws\WSServiceBindingExtension.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\reference\axis2c\src\tuscany\sca\ws\WSServiceBindingExtension.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\reference\axis2c\src\tuscany\sca\ws\WSServiceWrapper.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\reference\axis2c\src\tuscany\sca\ws\WSServiceWrapper.h
+# End Source File
+# End Group
+# Begin Group "xsd"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE="..\..\..\runtime\extensions\ws\xsd\sca-binding-webservice.xsd"
+# End Source File
+# End Group
+# End Target
+# End Project
Propchange: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_reference/tuscany_sca_ws_reference.dsp
------------------------------------------------------------------------------
svn:eol-style = CRLF
Modified: incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_service/tuscany_sca_ws_service.dsp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_service/tuscany_sca_ws_service.dsp?rev=438457&r1=438456&r2=438457&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_service/tuscany_sca_ws_service.dsp (original)
+++ incubator/tuscany/cpp/sca/projects/tuscany_sca/tuscany_sca_ws_service/tuscany_sca_ws_service.dsp Wed Aug 30 03:57:59 2006
@@ -43,7 +43,7 @@
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_SERVICE_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../runtime/core/src" /I "$(TUSCANY_SDOCPP)/include" /I "$(AXIS2C_HOME)/include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_SERVICE_EXPORTS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../runtime/extensions/ws/service/axis2c/src" /I "../../../runtime/core/src" /I "$(TUSCANY_SDOCPP)/include" /I "$(AXIS2C_HOME)/include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_SERVICE_EXPORTS" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
@@ -57,7 +57,7 @@
# ADD LINK32 axis2_util.lib axiom.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axis2_engine.lib tuscany_sdo_axiom.lib tuscany_sca.lib tuscany_sdo.lib /nologo /dll /machine:I386 /libpath:"..\..\..\deploy\lib" /libpath:"$(TUSCANY_SDOCPP)\lib" /libpath:"$(AXIS2C_HOME)\lib"
# Begin Special Build Tool
SOURCE="$(InputPath)"
-PostBuild_Cmds=copy Release\tuscany_sca_ws_service.lib ..\..\..\deploy\lib copy Release\tuscany_sca_ws_service.dll ..\..\..\deploy\bin
+PostBuild_Cmds=copy Release\tuscany_sca_ws_service.lib ..\..\..\deploy\extensions\ws\service\lib copy Release\tuscany_sca_ws_service.dll ..\..\..\deploy\extensions\ws\service\bin copy ..\..\..\runtime\extensions\ws\xsd\*.xsd ..\..\..\deploy\extensions\ws\xsd
# End Special Build Tool
!ELSEIF "$(CFG)" == "tuscany_sca_ws_service - Win32 Debug"
@@ -74,7 +74,7 @@
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_SERVICE_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../runtime/core/src" /I "$(TUSCANY_SDOCPP)/include" /I "$(AXIS2C_HOME)/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_SERVICE_EXPORTS" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../runtime/extensions/ws/service/axis2c/src" /I "../../../runtime/core/src" /I "$(TUSCANY_SDOCPP)/include" /I "$(AXIS2C_HOME)/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "TUSCANY_SCA_WS_SERVICE_EXPORTS" /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
@@ -88,7 +88,7 @@
# ADD LINK32 axis2_util.lib axiom.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axis2_engine.lib tuscany_sdo_axiom.lib tuscany_sca.lib tuscany_sdo.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\deploy\lib" /libpath:"$(TUSCANY_SDOCPP)\lib" /libpath:"$(AXIS2C_HOME)\lib"
# Begin Special Build Tool
SOURCE="$(InputPath)"
-PostBuild_Cmds=copy Debug\tuscany_sca_ws_service.dll ..\..\..\deploy\bin copy Debug\tuscany_sca_ws_service.pdb ..\..\..\deploy\bin copy Debug\tuscany_sca_ws_service.lib ..\..\..\deploy\lib
+PostBuild_Cmds=copy Debug\tuscany_sca_ws_service.dll ..\..\..\deploy\extensions\ws\service\bin copy Debug\tuscany_sca_ws_service.pdb ..\..\..\deploy\extensions\ws\service\bin copy Debug\tuscany_sca_ws_service.lib ..\..\..\deploy\extensions\ws\service\lib copy ..\..\..\runtime\extensions\ws\xsd\*.xsd ..\..\..\deploy\extensions\ws\xsd
# End Special Build Tool
!ENDIF
@@ -97,17 +97,57 @@
# Name "tuscany_sca_ws_service - Win32 Release"
# Name "tuscany_sca_ws_service - Win32 Debug"
-# Begin Group "Source Files"
+# Begin Group "tuscany/sca/ws"
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# PROP Default_Filter ""
+# Begin Group "model"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\service\axis2c\src\tuscany\sca\ws\model\WSReferenceBinding.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\service\axis2c\src\tuscany\sca\ws\model\WSReferenceBinding.h
+# End Source File
# End Group
-# Begin Group "Header Files"
+# Begin Source File
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
+SOURCE=..\..\..\runtime\extensions\ws\service\axis2c\src\tuscany\sca\ws\Axis2Service_skeleton.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\service\axis2c\src\tuscany\sca\ws\Axis2Utils.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\service\axis2c\src\tuscany\sca\ws\Axis2Utils.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\service\axis2c\src\tuscany\sca\ws\WSReferenceBindingExtension.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\service\axis2c\src\tuscany\sca\ws\WSReferenceBindingExtension.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\service\axis2c\src\tuscany\sca\ws\WSServiceProxy.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\runtime\extensions\ws\service\axis2c\src\tuscany\sca\ws\WSServiceProxy.h
+# End Source File
# End Group
-# Begin Group "Resource Files"
+# Begin Group "xsd"
+
+# PROP Default_Filter ""
+# Begin Source File
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+SOURCE="..\..\..\runtime\extensions\ws\xsd\sca-binding-webservice.xsd"
+# End Source File
# End Group
# End Target
# End Project
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Component.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Component.h?rev=438457&r1=438456&r2=438457&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Component.h (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Component.h Wed Aug 30 03:57:59 2006
@@ -20,6 +20,7 @@
#ifndef tuscany_sca_model_component_h
#define tuscany_sca_model_component_h
+#include "tuscany/sca/export.h"
#include <string>
using std::string;
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Composite.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Composite.h?rev=438457&r1=438456&r2=438457&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Composite.h (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/Composite.h Wed Aug 30 03:57:59 2006
@@ -20,6 +20,7 @@
#ifndef tuscany_sca_model_composite_h
#define tuscany_sca_model_composite_h
+#include "tuscany/sca/export.h"
#include <string>
using std::string;
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLDefinition.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLDefinition.h?rev=438457&r1=438456&r2=438457&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLDefinition.h (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLDefinition.h Wed Aug 30 03:57:59 2006
@@ -52,19 +52,19 @@
* @param wsdlModel The data object representing the WSDL document
* defining a web service.
*/
- WSDLDefinition(DataObjectPtr wsdlModel);
+ SCA_API WSDLDefinition(DataObjectPtr wsdlModel);
/**
* Destructor.
*/
- ~WSDLDefinition();
+ SCA_API virtual ~WSDLDefinition();
/**
* Returns the target namespace of the WSDL definitions.
* @return The target namespace.
*/
- string getNamespace(void);
+ SCA_API string getNamespace(void);
/**
* Find an operation in the WSDL definitions.
@@ -75,7 +75,7 @@
* @param operationName The name of the operation to find.
* @return The operation if found. Exception thrown if not found.
*/
- const WSDLOperation& findOperation(const string& serviceName,
+ SCA_API const WSDLOperation& findOperation(const string& serviceName,
const string& portName,
const string& operationName);
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLOperation.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLOperation.h?rev=438457&r1=438456&r2=438457&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLOperation.h (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/model/WSDLOperation.h Wed Aug 30 03:57:59 2006
@@ -50,34 +50,34 @@
* @param endpoint The endpoint address of the operation.
* @param responseName The name of the response message.
*/
- WSDLOperation();
+ SCA_API WSDLOperation();
/**
* Destructor.
*/
- ~WSDLOperation();
+ SCA_API virtual ~WSDLOperation();
/**
* Return the name of the operation for use when serializing an
* outgoing message.
* @return The name of the element in the request message.
*/
- const string& getOperationName() const {return operationName;}
- void setOperationName(const string& opName) {operationName = opName;}
+ SCA_API const string& getOperationName() const {return operationName;}
+ SCA_API void setOperationName(const string& opName) {operationName = opName;}
/**
* The soap action string for this operation.
* @return The soap action.
*/
- const string& getSoapAction() const {return soapAction;}
- void setSoapAction(const string& soapAct) {soapAction = soapAct;}
+ SCA_API const string& getSoapAction() const {return soapAction;}
+ SCA_API void setSoapAction(const string& soapAct) {soapAction = soapAct;}
/**
* Return the endpoint address for the target web service.
* @return The endpoint address.
*/
- const string& getEndpoint() const {return endpoint;}
- void setEndpoint(const string& ep) {endpoint = ep;}
+ SCA_API const string& getEndpoint() const {return endpoint;}
+ SCA_API void setEndpoint(const string& ep) {endpoint = ep;}
enum soapVersion
{
@@ -85,22 +85,22 @@
SOAP12
};
- void setSoapVersion(soapVersion ver) {soapVer = ver;}
- soapVersion getSoapVersion() const {return soapVer;}
+ SCA_API void setSoapVersion(soapVersion ver) {soapVer = ver;}
+ SCA_API soapVersion getSoapVersion() const {return soapVer;}
- void setDocumentStyle(bool docStyle) {documentStyle = docStyle;}
- bool isDocumentStyle() const {return documentStyle;}
+ SCA_API void setDocumentStyle(bool docStyle) {documentStyle = docStyle;}
+ SCA_API bool isDocumentStyle() const {return documentStyle;}
- void setEncoded(bool enc) {encoded = enc;}
- bool isEncoded() const {return encoded;}
+ SCA_API void setEncoded(bool enc) {encoded = enc;}
+ SCA_API bool isEncoded() const {return encoded;}
- void setInputType(const string& inputType);
- const string& getInputTypeUri() const {return inputTypeUri;}
- const string& getInputTypeName() const {return inputTypeName;}
- void setOutputType(const string& outputType);
- const string& getOutputTypeUri() const {return outputTypeUri;}
- const string& getOutputTypeName() const {return outputTypeName;}
+ SCA_API void setInputType(const string& inputType);
+ SCA_API const string& getInputTypeUri() const {return inputTypeUri;}
+ SCA_API const string& getInputTypeName() const {return inputTypeName;}
+ SCA_API void setOutputType(const string& outputType);
+ SCA_API const string& getOutputTypeUri() const {return outputTypeUri;}
+ SCA_API const string& getOutputTypeName() const {return outputTypeName;}
private:
/**
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/Makefile.am?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/Makefile.am (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/Makefile.am Wed Aug 30 03:57:59 2006
@@ -0,0 +1,31 @@
+libdir=$(prefix)/extensions/ws_reference
+lib_LTLIBRARIES = libtuscany_sca_ws_reference.la
+
+noinst_HEADERS = *.h model/*.h
+
+libtuscany_sca_ws_reference_la_SOURCES = \
+WSServiceBindingExtension.cpp \
+model/WSServiceBinding.cpp \
+WSServiceWrapper.cpp \
+Axis2Client.cpp
+
+libtuscany_sca_ws_reference_la_LIBADD = \
+ -L${TUSCANY_SDOCPP}/lib -ltuscany_sdo -ltuscany_sdo_axiom \
+ -L$(top_builddir)/runtime/core/src -ltuscany_sca \
+ -L$(AXIS2C_HOME)/lib \
+ -laxis2_util \
+ -laxis2_axiom \
+ -laxis2_wsdl \
+ -laxis2_engine \
+ -laxis2_parser \
+ -laxis2_minizip \
+ -lpthread \
+ -laxis2_http_sender \
+ -laxis2_http_receiver
+
+INCLUDES = -Imodel -I$(top_builddir)/runtime/core/src \
+ -I${TUSCANY_SDOCPP}/include \
+ -I${AXIS2C_HOME}/include
+
+AM_CPPFLAGS = $(CPPFLAGS) -D_DEBUG
+
\ No newline at end of file
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/Makefile.am
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp Wed Aug 30 03:57:59 2006
@@ -0,0 +1,378 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4091)
+#pragma warning(disable: 4786)
+#endif
+
+#include <axis2_client.h>
+
+#include <axis2_error_default.h>
+#include <axis2_log_default.h>
+#include <axis2_defines.h>
+#include <axiom_soap_const.h>
+#include <platforms/axis2_platform_auto_sense.h>
+
+#include <sdo_axiom.h>
+#include "Axis2Client.h"
+
+#include "tuscany/sca/core/SCARuntime.h"
+#include "tuscany/sca/util/Logging.h"
+#include "model/WSServiceBinding.h"
+#include "tuscany/sca/util/Utils.h"
+#include "tuscany/sca/util/Exceptions.h"
+#include "tuscany/sca/model/Service.h"
+#include "tuscany/sca/model/Composite.h"
+#include "tuscany/sca/model/WSDLDefinition.h"
+#include "tuscany/sca/model/WSDLOperation.h"
+
+using namespace tuscany::sca::ws;
+
+
+using namespace commonj::sdo;
+using namespace commonj::sdo_axiom;
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace ws
+ {
+
+ Axis2Client::Axis2Client(CompositeReference* compositeReference)
+ : compositeReference(compositeReference)
+ {
+ }
+
+ Axis2Client::~Axis2Client()
+ {
+ }
+
+ void Axis2Client::invoke(tuscany::sca::Operation& operation)
+ {
+ LOGENTRY(1, "Axis2Client::invoke");
+
+ // From the service ws-binding, get the namespace of the wsdl endpoint
+ Service* service = compositeReference->getService();
+ WSServiceBinding* binding = (WSServiceBinding *)service->getBinding();
+
+ string portNamespace = binding->getWSDLNamespaceURL();
+
+ // Lookup the wsdl model from the composite, keyed on the namespace
+ // (the wsdl will have been loaded at startup, based on the information in the config file)
+ Composite* composite=compositeReference->getComposite();
+ WSDLDefinition* wsdlDefinition = composite->findWSDLDefinition(portNamespace);
+ if (wsdlDefinition == 0)
+ {
+ string msg = "WSDL not found for " + portNamespace;
+ throw SystemConfigurationException(msg.c_str());
+ }
+
+ const string& operationName = operation.getName();
+
+ // Match the operation in Operation to the operation in the wsdl port type.
+ const WSDLOperation& wsdlOperation = wsdlDefinition->findOperation(
+ binding->getServiceName(),
+ binding->getPortName(),
+ operationName);
+
+ // Initialize Axis2 stuff
+ axis2_allocator_t *allocator = axis2_allocator_init (NULL);
+ axis2_log_t *log = axis2_log_create(allocator, NULL, "tuscany_client.log");
+ axis2_error_t *error = axis2_error_create(allocator);
+ axis2_env_t *env = axis2_env_create_with_error_log(allocator, error, log);
+ env->log->level = AXIS2_LOG_LEVEL_TRACE;
+ axis2_error_init();
+
+ axis2_char_t* address = (axis2_char_t*)wsdlOperation.getEndpoint().c_str();
+ axis2_char_t* opName = (axis2_char_t*)operationName.c_str();
+ axis2_char_t* soap_action = (axis2_char_t*)wsdlOperation.getSoapAction().c_str();
+ axis2_char_t* serviceName = (axis2_char_t*)binding->getServiceName().c_str();
+
+ // create OM from Operation and wsdlOperation
+ axiom_node_t* payload = createPayload(operation, wsdlOperation, env);
+
+ /* Create EPR with given address */
+ axis2_endpoint_ref_t* endpoint_ref = axis2_endpoint_ref_create(env, address);
+
+ /* Setup options */
+ axis2_options_t* options = axis2_options_create(env);
+ AXIS2_OPTIONS_SET_TO(options, env, endpoint_ref);
+ int soap_version = AXIOM_SOAP11;
+ if (wsdlOperation.getSoapVersion() == WSDLOperation::SOAP12)
+ {
+ soap_version = AXIOM_SOAP12;
+ }
+
+ AXIS2_OPTIONS_SET_SOAP_VERSION(options, env, soap_version);
+ AXIS2_OPTIONS_SET_ACTION(options, env, soap_action);
+
+ /* Create service client */
+
+ axis2_char_t* client_home = AXIS2_GETENV("AXIS2C_HOME");
+ if (!client_home)
+ {
+ throw SystemConfigurationException("Environment error: AXIS2C_HOME not set");
+ }
+ axis2_svc_client_t* svc_client = axis2_svc_client_create(env, client_home);
+ if (!svc_client)
+ {
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "invoke FAILED: Error code:"
+ " %d :: %s", env->error->error_number,
+ AXIS2_ERROR_GET_MESSAGE(env->error));
+
+ throw TuscanyRuntimeException("Axis2Client: axis2_svc_client_create failed");
+ }
+
+ /* Set service client options */
+ AXIS2_SVC_CLIENT_SET_OPTIONS(svc_client, env, options);
+
+ /* Send request */
+ axiom_node_t* ret_node = AXIS2_SVC_CLIENT_SEND_RECEIVE(svc_client, env, payload);
+ if(ret_node)
+ {
+ setReturn(ret_node, operation, wsdlOperation, env);
+ }
+ else
+ {
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invoke failed: Error code:"
+ " %d :: %s", env->error->error_number,
+ AXIS2_ERROR_GET_MESSAGE(env->error));
+ throw TuscanyRuntimeException("Axis2Client: Invoke failed");
+ }
+
+ if (svc_client)
+ {
+ AXIS2_SVC_CLIENT_FREE(svc_client, env);
+ svc_client = NULL;
+ }
+
+ LOGEXIT(1, "Axis2Client::invoke");
+ }
+
+ axiom_node_t* Axis2Client::createPayload(Operation& operation,
+ const WSDLOperation& wsdlOp,
+ axis2_env_t* env)
+ {
+ LOGENTRY(1, "Axis2Client::createPayload");
+ axiom_node_t* requestOM = NULL;
+
+ // map the operation request to the wsdl
+ if (wsdlOp.isDocumentStyle())
+ {
+ // Document style
+ // only support single part messages - WS-I compliant
+
+ // Build up the payload as an SDO
+
+ // Get the data factory for the composite (it will already have the typecreates loaded for the xsds)
+ DataFactoryPtr dataFactory = compositeReference->getComposite()->getDataFactory();
+ DataObjectPtr requestDO = dataFactory->create(wsdlOp.getInputTypeUri().c_str(),
+ wsdlOp.getInputTypeName().c_str());
+
+ // Each parameter in the operation should be a property on the request dataobject
+ for (int i=0; i<operation.getNParms(); i++)
+ {
+ Operation::Parameter& parm = operation.getParameter(i);
+ switch(parm.getType())
+ {
+ case Operation::BOOL:
+ {
+ requestDO->setBoolean(i, *(bool*)parm.getValue());
+ break;
+ }
+ case Operation::SHORT:
+ {
+ requestDO->setShort(i, *(short*)parm.getValue());
+ break;
+ }
+ case Operation::LONG:
+ {
+ requestDO->setLong(i, *(long*)parm.getValue());
+ break;
+ }
+ case Operation::USHORT:
+ {
+ requestDO->setInteger(i, *(unsigned short*)parm.getValue());
+ break;
+ }
+ case Operation::ULONG:
+ {
+ requestDO->setInteger(i, *(unsigned long*)parm.getValue());
+ break;
+ }
+ case Operation::FLOAT:
+ {
+ requestDO->setFloat(i, *(float*)parm.getValue());
+ break;
+ }
+ case Operation::DOUBLE:
+ {
+ requestDO->setDouble(i, *(double*)parm.getValue());
+ break;
+ }
+ case Operation::LONGDOUBLE:
+ {
+ requestDO->setDouble(i, *(long double*)parm.getValue());
+ break;
+ }
+ case Operation::CHARS:
+ {
+ requestDO->setCString(i, *(char**)parm.getValue());
+ break;
+ }
+ case Operation::STRING:
+ {
+ requestDO->setCString(i, (*(string*)parm.getValue()).c_str());
+ break;
+ }
+ case Operation::DATAOBJECT:
+ {
+ requestDO->setDataObject(i, *(DataObjectPtr*)parm.getValue());
+ break;
+ }
+ default: throw "unsupported parameter type";
+ }
+ }
+
+ // Create the Axiom object from the request dataobject
+ AxiomHelper myHelper;
+ requestOM = myHelper.toAxiomNode(requestDO);
+ }
+ else
+ {
+ // RPC
+ }
+
+ // Logging start
+ axiom_xml_writer_t* xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER);
+ axiom_output_t* om_output = axiom_output_create( env, xml_writer);
+
+ AXIOM_NODE_SERIALIZE(requestOM, env, om_output);
+ axis2_char_t* buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(xml_writer, env);
+ LOGINFO_1(3, "Sending this OM node in XML : %s \n", buffer);
+
+ AXIOM_OUTPUT_FREE(om_output, env);
+ AXIS2_FREE((env)->allocator, buffer);
+ // Logging end
+
+ LOGEXIT(1, "Axis2Client::createPayload");
+
+ return requestOM;
+ }
+
+ void Axis2Client::setReturn(axiom_node_t* ret_node,
+ Operation& operation,
+ const WSDLOperation& wsdlOp,
+ axis2_env_t* env)
+ {
+ LOGENTRY(1, "Axis2Client::setReturn");
+ /* Get the response value from the SOAP message */
+
+ // logging start
+ axiom_xml_writer_t* writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER);
+ axiom_output_t* om_output = axiom_output_create (env, writer);
+ AXIOM_NODE_SERIALIZE (ret_node, env, om_output);
+ axis2_char_t* buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(writer, env);
+ LOGINFO_1(3,"Received OM node in XML : %s\n", buffer);
+ AXIOM_OUTPUT_FREE(om_output, env);
+ AXIS2_FREE((env)->allocator, buffer);
+ // Logging end
+
+
+ if (wsdlOp.isDocumentStyle())
+ {
+ // Document style
+
+ DataFactoryPtr dataFactory = compositeReference->getComposite()->getDataFactory();
+ AxiomHelper myHelper;
+ DataObjectPtr returnDO = myHelper.toSdo(ret_node, dataFactory);
+
+ unsigned int index = 0;
+ switch(operation.getReturnType())
+ {
+ case Operation::BOOL:
+ {
+ *(bool*)operation.getReturnValue() = returnDO->getBoolean(index);
+ break;
+ }
+ case Operation::SHORT:
+ {
+ *(short*)operation.getReturnValue() = returnDO->getShort(index);
+ break;
+ }
+ case Operation::LONG:
+ {
+ *(long*)operation.getReturnValue() = returnDO->getLong(index);
+ break;
+ }
+ case Operation::USHORT:
+ {
+ *(unsigned short*)operation.getReturnValue() = (unsigned short)returnDO->getInteger(index);
+ break;
+ }
+ case Operation::ULONG:
+ {
+ *(unsigned long*)operation.getReturnValue() = (unsigned long)returnDO->getInteger(index);
+ break;
+ }
+ case Operation::FLOAT:
+ {
+ *(float*)operation.getReturnValue() = returnDO->getFloat(index);
+ break;
+ }
+ case Operation::DOUBLE:
+ {
+ *(double*)operation.getReturnValue() = returnDO->getDouble(index);
+ break;
+ }
+ case Operation::LONGDOUBLE:
+ {
+ *(long double*)operation.getReturnValue() = returnDO->getDouble(index);
+ break;
+ }
+ case Operation::CHARS:
+ {
+ *(char**)operation.getReturnValue() = strdup(returnDO->getCString(index));
+ break;
+ }
+ case Operation::STRING:
+ {
+ *(string*)operation.getReturnValue() = returnDO->getCString(index);
+ break;
+ }
+ case Operation::DATAOBJECT:
+ {
+ *(DataObjectPtr*)operation.getReturnValue() = returnDO->getDataObject(index);
+ break;
+ }
+ default:;
+ }
+ }
+ else
+ {
+ // RPC
+ }
+ LOGEXIT(1, "Axis2Client::setReturn");
+ }
+
+
+
+ } // End namespace ws
+ } // End namespace sca
+} // End namespace tuscany
\ No newline at end of file
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.h?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.h (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.h Wed Aug 30 03:57:59 2006
@@ -0,0 +1,62 @@
+/*
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef tuscany_sca_extension_ws_axis2client_h
+#define tuscany_sca_extension_ws_axis2client_h
+
+#include <axiom.h>
+
+#include "tuscany/sca/core/Operation.h"
+#include "tuscany/sca/model/CompositeReference.h"
+#include "tuscany/sca/model/WSDLOperation.h"
+
+using namespace tuscany::sca::model;
+
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace ws
+ {
+
+ class Axis2Client
+ {
+ public:
+ Axis2Client(CompositeReference* externalService);
+ virtual ~Axis2Client();
+
+ virtual void invoke(Operation& operation);
+
+ private:
+ CompositeReference* compositeReference;
+
+ axiom_node_t* createPayload(Operation& operation,
+ const WSDLOperation& wsdlOp,
+ axis2_env_t* env);
+
+ void setReturn(axiom_node_t* returnNode,
+ Operation& operation,
+ const WSDLOperation& wsdlOp,
+ axis2_env_t* env);
+
+ };
+ } // End namespace ws
+ } // End namespace sca
+} // End namespace tuscany
+
+#endif // tuscany_sca_extension_ws_axis2client_h
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.h
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp Wed Aug 30 03:57:59 2006
@@ -0,0 +1,96 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+#include "WSServiceBindingExtension.h"
+#include "model/WSServiceBinding.h"
+#include "tuscany/sca/util/Logging.h"
+#include "tuscany/sca/util/Utils.h"
+#include "tuscany/sca/core/SCARuntime.h"
+
+extern "C"
+{
+ #if defined(WIN32) || defined(_WINDOWS)
+ __declspec(dllexport)
+ #endif
+ void tuscany_sca_extension_initialize()
+ {
+ tuscany::sca::ws::WSServiceBindingExtension::initialize();
+ }
+}
+
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace ws
+ {
+ // ===================================================================
+ // Constructor for the WSServiceBinding class.
+ // ===================================================================
+ WSServiceBindingExtension::WSServiceBindingExtension()
+ {
+ LOGENTRY(1, "WSServiceBindingExtension::constructor");
+ LOGEXIT(1, "WSServiceBindingExtension::constructor");
+ }
+
+ // ===================================================================
+ // Destructor for the WSServiceBindingExtension class.
+ // ===================================================================
+ WSServiceBindingExtension::~WSServiceBindingExtension()
+ {
+ LOGENTRY(1, "WSServiceBindingExtension::destructor");;
+ LOGEXIT(1, "WSServiceBindingExtension::destructor");
+ }
+
+ const string WSServiceBindingExtension::extensionName("ws");
+ const string WSServiceBindingExtension::typeQName("http://www.osoa.org/xmlns/sca/1.0#WebServiceBinding");
+
+
+ // ===================================================================
+ // loadModelElement - load the info from binding.ws
+ // ===================================================================
+ ServiceBinding* WSServiceBindingExtension::getServiceBinding(Composite *composite, Service* service, DataObjectPtr scdlBinding)
+ {
+ string bindingType = scdlBinding->getType().getName();
+ if (bindingType == "WebServiceBinding")
+ {
+ string uri = scdlBinding->getCString("uri");
+ string port = scdlBinding->getCString("port");
+
+ WSServiceBinding* serviceBinding = new WSServiceBinding(service, uri, port);
+
+ return serviceBinding;
+ }
+ else
+ {
+ return NULL;
+ }
+ }
+
+ void WSServiceBindingExtension::initialize()
+ {
+ LOGENTRY(1, "WSServiceBindingExtension::initialize");;
+ SCARuntime::getInstance()->registerServiceBindingExtension(new WSServiceBindingExtension());
+ LOGEXIT(1, "WSServiceBindingExtension::initialize");;
+ }
+
+ } // End namespace ws
+ } // End namespace sca
+} // End namespace tuscany
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.cpp
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.h?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.h (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.h Wed Aug 30 03:57:59 2006
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#ifndef tuscany_sca_extension_wsservicebindingextension_h
+#define tuscany_sca_extension_wsservicebindingextension_h
+
+#include "tuscany/sca/extension/ServiceBindingExtension.h"
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace ws
+ {
+
+ class WSServiceBindingExtension : public ServiceBindingExtension
+ {
+ public:
+ /**
+ * Default constructor
+ */
+ WSServiceBindingExtension();
+
+ /**
+ * Destructor
+ */
+ virtual ~WSServiceBindingExtension();
+
+ /**
+ * return the name of the extension
+ */
+ virtual const string& getExtensionName() {return extensionName;}
+
+ /**
+ * return the QName of schema elemant for this implementation extension
+ * (e.g. "http://www.osoa.org/xmlns/sca/1.0#binding.ws")
+ */
+ virtual const string& getExtensionTypeQName() {return typeQName;}
+
+ virtual ServiceBinding* getServiceBinding(Composite* composite, Service* service, DataObjectPtr scdlBinding);
+
+ static void initialize();
+
+ private:
+ static const string extensionName;
+ static const string typeQName;
+
+ };
+
+
+ } // End namespace ws
+ } // End namespace sca
+} // End namespace tuscany
+
+#endif //tuscany_sca_extension_wsservicebindingextension_h
+
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceBindingExtension.h
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.cpp?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.cpp (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.cpp Wed Aug 30 03:57:59 2006
@@ -0,0 +1,79 @@
+/*
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Rev$ $Date$ */
+#if defined(WIN32) || defined (_WINDOWS)
+#pragma warning(disable: 4091)
+#endif
+
+#include "tuscany/sca/util/Logging.h"
+#include "Axis2Client.h"
+#include "WSServiceWrapper.h"
+#include "tuscany/sca/core/Operation.h"
+#include "tuscany/sca/model/Service.h"
+#include "tuscany/sca/model/ServiceType.h"
+
+using namespace tuscany::sca;
+using namespace tuscany::sca::model;
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace ws
+ {
+
+ WSServiceWrapper::WSServiceWrapper(Service* service) : ServiceWrapper(service)
+ {
+ }
+
+ WSServiceWrapper::~WSServiceWrapper()
+ {
+ }
+
+ ///
+ /// This method will be called when a web service call needs to be made.
+ ///
+ void WSServiceWrapper::invoke(Operation& operation)
+ {
+ LOGENTRY(1, "WSServiceWrapper::invoke");
+
+ const string& operationName = operation.getName();
+
+ LOGINFO_2(2,"Service: %s, Operation: %s", getService()->getType()->getName().c_str() , operationName.c_str());
+
+ for (unsigned int i=0; i<operation.getNParms(); i++)
+ {
+ LOGINFO_2(2, "Parameter %p, Type %u", operation.getParameterValue(i),(int) operation.getParameterType(i));
+ }
+
+ // Create the Axis2 client that will handle the Web Service invocation
+ Service* service = getService();
+ CompositeReference* compositeReference = (CompositeReference*)service->getComponent();
+
+ Axis2Client client(compositeReference);
+ client.invoke(operation);
+
+ LOGEXIT(1, "WSServiceWrapper::invoke");
+ }
+
+ } // End namespace ws
+ } // End namespace sca
+} // End namespace tuscany
+
+
+
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.cpp
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.h?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.h (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.h Wed Aug 30 03:57:59 2006
@@ -0,0 +1,65 @@
+/*
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef tuscany_sca_extension_ws_wsservicewrapper_h
+#define tuscany_sca_extension_ws_wsservicewrapper_h
+
+#include "tuscany/sca/core/ServiceWrapper.h"
+#include "tuscany/sca/core/Operation.h"
+#include "tuscany/sca/model/Service.h"
+
+using namespace tuscany::sca::model;
+
+
+namespace tuscany
+{
+ namespace sca
+ {
+
+ namespace ws
+ {
+
+ class WSServiceWrapper : public ServiceWrapper
+ {
+ public:
+
+ /**
+ * Constructor.
+ * @param target The service wrapper represents a Web service.
+ */
+ WSServiceWrapper(Service* service);
+
+ /**
+ * Destructor
+ */
+ virtual ~WSServiceWrapper();
+
+ /**
+ * All business method calls on the target service are performed through
+ * this invoke method.
+ * @param operation The details of the method, paramaters and return value for the
+ * business method to be called on the target service.
+ */
+ virtual void invoke(Operation& operation);
+ };
+ } // End namespace ws
+ } // End namespace sca
+} // End namespace tuscany
+
+#endif // tuscany_sca_ws_wsservicewrapper_h
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/WSServiceWrapper.h
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.cpp?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.cpp (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.cpp Wed Aug 30 03:57:59 2006
@@ -0,0 +1,132 @@
+/*
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Rev$ $Date$ */
+
+#include "tuscany/sca/util/Logging.h"
+#include "tuscany/sca/ws/model/WSServiceBinding.h"
+#include "tuscany/sca/core/ServiceWrapper.h"
+#include "tuscany/sca/ws/WSServiceWrapper.h"
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace ws
+ {
+
+ // Constructor
+ WSServiceBinding::WSServiceBinding(Service* service, const string& uri, const string& port)
+ : ServiceBinding(service, uri), port(port)
+ {
+ parsePort();
+
+ serviceWrapper = new WSServiceWrapper(service);
+ }
+
+ void WSServiceBinding::parsePort()
+ {
+ // Port is of the form: <wsdl-namepace-uri>#wsdl.endpoint(<service-name>/<port-name>)
+ string::size_type hash = port.find("#");
+ if (hash != string::npos)
+ {
+ // Found a hash
+
+ // Namepace is the part before the #
+ wsdlNamespaceURL = port.substr(0, hash);
+
+
+ if ( (hash+1) < port.length())
+ {
+ // Check the next part is wsdl.endpoint(
+ int ending = hash+15;
+ string check = port.substr(hash+1, 14);
+ if (check.compare("wsdl.endpoint(") == 0)
+ {
+ // Find the matching )
+ int endBracket = port.find(")",ending);
+ if (endBracket-1 > ending+1)
+ {
+ string serviceAndPort = port.substr(ending, endBracket-ending);
+ // Look for a '/'
+ string::size_type slash = serviceAndPort.find("/");
+ if (slash != string::npos)
+ {
+ serviceName = serviceAndPort.substr(0, slash);
+
+ if ( (slash+1) < serviceAndPort.length())
+ {
+ portName = serviceAndPort.substr(slash+1);
+ }
+ else
+ {
+ portName = "";
+ }
+
+ }
+ else
+ {
+ // No '/' so all of it is the service name
+ serviceName = serviceAndPort;
+ portName = "";
+
+ }
+ }
+ else
+ {
+ // Nothing between the ()
+ serviceName = "";
+ portName = "";
+ }
+ }
+ else
+ {
+ // not the correct characters after the #, ignore the rest
+ serviceName = "";
+ portName = "";
+ }
+
+ }
+ else
+ {
+ // Nothing after the hash
+ serviceName = "";
+ portName = "";
+ }
+ }
+ else
+ {
+ // No hash at all
+ wsdlNamespaceURL = port;
+ serviceName = "";
+ portName = "";
+ }
+ }
+
+ // Destructor
+ WSServiceBinding::~WSServiceBinding()
+ {
+ }
+
+ ServiceWrapper* WSServiceBinding::getServiceWrapper()
+ {
+ return serviceWrapper;
+ }
+
+ } // End namespace ws
+ } // End namespace sca
+} // End namespace tuscany
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.cpp
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.h?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.h (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.h Wed Aug 30 03:57:59 2006
@@ -0,0 +1,124 @@
+/*
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef tuscany_sca_extension_ws_model_wsservicebinding_h
+#define tuscany_sca_extension_ws_model_wsservicebinding_h
+
+#include "tuscany/sca/model/ServiceBinding.h"
+#include "tuscany/sca/model/Service.h"
+
+#include <string>
+using std::string;
+
+namespace tuscany
+{
+ namespace sca
+ {
+ namespace ws
+ {
+ /**
+ * Information about a web service binding for service or a reference.
+ */
+ class WSServiceBinding : public model::ServiceBinding
+ {
+ public:
+
+ /**
+ * Constructor.
+ * @param uri The uri of the binding.
+ * @param port The definition of the port to which the entrypoint
+ * or external service is to be bound. This is of the form
+ * "namespace"#endpoint("service"/"port")
+ */
+ WSServiceBinding(model::Service* service, const string& uri, const string& port);
+
+ /**
+ * Destructor.
+ */
+ virtual ~WSServiceBinding();
+
+ /**
+ * Returns the type of binding.
+ */
+ virtual string getType() { return "http://www.osoa.org/xmlns/sca/1.0#WebServiceBinding"; };
+
+ /**
+ * Create a wrapper for the service configured by this
+ * binding.
+ */
+ virtual ServiceWrapper* getServiceWrapper();
+
+ /**
+ * Return the part of the port definition describing the wsdl
+ * namespace.
+ * @return The wsdl namespace.
+ */
+ string getWSDLNamespaceURL() const { return wsdlNamespaceURL; };
+
+ /**
+ * Return the service part of the port definition.
+ * @return The service to use.
+ */
+ string getServiceName() const { return serviceName; };
+
+ /**
+ * Return the port name part of the port definition.
+ * @return The port name to use.
+ */
+ string getPortName() const { return portName; };
+
+ private:
+
+ /**
+ * Parse the port specification.
+ */
+ void parsePort();
+
+ /**
+ * The full port string.
+ */
+ string port;
+
+ /**
+ * Namespace from the port.
+ */
+ string wsdlNamespaceURL;
+
+ /**
+ * Service name from the port.
+ */
+ string serviceName;
+
+ /**
+ * Port name from the port.
+ */
+ string portName;
+
+ /**
+ * The wrapper for the service configured by this binding.
+ */
+ ServiceWrapper* serviceWrapper;
+
+ };
+
+ } // End namespace model
+ } // End namespace sca
+} // End namespace tuscany
+
+#endif // tuscany_sca_extension_ws_model_wsservicebinding_h
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/model/WSServiceBinding.h
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/Makefile.am?rev=438457&view=auto
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/Makefile.am (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/Makefile.am Wed Aug 30 03:57:59 2006
@@ -0,0 +1,32 @@
+libdir=$(prefix)/extensions/ws_service
+lib_LTLIBRARIES = libtuscany_sca_ws_service.la
+
+noinst_HEADERS = *.h model/*.h
+
+libtuscany_sca_ws_service_la_SOURCES = \
+WSReferenceBindingExtension.cpp \
+model/WSReferenceBinding.cpp \
+WSServiceProxy.cpp \
+Axis2Service_skeleton.cpp \
+Axis2Utils.cpp
+
+libtuscany_sca_ws_service_la_LIBADD = \
+ -L${TUSCANY_SDOCPP}/lib -ltuscany_sdo -ltuscany_sdo_axiom \
+ -L$(top_builddir)/runtime/core/src -ltuscany_sca
+ -L$(AXIS2C_HOME)/lib \
+ -laxis2_util \
+ -laxis2_axiom \
+ -laxis2_wsdl \
+ -laxis2_engine \
+ -laxis2_parser \
+ -laxis2_minizip \
+ -lpthread \
+ -laxis2_http_sender \
+ -laxis2_http_receiver
+
+INCLUDES = -Imodel -I$(top_builddir)/runtime/core/src \
+ -I${TUSCANY_SDOCPP}/include \
+ -I${AXIS2C_HOME}/include
+
+AM_CPPFLAGS = $(CPPFLAGS) -D_DEBUG
+
\ No newline at end of file
Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/Makefile.am
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org