You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Zoltán Altfatter <al...@gmail.com> on 2007/03/05 17:03:24 UTC

dll description has invalid state

Hi,

I'm using Axis2C 0.96 and Axis2/Java 1.1.1.
I made a simple SayHelloService with Axis2/Java, generated the wsdl file
with java2wsdl tool.
Then I generated Axis2/C stub and skeleton files from the wsdl file.
After a few hours finally I managed to compile them with Microsoft Visual
Studio...with Eclipse CDT somehow I couldn't manage, to set the gcc command
properly...it failed with during linking.
Anyway, with Microsoft Visual Studio I obtained the dll file.
After deploying the service to the Axis2/C standalone  web server, I tried
to call it from a Java client.
But I received an AxisFault exception with the following message:
"dll description has invalid state of not having valid dll create
function,         of valid delete function or valid dll_handler"

>From Java client I can call the already deployed sample echo service in
Axis2/C...but when I try to build this sample echo service and deploy it to
Axis2/C web server I receive again the AxisFault exception with the same
error message.

So I suppose there is some problem with my dll creation...

Could you help me?

Zoli.

Re: [Axis2] rampart/security question

Posted by Kaushalye Kapuruge <ka...@wso2.com>.
Hi George,
See my comments below.
Cheers,
Kau

George Stanchev wrote:
> Hi,
>
> I am new to axis2/c and I had a use cases that wanted to see if 
> it is supported.
>
> Clients of my services are expected to pass a SAML assertion in
> wsse header. The header is or it is not tagged with specific actor.
> The SAML asserttion needs to be checked for:
> * integrity (using its signature)
> * trust (using the PK/cert used to sign the assertion - checked against
>   a local keystore)
> * expiration
>
> Finally, the assertion needs to be passed to the services (or the
> services
> need to be able to get a hold of it) so they can use it further.
>
> Can someone tell me what in the use case above its possible and what now
> currently and may be suggest implementation direction? 
Unfortunately Rampart/C does not support SAML yet. But indeed it is in 
our TODO list.
> Should I write
> a custom handler if rampart doesn't support this? Does axis2/c allows
> access to processed and unprocessed SOAP headers from within the
> services?
>   
Yes, you may. Axis2 architecture allows you to have your own handlers 
and do the SOAP header processing. Alternatively you can use rampart 
handlers and customize it to do the SAML processing.
If you are developing in C++ you can use OpenSAML. 
http://www.opensaml.org/ rather than writing your own SAML library.
And FYI: We are expecting to enrich Rampart/C with SAML by July 2006.
> Thanks in advance!!
>   
You are welcome.
> George Stanchev
>
>
> **********************************************************************
> This email and any files transmitted with it are confidential and
> intended solely for the use of the individual or entity to whom they
> are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


[Axis2] soap serialization

Posted by George Stanchev <Gs...@serena.com>.
Hi,

Another, probably basic, question: I need to serialize a SOAP call to a
string buffer
without sending it anywhere. How do I this with axis2/c? Can you give me
some leads?

On the java side, I had to go through some hoops to get this - I had to
create a 
dummy transport that I used to reflect back the outbound message when I
was doing
a call-out serialization. How can I do the same thing in axis2/c?

Thanks!

George Stanchev

**********************************************************************
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


[Axis2] rampart/security question

Posted by George Stanchev <Gs...@serena.com>.
Hi,

I am new to axis2/c and I had a use cases that wanted to see if 
it is supported.

Clients of my services are expected to pass a SAML assertion in
wsse header. The header is or it is not tagged with specific actor.
The SAML asserttion needs to be checked for:
* integrity (using its signature)
* trust (using the PK/cert used to sign the assertion - checked against
  a local keystore)
* expiration

Finally, the assertion needs to be passed to the services (or the
services
need to be able to get a hold of it) so they can use it further.

Can someone tell me what in the use case above its possible and what now
currently and may be suggest implementation direction? Should I write
a custom handler if rampart doesn't support this? Does axis2/c allows
access to processed and unprocessed SOAP headers from within the
services?

Thanks in advance!!

George Stanchev


**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: [Axis2] IIS support for IIS 6

Posted by Supun Kamburugamuva <su...@gmail.com>.
Hi,
1. No, It won't work. The reason is that with IIS 6 Worker Process
Isolationa mode (the default) there is no guarantee that filters are
going to be single instansiated. But in the current implementation I
assume that filters are single instansiated. Still I couldn't setup a
Windows Server 2003 machine for developing the module on IIS 6. As
soon as I setup a machine I will look in to this issue. Please create
a Jira on this issue.

2. I haven't tested it with SSL. I will let you know soon.

Supun..


On 3/7/07, Dave Meier <DM...@serena.com> wrote:
> Hi Supun,
>
> Thanks for creating the IIS filter for Axis2C.  I had 2 questions:
>
> 1.  Will the filter work with IIS 6 when running in full IIS 6 mode (not
> IIS 5 compatibility mode)?
>
> 2.  Will it work with SSL (e.g. a url like https://localhost/...)?
>
> Thanks,
>
> -Dave Meier.
>
>
> **********************************************************************
> This email and any files transmitted with it are confidential and
> intended solely for the use of the individual or entity to whom they
> are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


[Axis2] IIS support for IIS 6

Posted by Dave Meier <DM...@SERENA.com>.
Hi Supun,
 
Thanks for creating the IIS filter for Axis2C.  I had 2 questions:
 
1.  Will the filter work with IIS 6 when running in full IIS 6 mode (not
IIS 5 compatibility mode)?
 
2.  Will it work with SSL (e.g. a url like https://localhost/...)?
 
Thanks,
 
-Dave Meier.


**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: dll description has invalid state

Posted by Supun Kamburugamuva <su...@gmail.com>.
Hi,

error C2491: 'axis2_get_instance' : definition of dllimport function
not allowed
error C2491: 'axis2_remove_instance' : definition of dllimport
function not allowed

These errors are cuased by not declaring the AXIS2_DECLARE_EXPORT as a
preprocessor derective.
If this preprocessor derective is not defined AXIS2_EXTERN beomes a
__declspec(dllimport) . That is what causing the error.

If the AXIS2_DECLARE_EXPORT is defined AXIS2_EXTERN becomes
__declspec(dllexport). In a service we want to export these two
functions. So this is what we require. All this mappings are in the
axis2c/utils/include/axis2_utils_defines.h.

The best way to add this preprocessor derective is to declare it in
the VC project properties. (project properties->configuration
properties->c/c++ -> preprocessor -> pre processor definitions). The
other services also has this preprocessor derective in the project
properties.

Supun.

On 3/6/07, Milinda Pathirage <mi...@gmail.com> wrote:
> hi,
> Please try to compile the source after replacing
>
> AXIS2_EXTERN int AXIS2_CALL
>     axis2_get_instance(struct axis2_svc_skeleton **inst,
>                             const axis2_env_t *env)
>     {
>           ...
>     }
>
> AXIS2_EXTERN int AXIS2_CALL
>     axis2_remove_instance(axis2_svc_skeleton_t *inst,
>                             const axis2_env_t *env)
>     {
>       ...
>     }
>
> to
>
> AXIS2_EXTERN int
> axis2_get_instance(axis2_svc
> _skeleton_t **inst,
>         const axis2_env_t *env) {
> ...
> }
>
>
> AXIS2_EXTERN int
> axis2_remove_instance(axis2_svc_skeleton_t *inst,
>         const axis2_env_t *env) {
> ...
> }
>
> Also it's better if you can use the current Axis2/C trunk.
>
> Thnaks
> Milinda
>
>
>
>
>
> On 3/6/07, Zoltán Altfatter <al...@gmail.com> wrote:
> >
> > Hi Milinda,
> >
> > Yes, you're right about that functions, there is something wrong with
> them.
> >
> > I found out something. In Microsoft Visual Studio I build the project like
> Win32 application, and building this way the sample echo service from
> Axis2/C and dll created is ok, meaning that I can connect to that with a
> Java client using Axis2/Java.
> >
> > I tried also this with my generated SayHelloService service.
> > But unfortunately has compile errors which I don't understand:
> >
> > error C2491: 'axis2_get_instance' : definition of dllimport function not
> allowed
> > error C2491: 'axis2_remove_instance' : definition of dllimport function
> not allowed
> >
> > The generated axis2_get_instance and axis2_remove_instance functions look
> like the following:
> >
> > AXIS2_EXTERN int AXIS2_CALL
> >     axis2_get_instance(struct axis2_svc_skeleton **inst,
> >                             const axis2_env_t *env)
> >     {
> >           ...
> >     }
> >
> > AXIS2_EXTERN int AXIS2_CALL
> >     axis2_remove_instance(axis2_svc_skeleton_t *inst,
> >                             const axis2_env_t *env)
> >     {
> >       ...
> >     }
> >
> > I don't understand the AXIS2_EXTERN and AXIS2_CALL what are those...
> >
> > The axis2_get_instance and axis2_remove_instance functions from sample
> echo service from AXIS2/C look different:
> >
> > AXIS2_EXPORT int
> > axis2_get_instance(axis2_svc_skeleton_t **inst,
> >         const axis2_env_t *env) {
> > ...
> > }
> >
> >
> > AXIS2_EXPORT int
> > axis2_remove_instance(axis2_svc_skeleton_t *inst,
> >         const axis2_env_t *env) {
> > ...
> > }
> >
> > I've attached the generated files to this mail.
> >
> > Could you check them?
> > Thank you.
> >
> > Zoli
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> axis-c-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-c-user-help@ws.apache.org
> >
> >
>
>
>
> --
> milinda@wso2.com
> WSO2, Inc: http://www.wso2.com "Oxygenating the Web Service Platform"
> http://www.milindalakmal.wordpress.com

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: dll description has invalid state

Posted by Nandika Jayawardana <ja...@gmail.com>.
Hi Zoli,

AXIS2_EXTERN means whether the function is exported or not from the dll and
AXIS2_CALL is the calling convention of the function. On windows AXIS2_CALL
is expanded as __stdcall and AXIS2_EXTERN as __declspec(dllexport).You can
find more on this by looking at the header file axis2_utils_defines.h.
   When there is AXIS2_CALL in the function, LoadLibrary() function, which
is used to load the dll fails.

Regards,
Nandika




On 3/6/07, Milinda Pathirage <mi...@gmail.com> wrote:
>
> hi,
> Please try to compile the source after replacing
>
> AXIS2_EXTERN int AXIS2_CALL
>     axis2_get_instance(struct axis2_svc_skeleton **inst,
>                             const axis2_env_t *env)
>     {
>           ...
>     }
>
> AXIS2_EXTERN int AXIS2_CALL
>     axis2_remove_instance(axis2_svc_skeleton_t *inst,
>                             const axis2_env_t *env)
>     {
>       ...
>     }
>
> to
>
> AXIS2_EXTERN int
> axis2_get_instance(axis2_svc_skeleton_t **inst,
>         const axis2_env_t *env) {
> ...
> }
>
>
> AXIS2_EXTERN int
> axis2_remove_instance(axis2_svc_skeleton_t *inst,
>         const axis2_env_t *env) {
> ...
> }
>
> Also it's better if you can use the current Axis2/C trunk.
>
> Thnaks
> Milinda
>
>
>
>
> On 3/6/07, Zoltán Altfatter <al...@gmail.com> wrote:
>
> > Hi Milinda,
> >
> > Yes, you're right about that functions, there is something wrong with
> > them.
> >
> > I found out something. In Microsoft Visual Studio I build the project
> > like Win32 application, and building this way the sample echo service from
> > Axis2/C and dll created is ok, meaning that I can connect to that with a
> > Java client using Axis2/Java.
> >
> > I tried also this with my generated SayHelloService service.
> > But unfortunately has compile errors which I don't understand:
> >
> > error C2491: 'axis2_get_instance' : definition of dllimport function not
> > allowed
> > error C2491: 'axis2_remove_instance' : definition of dllimport function
> > not allowed
> >
> > The generated axis2_get_instance and axis2_remove_instance functions
> > look like the following:
> >
> > AXIS2_EXTERN int AXIS2_CALL
> >     axis2_get_instance(struct axis2_svc_skeleton **inst,
> >                             const axis2_env_t *env)
> >     {
> >           ...
> >     }
> >
> > AXIS2_EXTERN int AXIS2_CALL
> >     axis2_remove_instance(axis2_svc_skeleton_t *inst,
> >                             const axis2_env_t *env)
> >     {
> >       ...
> >     }
> >
> > I don't understand the AXIS2_EXTERN and AXIS2_CALL what are those...
> >
> > The axis2_get_instance and axis2_remove_instance functions from sample
> > echo service from AXIS2/C look different:
> >
> > AXIS2_EXPORT int
> > axis2_get_instance(axis2_svc_skeleton_t **inst,
> >         const axis2_env_t *env) {
> > ...
> > }
> >
> >
> > AXIS2_EXPORT int
> > axis2_remove_instance(axis2_svc_skeleton_t *inst,
> >         const axis2_env_t *env) {
> > ...
> > }
> >
> > I've attached the generated files to this mail.
> >
> > Could you check them?
> > Thank you.
> >
> > Zoli
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-c-user-help@ws.apache.org
> >
> >
>
>
> --
> milinda@wso2.com
> WSO2, Inc: http://www.wso2.com "Oxygenating the Web Service Platform"
> http://www.milindalakmal.wordpress.com
>



-- 
nandika@wso2.com
WSO2 INC www.wso2.com

Re: dll description has invalid state

Posted by Milinda Pathirage <mi...@gmail.com>.
hi,
Please try to compile the source after replacing

AXIS2_EXTERN int AXIS2_CALL
    axis2_get_instance(struct axis2_svc_skeleton **inst,
                            const axis2_env_t *env)
    {
          ...
    }

AXIS2_EXTERN int AXIS2_CALL
    axis2_remove_instance(axis2_svc_skeleton_t *inst,
                            const axis2_env_t *env)
    {
      ...
    }

to

AXIS2_EXTERN int
axis2_get_instance(axis2_svc_skeleton_t **inst,
        const axis2_env_t *env) {
...
}


AXIS2_EXTERN int
axis2_remove_instance(axis2_svc_skeleton_t *inst,
        const axis2_env_t *env) {
...
}

Also it's better if you can use the current Axis2/C trunk.

Thnaks
Milinda




On 3/6/07, Zoltán Altfatter <al...@gmail.com> wrote:
>
> Hi Milinda,
>
> Yes, you're right about that functions, there is something wrong with
> them.
>
> I found out something. In Microsoft Visual Studio I build the project like
> Win32 application, and building this way the sample echo service from
> Axis2/C and dll created is ok, meaning that I can connect to that with a
> Java client using Axis2/Java.
>
> I tried also this with my generated SayHelloService service.
> But unfortunately has compile errors which I don't understand:
>
> error C2491: 'axis2_get_instance' : definition of dllimport function not
> allowed
> error C2491: 'axis2_remove_instance' : definition of dllimport function
> not allowed
>
> The generated axis2_get_instance and axis2_remove_instance functions look
> like the following:
>
> AXIS2_EXTERN int AXIS2_CALL
>     axis2_get_instance(struct axis2_svc_skeleton **inst,
>                             const axis2_env_t *env)
>     {
>           ...
>     }
>
> AXIS2_EXTERN int AXIS2_CALL
>     axis2_remove_instance(axis2_svc_skeleton_t *inst,
>                             const axis2_env_t *env)
>     {
>       ...
>     }
>
> I don't understand the AXIS2_EXTERN and AXIS2_CALL what are those...
>
> The axis2_get_instance and axis2_remove_instance functions from sample
> echo service from AXIS2/C look different:
>
> AXIS2_EXPORT int
> axis2_get_instance(axis2_svc_skeleton_t **inst,
>         const axis2_env_t *env) {
> ...
> }
>
>
> AXIS2_EXPORT int
> axis2_remove_instance(axis2_svc_skeleton_t *inst,
>         const axis2_env_t *env) {
> ...
> }
>
> I've attached the generated files to this mail.
>
> Could you check them?
> Thank you.
>
> Zoli
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>


-- 
milinda@wso2.com
WSO2, Inc: http://www.wso2.com "Oxygenating the Web Service Platform"
http://www.milindalakmal.wordpress.com

Re: dll description has invalid state

Posted by Zoltán Altfatter <al...@gmail.com>.
Hi Milinda,

Yes, you're right about that functions, there is something wrong with them.

I found out something. In Microsoft Visual Studio I build the project like
Win32 application, and building this way the sample echo service from
Axis2/C and dll created is ok, meaning that I can connect to that with a
Java client using Axis2/Java.

I tried also this with my generated SayHelloService service.
But unfortunately has compile errors which I don't understand:

error C2491: 'axis2_get_instance' : definition of dllimport function not
allowed
error C2491: 'axis2_remove_instance' : definition of dllimport function not
allowed

The generated axis2_get_instance and axis2_remove_instance functions look
like the following:

AXIS2_EXTERN int AXIS2_CALL
    axis2_get_instance(struct axis2_svc_skeleton **inst,
                            const axis2_env_t *env)
    {
          ...
    }

AXIS2_EXTERN int AXIS2_CALL
    axis2_remove_instance(axis2_svc_skeleton_t *inst,
                            const axis2_env_t *env)
    {
      ...
    }

I don't understand the AXIS2_EXTERN and AXIS2_CALL what are those...

The axis2_get_instance and axis2_remove_instance functions from sample echo
service from AXIS2/C look different:

AXIS2_EXPORT int
axis2_get_instance(axis2_svc_skeleton_t **inst,
        const axis2_env_t *env) {
...
}


AXIS2_EXPORT int
axis2_remove_instance(axis2_svc_skeleton_t *inst,
        const axis2_env_t *env) {
...
}

I've attached the generated files to this mail.

Could you check them?
Thank you.

Zoli

Re: dll description has invalid state

Posted by Milinda Pathirage <mi...@gmail.com>.
Hi,
I think this is beacuase of the problems in generated
axis2_svc_skel_<name>.c and header file's


axis2_get_instance(struct axis2_svc_skeleton **inst,
                            const axis2_env_t *env)

axis2_remove_instance(axis2_svc_skeleton_t *inst,
                            const axis2_env_t *env)
functions have some problems. Please can u attach the source and header file
of axis2_svc_skel_<name>

Thanks
Milinda

On 3/5/07, Zoltán Altfatter <al...@gmail.com> wrote:
>
> Hi,
>
> I'm using Axis2C 0.96 and Axis2/Java 1.1.1.
> I made a simple SayHelloService with Axis2/Java, generated the wsdl file
> with java2wsdl tool.
> Then I generated Axis2/C stub and skeleton files from the wsdl file.
> After a few hours finally I managed to compile them with Microsoft Visual
> Studio...with Eclipse CDT somehow I couldn't manage, to set the gcc command
> properly...it failed with during linking.
> Anyway, with Microsoft Visual Studio I obtained the dll file.
> After deploying the service to the Axis2/C standalone  web server, I tried
> to call it from a Java client.
> But I received an AxisFault exception with the following message:
> "dll description has invalid state of not having valid dll create
> function,         of valid delete function or valid dll_handler"
>
> From Java client I can call the already deployed sample echo service in
> Axis2/C...but when I try to build this sample echo service and deploy it to
> Axis2/C web server I receive again the AxisFault exception with the same
> error message.
>
> So I suppose there is some problem with my dll creation...
>
> Could you help me?
>
> Zoli.
>



-- 
milinda@wso2.com
WSO2, Inc: http://www.wso2.com "Oxygenating the Web Service Platform"
http://www.milindalakmal.wordpress.com