使用kso​​ap2调用基于会话的Web服务

时间:2011-09-12 06:07:36

标签: web-services ksoap2

我的网络服务使用soapsession作为会话机制。我想使用kso​​ap2 api调用该Web服务。如何调用该Web服务以便维护会话?雅,还有一个问题。现在,Web服务没有将ServiceGroupId返回到用ksoap2 api编写的客户端,而不像我在使用axis2 api(ServiceClient)编写客户端时发送的那样。这是因为在ksoap2客户端中,我没有使用寻址模块。所以,我的问题是我可以使用kso​​ap2来使用寻址模块吗?

1 个答案:

答案 0 :(得分:1)

您可以使用KeepAliveHttpsTransportSE,但是您只能使用此连接。 否则,您需要从您的auth呼叫中获取sessionID。

使用HttpsTransportSE传输进行auth调用后,请使用:

List<HeaderProperty> hp = (List<HeaderProperty>)transport.getConnection().getResponseProperties();
        for (int i = 0; i < hp.size(); i++) {
            if (hp.get(i).getKey().equals("set-cookie")){
                SESSION_ID = hp.get(i).getValue();
                break;
            }
        }

在进行新的WebService调用时将sessionID设置为标头。