Question

Un client a-t-il pu s'exécuter avec succès en utilisant les services Web WSO2 / C ++ paquet? J'ai essayé à peu près tout ce à quoi je peux penser jusqu'à présent, chaque fois que j'essaie de gérer un client très simple, j'ai un crash. Voici un exemple de code d'un de leurs exemples de programmes ...

#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 blocage à chaque fois au moment de la construction de l'objet WRESTClient. Cela semble être un problème quelque part dans le code WSO2 mais je ne reçois aucun message d'erreur indiquant le problème exact. Ma prochaine étape consistera à me baser sur le code source de WSO2 et à parcourir le code qui plante, mais j'espère que quelqu'un aura déjà rencontré ce problème et qu'il aura des retours immédiats.

Était-ce utile?

La solution

Avez-vous envisagé de placer un bloc try / catch-all autour de la construction d'objet WRESTClient? Si vous faites un dumping important sur cette ligne, il y a des chances pour que cette dernière génère une exception. Si vous la détectez, vous pourrez peut-être obtenir des informations d'erreur plus utiles en dehors de cette exception.

En dehors de cela, il est temps de décomposer le débogueur comme vous l'avez suggéré.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top