请教用Axis C++编写Client调用web service问题,请高手指教
用java编写了一个web service,用VC编写Client来调用。
现用Axis C++库的WSDL2Ws生成了相应的*.hpp,*.cpp文件了,在VC工程里面把这些文件包含近来,链接了AxisClient.lib,编译通过了,调用ws代码如下:
。。。
SmsWs ws; //SmsWs是通过WSDL2Ws生成的类,异常出现在这里
bRes=ws.validateTicketOrderId(ticketOrderId,idCardNo);
。。。
SmsWs.hpp部分代码:
class SmsWs :public Stub
{
public:
STORAGE_CLASS_INFO SmsWs(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol=APTHTTP1_1);
STORAGE_CLASS_INFO SmsWs();
public:
STORAGE_CLASS_INFO virtual ~SmsWs();
public:
STORAGE_CLASS_INFO xsd__boolean validateTicketOrderId(xsd__string Value0, xsd__string Value1);
};
异常出现之处(构造Stub的时候):
SmsWs::SmsWs()
:Stub(" ", APTHTTP1_1)
{
m_pCall->setEndpointURI("http://localhost:9001/ticket/services/SmsWs");
}
执行exe时报错:DLOPEN FAILED in loading parser library
这异常是在构造Stub(const char *pcEndPointURI, AXIS_PROTOCOL_TYPE eProtocol);时出现的。
我将AxisXMLParserXerces.dll、HTTPChannel.dll、HTTPTransport.dll考到exe同一目录下了。
因为Stub只有hpp文件,都不知道问题出在哪里,故请搞过这方面的高手指点一下!谢谢!