Est-ce que l'un d'entre eux a réussi à s'exécuter avec un client en utilisant le package de services WSO2/C++ web? J'ai essayé à peu près tout ce que je peux penser à chaque fois que j'essaie d'exécuter un client très simple, je tombe en panne. Voici quelques exemples de code d'un de leurs programmes par exemple ...Crash écrivant un client de service Web WSO2/C++ simple
#include <stdio.h>
#include <WSRESTClient.h>
#include <OMElement.h>
#include <iostream>
#include <AxisFault.h>
using namespace std;
using namespace wso2wsf;
int _tmain(int argc, _TCHAR* argv[])
{
WSRESTClient * sc = new WSRESTClient("http://localhost:9090/axis2/services/echo/echoString");
try
{
sc->initializeClient("echo_rest.log", AXIS2_LOG_LEVEL_TRACE);
}
catch (AxisFault & e)
{
cout << endl << "Error: " << e << endl;
return 0;
}
Options * op = sc->getOptions();
op->setHTTPMethod(AXIS2_HTTP_GET);
sc->setOptions(op);
{
OMNamespace * ns = new OMNamespace("http://ws.apache.org/axis2/services/echo", "ns1");
OMElement * payload = new OMElement(NULL,"echoString", ns);
OMElement * child = new OMElement(payload,"text", NULL);
child->setText("Hello World!");
cout << endl << "Request: " << payload << endl;
OMElement * response;
try
{
response = sc->request(payload, "http://ws.apache.org/axis2/c/samples/echo/soap_action");
if (response)
{
cout << endl << "Response: " << response << endl;
}
}
catch (AxisFault & e)
{
cout << endl << "Error: " << e << endl;
}
delete payload;
}
delete sc;
return 0;
}
Je reçois un accident chaque fois au moment de la construction de l'objet WRESTClient. Il semble que ce soit un problème quelque part dans le code WSO2 mais je ne reçois aucun message d'erreur indiquant quel est le problème exact. Ma prochaine étape consistera à construire contre la source pour WSO2 et à passer à travers le code qui plante, mais j'espère que quelqu'un a déjà rencontré ce problème et a des retours immédiats.