axis2_http_server 加载服务库失败 [英] axis2_http_server fails to load service library

查看:9
本文介绍了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天全站免登陆