axis2_http_server无法加载服务库 [英] axis2_http_server fails to load service library

查看:151
本文介绍了axis2_http_server无法加载服务库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使一个简单的hello world Web服务正常工作.我使用WSDL2CPP从wsdl文件生成服务代码.这会建立并显示在以下位置的服务列表中 localhost:8080/axis2/services

I am trying to get a simple hello world web service working. I used WSDL2CPP to generate the service code from my wsdl file. This builds and shows up in service list at localhost:8080/axis2/services

现在,我已经创建了一个简单的客户端来访问该服务.当我尝试向Web服务发出请求时,在axis2.log中看到以下内容:

Now, I have created a simple client to access the service. When I try to do a request to the web service, I see the following in my axis2.log:


[Tue Aug 27 09:50:31 2013] [debug] http_worker.c(186) Client HTTP version HTTP/1.1
[Tue Aug 27 09:50:31 2013] [debug] soap_builder.c(882) identified soap version is soap12
[Tue Aug 27 09:50:31 2013] [debug] phase.c(202) Invoke the handler request_uri_based_dispatcher within the phase Transport
[Tue Aug 27 09:50:31 2013] [debug] req_uri_disp.c(97) Checking for service using target endpoint address : http://127.0.0.1:8080/axis2/services/Hello_Service
[Tue Aug 27 09:50:31 2013] [debug] req_uri_disp.c(117) Service found using target endpoint address
[Tue Aug 27 09:50:31 2013] [debug] phase.c(202) Invoke the handler AddressingInHandler within the phase Transport
[Tue Aug 27 09:50:31 2013] [info]  Starting addressing in handler
[Tue Aug 27 09:50:31 2013] [debug] phase.c(202) Invoke the handler addressing_based_dispatcher within the phase Transport
[Tue Aug 27 09:50:31 2013] [debug] phase.c(202) Invoke the handler rest_dispatcher within the phase Dispatch
[Tue Aug 27 09:50:31 2013] [debug] phase.c(202) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch
[Tue Aug 27 09:50:31 2013] [debug] soap_body_disp.c(200) Checking for operation using SOAP messagebody's first child's local name : sayHello
[Tue Aug 27 09:50:31 2013] [debug] soap_body_disp.c(207) Operation found using SOAP message body's first child's local name
[Tue Aug 27 09:50:31 2013] [debug] phase.c(202) Invoke the handler soap_action_based_dispatcher within the phase Dispatch
[Tue Aug 27 09:50:31 2013] [debug] phase.c(202) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch
[Tue Aug 27 09:50:31 2013] [debug] phase.c(202) Invoke the handler context_handler within the phase PostDispatch
[Tue Aug 27 09:50:31 2013] [error] class_loader.c(152) Loading shared library ..//services/Hello_Service/libHello_Service.so  Failed. DLERROR IS ..//services/Hello_Service/libHello_Service.so: undefined symbol: _ZN7wso2wsf11Environment6getEnvEv
[Tue Aug 27 09:50:31 2013] [error] wsf_cpp_msg_recv.cpp(185) IMPL object for service 'Hello_Service' not set in message receiver. 103 :: Failed in creating DLL

兴趣点是:


[Tue Aug 27 09:50:31 2013] [error] class_loader.c(152) Loading shared library ..//services/Hello_Service/libHello_Service.so  Failed. DLERROR IS ..//services/Hello_Service/libHello_Service.so: undefined symbol: _ZN7wso2wsf11Environment6getEnvEv

这看起来像是在WSO C ++代码和轴服务器的C代码之间处理恶作剧的名称.有什么想法吗?

This looks like some name mangling shenanigans between the WSO C++ code and the axis server's C code. Any ideas?

推荐答案

可能您忘记了与WSO2 WSF/C ++本身的链接.

Possibly you forgot to link against WSO2 WSF/C++ itself.

尝试重新编译服务,将-lwso2_wsf添加到LDFLAGS.

Try to recompiling your service adding -lwso2_wsf to LDFLAGS.

这篇关于axis2_http_server无法加载服务库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆