[ http://issues.apache.org/jira/browse/AXISCPP-328?page=all ]
Fred Preston updated AXISCPP-328:
---------------------------------
Assign To: (was: Mark Whitlock)
> Axis methods exported from user dlls
> ------------------------------------
>
> Key: AXISCPP-328
> URL: http://issues.apache.org/jira/browse/AXISCPP-328
> Project: Axis-C++
> Type: Bug
> Components: Basic Architecture
> Versions: 1.4 Final
> Environment: Windows
> Reporter: Mark Whitlock
> Priority: Minor
>
> I am raising this JIRA based on a discussion on the mailing list (see below).
> This is a bug because the external header files that Axis C++ ships should
> not contain __declspec(dllexport) since that makes Axis methods exported from
> application dlls. In other words if a user creates an application that uses
> (and dynamically links to) Axis C++ and builds that application into a dll,
> Axis C++ methods will be exported from the application's dll, which may not
> be what the user wanted. The solution to this is to remove
> __declspec(dllexport) from the external header files and tell the
> compiler/linker to export Axis methods from the AxisClient.dll by some other
> internal mechanism.
> Discussion from the mailing list follows....
> I changed
> #define STORAGE_CLASS_INFO __declspec(dllexport) in GDefine.hpp to
> #define STORAGE_CLASS_INFO
> now only my functions are exported as expected. Is this an acceptable
> solution though?
> Vince.
> -----Original Message-----
> From: Mark Whitlock [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, December 14, 2004 12:47 PM
> To: [email protected]
> Subject: Fw: dll exports
> Hi,
> Methods are exported from the AxisClient.dll by setting
> __declspec(dllexport) on the class definition (look in Call.hpp and
> GDefine.hpp). I guess you are creating your own dll which dynamically
> links
> to the AxisClient.dll. I'm surprised that the methods which are exported
> from the AxisClient.dll are also exported from your dll. I don't know
> the
> answer but you could try
> - making sure you are dynamically linking to the AxisClient.dll not
> statically linking to it
> - see if there is another __declspec override that will "switch off"
> exporting a method
> - remove the __declspec(dllexport) from the axis public header files
> that
> you include
> If this last suggestion works then it looks like a bug in Axis.
> Mark
> Mark Whitlock
> IBM
> ----- Forwarded by Mark Whitlock/UK/IBM on 14/12/2004 17:40 -----
>
> "Jairam,
> Roopnaraine"
> <Roopnaraine.Jair
> To
> [EMAIL PROTECTED]> "Apache AXIS C User List"
> <[email protected]>
> 14/12/2004 15:18
> cc
>
>
> Subject
> Please respond to RE: dll exports
> "Apache AXIS C
> User List"
>
>
>
>
> Can anyone provide some insights...?
> From: Jairam, Roopnaraine
> Sent: Thursday, December 09, 2004 10:32 AM
> To: [email protected]
> Subject: dll exports
> Hi:
> I'm trying to build a dll which calls my axis java webservice everything
> has built ok and I'm able to call the webservice, the only thing is that
> when I look at the dll it has other functions exported besides the one's
> that I made. My question is how can I make the other functions not
> exported.
>
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]
> ??0TestSystem@@[EMAIL PROTECTED]@@@Z
> ??0TestSystem@@[EMAIL PROTECTED]
> ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@Z
> ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@axiscpp@@@Z
> ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@@@Z
> ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@@[EMAIL
> PROTECTED]
>
> ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@DU?$char_t
> ra
> [EMAIL PROTECTED]@std@@[EMAIL PROTECTED]@2@@std@@@Z
> ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]
> ??1TestSystemService_AxisClientException@@[EMAIL PROTECTED]
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z
> [EMAIL PROTECTED]@@6B@
> [EMAIL PROTECTED]@@6B@
> [EMAIL PROTECTED]@@6B@
> [EMAIL PROTECTED]@@6B@
> [EMAIL PROTECTED]@@UAE?BHXZ
>
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]
> p@
> @XZ
>
> [EMAIL PROTECTED]@@QAE?BV?$basic_string@
> DU
> [EMAIL PROTECTED]@std@@[EMAIL PROTECTED]@2@@std@@[EMAIL PROTECTED]
>
> [EMAIL PROTECTED]@@QAE?BV?$basic_string@
> DU
> [EMAIL PROTECTED]@std@@[EMAIL PROTECTED]@2@@std@@PAVexception@@@Z
> [EMAIL PROTECTED]@axiscpp@@[EMAIL PROTECTED]@XZ
> [EMAIL PROTECTED]@axiscpp@@[EMAIL PROTECTED]@XZ
>
> [EMAIL PROTECTED]@@QAEPAVRegistrationResults@@PAVClientTableRecor
> d@
> @PAVKeyTableRecord@@@Z
>
> [EMAIL PROTECTED]@@QAEPAVVerificationResults@@PADHUKeyTableRecord_A
> rr
> ayTag@@@Z
> [EMAIL PROTECTED]@@UAEPBDXZ
>
> Thanks
> Vince.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira