RE: How to get a value from SOAP header using Axis C++?

2009-02-06 Thread McCullough, Ryan
We had a similar issue. We resolved it by modifying the source code and 
compiling our own Axis binaries.

Add the following
axis\include\axis\client\Call.hpp:
/**
 * Returns the DeSerialized response header.
 */
IHeaderBlock* getDeSerHeaderBlock(const AxisChar * pName, const AxisChar * 
pNamespace);

axis\src\engine\client\Call.cpp
IHeaderBlock* Call::getDeSerHeaderBlock(const AxisChar * pName, const AxisChar 
* pNamespace)
{
if (m_pIWSDZ != NULL) {
return m_pIWSDZ->getHeaderBlock(pName, pNamespace, false);
} else {
return NULL;
}
}

axis\src\soap\SoapDeSerializer.h
IHeaderBlock* getHeaderBlock(const AxisChar* pName, const AxisChar* 
pNamespace, bool bRemoveOrNot);

axis\src\soap\SoapDeSerializer.cpp
/*
 * Header block parsing should be done differently for different SOAP versions.
 * Since the Header blocks may be requested in a different order than it is in
 * the SOAP stream there must be a mechanism to manage the situation. Possibly
 * to re-parse the stream part which has unused header blocks.
 */
IHeaderBlock *SoapDeSerializer::
getHeaderBlock (const AxisChar * pName, const AxisChar * pNamespace, bool 
bRemoveOrNot)
{
// if no  element there can be no Header blocks
if (!m_pHeader)
return NULL;

return m_pHeader->getHeaderBlock (pName, pNamespace, bRemoveOrNot);
}

-Ryan

From: Golikov, Vassili [mailto:vassili.goli...@credit-suisse.com]
Sent: Friday, February 06, 2009 3:05 PM
To: Apache AXIS C User List
Subject: RE: How to get a value from SOAP header using Axis C++?

C++.

This is actual response from PowerCenter:


http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
   
  http://www.informatica.com/wsh";>
 1d2b79bbe22efa2011f4cf3a9db
  
   
   
  http://www.informatica.com/wsh";>1d2b79bbe22efa2011f4cf3a9db
   


Session ID is mentioned in two places. In the header:

1d2b79bbe22efa2011f4cf3a9db and in the body
http://www.informatica.com/wsh";>1d2b79bbe22efa2011f4cf3a9db

Could you tell me how to get that Session Id and re-submit in another header?

E.g.

http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
   
  http://www.informatica.com/wsh";>
 [string]
  
   
   
  http://www.informatica.com/wsh";>
 
[string]
[string]
 
 [string]
 [string]
 [int]
 [string]
 [int]
  
   



Session ID should be here

  http://www.informatica.com/wsh";>
 [string]
  



From: McCullough, Ryan [mailto:rmccullo...@rightnow.com]
Sent: Friday, February 06, 2009 4:59 PM
To: Apache AXIS C User List
Subject: RE: How to get a value from SOAP header using Axis C++?
Are you using Axis2/c? or Axis c++?

From: Golikov, Vassili [mailto:vassili.goli...@credit-suisse.com]
Sent: Friday, February 06, 2009 2:50 PM
To: axis-c-user@ws.apache.org
Subject: How to get a value from SOAP header using Axis C++?


My apps server needs to talk to Informatica WS. It sends a session ID in the 
header which should be retrieved and used in all their requests. How can I get 
this value from a SOAP header?

Vassilli Golikov
Equity Derivatives IT
Credit Suisse Securities (USA) LLC
One Madison Avenue
10th Floor
New York, NY 10010
212-325-8972 (Tel)
Email: vassili.goli...@credit-suisse.com


==

Please access the attached hyperlink for an important electronic communications 
disclaimer:



http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html

==

==

Please access the attached hyperlink for an important electronic communications 
disclaimer:



http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html

==


RE: How to get a value from SOAP header using Axis C++?

2009-02-06 Thread Golikov, Vassili
C++.
 
This is actual response from PowerCenter:
 

http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
   
  http://www.informatica.com/wsh";>
 1d2b79bbe22efa2011f4cf3a9db
  
   
   
  http://www.informatica.com/wsh";>1d2b79bbe22efa2011f4cf3a9db
   

 
Session ID is mentioned in two places. In the header: 
 
1d2b79bbe22efa2011f4cf3a9db and in the body 
http://www.informatica.com/wsh";>1d2b79bbe22efa2011f4cf3a9db

Could you tell me how to get that Session Id and re-submit in another
header?
 
E.g.
 
http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
   
  http://www.informatica.com/wsh";>
 [string]
  
   
   
  http://www.informatica.com/wsh";>
 
[string]
[string]
 
 [string]
 [string]
 [int]
 [string]
 [int]
  
   

 
 
Session ID should be here 
 
  http://www.informatica.com/wsh";>
 [string]
  
 



From: McCullough, Ryan [mailto:rmccullo...@rightnow.com] 
Sent: Friday, February 06, 2009 4:59 PM
To: Apache AXIS C User List
Subject: RE: How to get a value from SOAP header using Axis C++?



Are you using Axis2/c? or Axis c++?

 

From: Golikov, Vassili [mailto:vassili.goli...@credit-suisse.com] 
Sent: Friday, February 06, 2009 2:50 PM
To: axis-c-user@ws.apache.org
Subject: How to get a value from SOAP header using Axis C++?

 

My apps server needs to talk to Informatica WS. It sends a session ID in
the header which should be retrieved and used in all their requests. How
can I get this value from a SOAP header?

Vassilli Golikov 
Equity Derivatives IT
Credit Suisse Securities (USA) LLC
One Madison Avenue
10th Floor
New York, NY 10010
212-325-8972 (Tel)
Email: vassili.goli...@credit-suisse.com 

 


==
Please access the attached hyperlink for an important electronic
communications disclaimer: 
 
http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html

==

==
Please access the attached hyperlink for an important electronic communications 
disclaimer: 

http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
==


RE: How to get a value from SOAP header using Axis C++?

2009-02-06 Thread McCullough, Ryan
Are you using Axis2/c? or Axis c++?

From: Golikov, Vassili [mailto:vassili.goli...@credit-suisse.com]
Sent: Friday, February 06, 2009 2:50 PM
To: axis-c-user@ws.apache.org
Subject: How to get a value from SOAP header using Axis C++?


My apps server needs to talk to Informatica WS. It sends a session ID in the 
header which should be retrieved and used in all their requests. How can I get 
this value from a SOAP header?

Vassilli Golikov
Equity Derivatives IT
Credit Suisse Securities (USA) LLC
One Madison Avenue
10th Floor
New York, NY 10010
212-325-8972 (Tel)
Email: vassili.goli...@credit-suisse.com


==

Please access the attached hyperlink for an important electronic communications 
disclaimer:



http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html

==


How to get a value from SOAP header using Axis C++?

2009-02-06 Thread Golikov, Vassili
My apps server needs to talk to Informatica WS. It sends a session ID in
the header which should be retrieved and used in all their requests. How
can I get this value from a SOAP header?

Vassilli Golikov
Equity Derivatives IT
Credit Suisse Securities (USA) LLC
One Madison Avenue
10th Floor
New York, NY 10010
212-325-8972 (Tel)
Email: vassili.goli...@credit-suisse.com 



==
Please access the attached hyperlink for an important electronic communications 
disclaimer: 

http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
==


RE: Spurious client time out errors -- duplicate transmission

2009-02-06 Thread Raghu Udupa
It was my problem. I forgot to multiply by 1000 when setting time-out in
milliseconds.



Regards,

Raghu

 



From: Raghu Udupa [mailto:rud...@easylink.com] 
Sent: Friday, February 06, 2009 9:45 AM
To: Apache AXIS C User List
Subject: RE: Spurious client time out errors -- duplicate transmission

 

Hi,

 

This problem happens only when I use HTTP protocol.  With HTTPS every
thing works fine. One message is sent and one is received.

 

I am using Axis2C/1.5.0 on a Linux server as a client communicating to a
Web service. Each message is delivered to a possibly different web
service through a separate process. The process communicates either via
http or https depending on remote web service configuration

 

On couple of occasions, I got time out error at the client, while
message was successfully received at the host. I have set the session
time out to 3 minutes. When I enable the trace log, this problem does
not happen. Here is a snapshot of axis2c log.

 

1)

[Thu Feb  5 17:05:03 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:05:03 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:05:03 2009] [error] engine.c(179) Transport sender invoke
failed

2)

[Thu Feb  5 17:05:03 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:05:03 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:05:03 2009] [error] engine.c(179) Transport sender invoke
failed

3)

[Thu Feb  5 17:15:41 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:15:41 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:15:41 2009] [error] engine.c(179) Transport sender invoke
failed

4)

[Thu Feb  5 17:19:47 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:19:47 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:19:47 2009] [error] engine.c(179) Transport sender invoke
failed

 

For each of the above 4 attempts, message was delivered at the web
service. In addition, the client received time-out as soon as the
request was sent even though session timeout is set to 180 seconds.

 

Here is the time when message was sent.

1)

17:05:02 16 [9406] SendMessage: Call web service. Signature reqd <0>

17:05:03 16 [9406] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

 

2)

17:05:03 16 [9407] SendMessage: Call web service. Signature reqd <0>

17:05:03 16 [9407] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

3)

17:15:41 16 [9672] SendMessage: Call web service. Signature reqd <0>

17:15:41 16 [9672] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

4)

17:19:47 16 [9726] SendMessage: Call web service. Signature reqd <0>

17:19:47 16 [9726] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

 

Thanks,

Raghu

 



RE: Axis C++ 1.6 client app connecting using https through http proxy

2009-02-06 Thread Nadir Amra
Ryan,

Just send the stuff to me.I think you can also attach files to the 
jira.. If not, I can attach the files when you send them. thanks.

Nadir Amra


"McCullough, Ryan"  wrote on 02/05/2009 07:39:02 
PM:

> [image removed] 
> 
> RE: Axis C++ 1.6 client app connecting using https through http proxy
> 
> McCullough, Ryan 
> 
> to:
> 
> Apache AXIS C User List
> 
> 02/05/2009 07:39 PM
> 
> Cc:
> 
> "klitos.kyria...@gmail.com", Nadir Amra
> 
> I think I have a working solution.
> 
> Klitos, would you be willing to test my changes? Do you need Axis 
> binaries or source code?
> 
> Nadir, if Klitos reports that my changes work, how can I go about 
> getting these changes included in the project?
> 
> -Ryan
> 
> -Original Message-
> From: Klitos Kyriacou [mailto:klitos.kyria...@gmail.com] 
> Sent: Thursday, February 05, 2009 3:36 AM
> To: Apache AXIS C User List
> Subject: Re: Axis C++ 1.6 client app connecting using https through http 
proxy
> 
> Thanks! That issue seems to have been open for two years. Hopefully,
> your useful test report will help to move things on.
> 
> Klitos



RE: Spurious client time out errors -- duplicate transmission

2009-02-06 Thread Raghu Udupa
Hi,

 

This problem happens only when I use HTTP protocol.  With HTTPS every
thing works fine. One message is sent and one is received.

 

I am using Axis2C/1.5.0 on a Linux server as a client communicating to a
Web service. Each message is delivered to a possibly different web
service through a separate process. The process communicates either via
http or https depending on remote web service configuration

 

On couple of occasions, I got time out error at the client, while
message was successfully received at the host. I have set the session
time out to 3 minutes. When I enable the trace log, this problem does
not happen. Here is a snapshot of axis2c log.

 

1)

[Thu Feb  5 17:05:03 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:05:03 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:05:03 2009] [error] engine.c(179) Transport sender invoke
failed

2)

[Thu Feb  5 17:05:03 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:05:03 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:05:03 2009] [error] engine.c(179) Transport sender invoke
failed

3)

[Thu Feb  5 17:15:41 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:15:41 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:15:41 2009] [error] engine.c(179) Transport sender invoke
failed

4)

[Thu Feb  5 17:19:47 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:19:47 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:19:47 2009] [error] engine.c(179) Transport sender invoke
failed

 

For each of the above 4 attempts, message was delivered at the web
service. In addition, the client received time-out as soon as the
request was sent even though session timeout is set to 180 seconds.

 

Here is the time when message was sent.

1)

17:05:02 16 [9406] SendMessage: Call web service. Signature reqd <0>

17:05:03 16 [9406] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

 

2)

17:05:03 16 [9407] SendMessage: Call web service. Signature reqd <0>

17:05:03 16 [9407] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

3)

17:15:41 16 [9672] SendMessage: Call web service. Signature reqd <0>

17:15:41 16 [9672] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

4)

17:19:47 16 [9726] SendMessage: Call web service. Signature reqd <0>

17:19:47 16 [9726] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

 

Thanks,

Raghu

 



Spurious client time out errors -- duplicate transmission

2009-02-06 Thread Raghu Udupa
Hi,

 

I am using Axis2C/1.5.0 on a Linux server as a client communicating to a
Web service. Each message is delivered to a possibly different web
service through a separate process. The process communicates either via
http or https depending on remote web service configuration

 

On couple of occasions, I got time out error at the client, while
message was successfully received at the host. I have set the session
time out to 3 minutes. When I enable the trace log, this problem does
not happen. Here is a snapshot of axis2c log.

 

1)

[Thu Feb  5 17:05:03 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:05:03 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:05:03 2009] [error] engine.c(179) Transport sender invoke
failed

2)

[Thu Feb  5 17:05:03 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:05:03 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:05:03 2009] [error] engine.c(179) Transport sender invoke
failed

3)

[Thu Feb  5 17:15:41 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:15:41 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:15:41 2009] [error] engine.c(179) Transport sender invoke
failed

4)

[Thu Feb  5 17:19:47 2009] [error] http_client.c(460) Response timed out

[Thu Feb  5 17:19:47 2009] [error] http_sender.c(1342) status_code < 0

[Thu Feb  5 17:19:47 2009] [error] engine.c(179) Transport sender invoke
failed

 

For each of the above 4 attempts, message was delivered at the web
service. In addition, the client received time-out as soon as the
request was sent even though session timeout is set to 180 seconds.

 

Here is the time when message was sent.

1)

17:05:02 16 [9406] SendMessage: Call web service. Signature reqd <0>

17:05:03 16 [9406] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

 

2)

17:05:03 16 [9407] SendMessage: Call web service. Signature reqd <0>

17:05:03 16 [9407] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

3)

17:15:41 16 [9672] SendMessage: Call web service. Signature reqd <0>

17:15:41 16 [9672] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

4)

17:19:47 16 [9726] SendMessage: Call web service. Signature reqd <0>

17:19:47 16 [9726] axis2_stub_op_ReceiveEasyLinkFaxService_ReceiveFax:
return code is null

 

Thanks,

Raghu