Access to soap response header

2005-06-17 Thread Cid, Jose



How does one get 
access to the soap response header?
 
For example, given 
the following response
 
 
HTTP/1.1 200 
OKDate: Sat, 18 Jun 2005 01:27:42 GMTServer: Jetty/4.2.12 (Windows 
2000/5.0 x86 java/1.4.2_06)Set-Cookie: 
JSESSIONID=1q71jfkx7f67w;path=/dsviewContent-Type: text/xml; 
charset=utf-8
 

http://schemas.xmlsoap.org/soap/envelope/" 

xmlns:xsd="http://www.w3.org/2001/XMLSchema" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 

  

  
soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" 

  
soapenv:mustUnderstand="0" 
xmlns:ns1="urn:common:webservices:server:ce:com">
    

 
 1q71jfkx7f67w
    
admin
    
admin

  


 


2005-06-18T01:27:47.089Z
1.0



 
I would like to pull 
the "sessionId" from this response? I'm currently using axis c++ 1.4 as 
client.
 
jose


returning a 0 length array

2005-06-17 Thread krishna

Hi All

I am trying to get a 0 length array returned in the array example in 
Axis C++.I am using Axis 1.5 alpha.
The SOAP-RESPONSE has a SOAP-ENV Fault.Please see the request and 
response below


I have tried the same example with a 1 length array which was successfull.
Is the response for 0 length array as expected.

Krishna

POST /axis/array HTTP/1.1
Host: localhost:80
Content-Type: text/xml; charset=UTF-8
SOAPAction: "array#echoIntArray"
Content-Length: 554


xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>


http://soapinterop.org/";>
xmlns:ns2="http://soapinterop.org/xsd";>xmlns:enc="http://www.w3.org/2001/06/soap-encoding"; 
enc:arrayType="xsd:int[0]">






HTTP/1.1 200 OK
Date: Fri, 17 Jun 2005 19:32:40 GMT
Server: Apache/1.3.33 (Debian GNU/Linux)
Transfer-Encoding: chunked
Content-Type: text/xml

1f6

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>



SOAP-ENV:Server
No handlers configured
server name:listen port
AxisEngineException:Web Service failed





Incorrect use of delete in AxisEngineException::processException()

2005-06-17 Thread Henrik Nordberg

I am using axis-c from CVS as of today (July 17th, 2005).
There is a delete statement in AxisEngineException::processException() which 
has a couple of problems:
First, if you were supposed to delete the pointer passed in, delete[] should 
be used (in C++). But, at least in the case of the exception thrown when a 
library fails to load, a constant character pointer is passed in (in this 
case "") -- see this line in XMLParserFactory::loadLib():
throw AxisEngineException(SERVER_ENGINE_LOADING_PARSER_FAILED, 
PLATFORM_LOADLIB_ERROR);


This is on Windows.

Why not just use a const std::string& instead of char*?



RE: Closing a secure channel

2005-06-17 Thread Fred Preston

Hi Bruce,
        You're
right.  Axis2 SSL was a bit of a mess and that's why it was dropped.
 It works, but is untidy and unfinished.  Looking at the Axis2Transport
code, the currently loaded channel will be deleted (and it's destructor
called) when the Axis2Transport is deleted (i.e when the web service is
deleted).  The openConnection and closeConnection do very little in
Axis2Transport and unfortunately do not communicate with the underlying
channel.  I was hoping that there might be a 'back door' to getting
the channel object and then be able to call methods on it, but there is
not...

Just to recap, all of the channel close
socket communication happens on the destructor (as it does in channel::~Channel()).
 This is missing from the SSL channel.  Thus, when the web service
is deleted, the Axis2Transport will delete the currently active channel
(before being deleted itself).  This will call the channel destructor
and if it is an SSL channel nothing happens because the destructor is empty.
 This will leave the SSL library open causing memory leaks.

The only solution to your problem is,
if you have the OpenSSLChannel project, add 'closeSecureSocket();' to the
empty destructor method and rebuild.

Regards,

Fred Preston.







Bruce McHaffie <[EMAIL PROTECTED]>
06/16/2005 04:24 PM
Please respond to "Apache AXIS
C User List"
        
        To:
       "'Apache AXIS C User List'"

        cc:
       
        Subject:
       RE: Closing a secure channel

       

Hi Fred, thanks for the reply.
That would work, except the destructor for the secure channel object (derived
from Channel) is empty too. So when the channel object is destroyed in
the transport destructor, the secure channel destructor gets called but
doesn't do anything. So closeSSLChannel() doesn't get called when the transport
object disappears. Neither does destroySSLChannelObject(), which is a shame
because it would give my SSL library a chance to clean up after itself.
In fact I'm not sure the SSL library gets unloaded at all. Or again, maybe
I'm missing something.

Bruce.
 
PS: I'm looking at 1.5 now, but
for this release I'm stuck with 1.4.
 
-Original Message-
From: Fred Preston [mailto:[EMAIL PROTECTED] 
Sent: June 16, 2005 6:08 AM
To: Apache AXIS C User List
Subject: Re: Closing a secure channel


Hi Bruce, 
        You should now be using AXIS3 transport.  The
reason why the method is empty is because the socket was not closed until
you deleted the web service which in turn would call the destructor on
the transport object, closing and then deleting the channel object.


Regards,

Fred Preston.






Bruce McHaffie <[EMAIL PROTECTED]>

06/15/2005 08:30 PM

Please respond to "Apache AXIS C User List"

        
        To:        "'Apache
AXIS C User List'" 

        cc:        

        Subject:        Closing
a secure channel 

       


A 1.4 question for you: in axis2/SecureChannel.cpp the close() method doesn't
do anything. Shouldn't it at least close the connection that is opened
in the open() method? For instance: 
void SecureChannel::close() 
{ 
       m_pSSLChannel->closeSSLChannel()

} 
Or am I missing something here? 
Thanks, 
Bruce.