You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Ch...@l-3com.com on 2009/04/29 17:32:30 UTC

How do I force axis2 to include a SOAPAction http header

I'm using axis2 1.4.1 and adb to call a .Net web service.  I keep
getting a response saying:

System.Web.Services.Protocols.SoapException: Unable to handle request
without a valid action parameter. Please supply a valid soap action.

I enabled the wire.header logs and it is sending action in the
Content-Type header, but it is not sending the SOAPAction header at all,
not even as an empty string "".

I have tried setting options.setAction and       

options.setProperty(
 
org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION,
              org.apache.axis2.Constants.VALUE_FALSE);
 
but that hasn't helped.
 
Any help would be greatly appreciated.
 
Thanks,
 
Chris Gunn
Senior Programmer
L-3 Communications

RE: How do I force axis2 to include a SOAPAction http header

Posted by Ch...@l-3com.com.
I tried calling setSoapAction but the SOAPAction header was still not
sent.  Forcing it to soap 1.1 worked.

 
Thanks,
 
Chris Gunn
Senior Programmer
L-3 Communications
804-723-3078 (office)
804-647-0153 (cell)

-----Original Message-----
From: keith chapman [mailto:keithgchapman@gmail.com] 
Sent: Friday, May 01, 2009 12:56 AM
To: axis-user@ws.apache.org
Subject: Re: How do I force axis2 to include a SOAPAction http header

Even if you are using SOAP 1.2, if you set the soapAction Axis2 will
send it for you. In the event that soap action is not ser Axis2 will
send a empty SOAPAction header of SOAP 1.1 is used (cause thats
mandatory).

Thanks,
Keith.


On Wed, Apr 29, 2009 at 11:11 PM, Steve Hall
<sh...@starmountsystems.com> wrote:



	For soap 1.1:
	
serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP1
1Constants.SOAP_ENVELOPE_NAMESPACE_URI);
	
	For soap 1.2:
	
serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP1
2Constants.SOAP_ENVELOPE_NAMESPACE_URI);


	Christopher.Gunn@l-3com.com wrote:
	

		In that case, how do I force axis2 to choose SOAP 1.1 so
that it will
		send the SOAPAction header?
		
		 Thanks,
		 Chris Gunn
		Senior Programmer
		L-3 Communications
		
		-----Original Message-----
		From: Salisbury, Mark [mailto:mark.salisbury@hp.com]
Sent: Wednesday, April 29, 2009 11:42 AM
		To: axis-user@ws.apache.org
		Subject: RE: How do I force axis2 to include a
SOAPAction http header
		
		I'm sort of new myself to SOAP and web services, but
from what I've read
		you may want to investigate the differences between SOAP
1.1 and SOAP
		1.2 and double check the SOAP version that your .NET
services expects.
		One change between 1.1 and 1.2 is how the action header
stuff is
		handled.  Axis 2 is probably doing the right thing given
the SOAP
		version you're using.
		
		Mark
		 -----Original Message-----
		From: Christopher.Gunn@l-3com.com
[mailto:Christopher.Gunn@l-3com.com] Sent: Wednesday, April 29, 2009
9:33 AM
		To: axis-user@ws.apache.org
		Subject: How do I force axis2 to include a SOAPAction
http header
		
		I'm using axis2 1.4.1 and adb to call a .Net web
service.  I keep
		getting a response saying:
		
		System.Web.Services.Protocols.SoapException: Unable to
handle request
		without a valid action parameter. Please supply a valid
soap action.
		
		I enabled the wire.header logs and it is sending action
in the
		Content-Type header, but it is not sending the
SOAPAction header at all,
		not even as an empty string "".
		
		I have tried setting options.setAction and       
		options.setProperty(
	
org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION,
		             org.apache.axis2.Constants.VALUE_FALSE);
		 but that hasn't helped.
		 Any help would be greatly appreciated.
		 Thanks,
		 Chris Gunn
		Senior Programmer
		L-3 Communications
		
		 
		





-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org


Re: How do I force axis2 to include a SOAPAction http header

Posted by keith chapman <ke...@gmail.com>.
Even if you are using SOAP 1.2, if you set the soapAction Axis2 will send it
for you. In the event that soap action is not ser Axis2 will send a empty
SOAPAction header of SOAP 1.1 is used (cause thats mandatory).

Thanks,
Keith.

On Wed, Apr 29, 2009 at 11:11 PM, Steve Hall <sh...@starmountsystems.com>wrote:

>
> For soap 1.1:
>
> serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
>
> For soap 1.2:
>
> serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
>
>
> Christopher.Gunn@l-3com.com wrote:
>
>> In that case, how do I force axis2 to choose SOAP 1.1 so that it will
>> send the SOAPAction header?
>>
>>  Thanks,
>>  Chris Gunn
>> Senior Programmer
>> L-3 Communications
>>
>> -----Original Message-----
>> From: Salisbury, Mark [mailto:mark.salisbury@hp.com] Sent: Wednesday,
>> April 29, 2009 11:42 AM
>> To: axis-user@ws.apache.org
>> Subject: RE: How do I force axis2 to include a SOAPAction http header
>>
>> I'm sort of new myself to SOAP and web services, but from what I've read
>> you may want to investigate the differences between SOAP 1.1 and SOAP
>> 1.2 and double check the SOAP version that your .NET services expects.
>> One change between 1.1 and 1.2 is how the action header stuff is
>> handled.  Axis 2 is probably doing the right thing given the SOAP
>> version you're using.
>>
>> Mark
>>  -----Original Message-----
>> From: Christopher.Gunn@l-3com.com [mailto:Christopher.Gunn@l-3com.com]
>> Sent: Wednesday, April 29, 2009 9:33 AM
>> To: axis-user@ws.apache.org
>> Subject: How do I force axis2 to include a SOAPAction http header
>>
>> I'm using axis2 1.4.1 and adb to call a .Net web service.  I keep
>> getting a response saying:
>>
>> System.Web.Services.Protocols.SoapException: Unable to handle request
>> without a valid action parameter. Please supply a valid soap action.
>>
>> I enabled the wire.header logs and it is sending action in the
>> Content-Type header, but it is not sending the SOAPAction header at all,
>> not even as an empty string "".
>>
>> I have tried setting options.setAction and
>> options.setProperty(
>>  org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION,
>>              org.apache.axis2.Constants.VALUE_FALSE);
>>  but that hasn't helped.
>>  Any help would be greatly appreciated.
>>  Thanks,
>>  Chris Gunn
>> Senior Programmer
>> L-3 Communications
>>
>>
>>
>
>


-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org

Re: How do I force axis2 to include a SOAPAction http header

Posted by Steve Hall <sh...@starmountsystems.com>.
For soap 1.1:
serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);

For soap 1.2:
serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);

Christopher.Gunn@l-3com.com wrote:
> In that case, how do I force axis2 to choose SOAP 1.1 so that it will
> send the SOAPAction header?
>
>  
> Thanks,
>  
> Chris Gunn
> Senior Programmer
> L-3 Communications
>
> -----Original Message-----
> From: Salisbury, Mark [mailto:mark.salisbury@hp.com] 
> Sent: Wednesday, April 29, 2009 11:42 AM
> To: axis-user@ws.apache.org
> Subject: RE: How do I force axis2 to include a SOAPAction http header
>
> I'm sort of new myself to SOAP and web services, but from what I've read
> you may want to investigate the differences between SOAP 1.1 and SOAP
> 1.2 and double check the SOAP version that your .NET services expects.
> One change between 1.1 and 1.2 is how the action header stuff is
> handled.  Axis 2 is probably doing the right thing given the SOAP
> version you're using.
>
> Mark
>  
> -----Original Message-----
> From: Christopher.Gunn@l-3com.com [mailto:Christopher.Gunn@l-3com.com] 
> Sent: Wednesday, April 29, 2009 9:33 AM
> To: axis-user@ws.apache.org
> Subject: How do I force axis2 to include a SOAPAction http header
>
> I'm using axis2 1.4.1 and adb to call a .Net web service.  I keep
> getting a response saying:
>
> System.Web.Services.Protocols.SoapException: Unable to handle request
> without a valid action parameter. Please supply a valid soap action.
>
> I enabled the wire.header logs and it is sending action in the
> Content-Type header, but it is not sending the SOAPAction header at all,
> not even as an empty string "".
>
> I have tried setting options.setAction and       
>
> options.setProperty(
>  
> org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION,
>               org.apache.axis2.Constants.VALUE_FALSE);
>  
> but that hasn't helped.
>  
> Any help would be greatly appreciated.
>  
> Thanks,
>  
> Chris Gunn
> Senior Programmer
> L-3 Communications
>
>   


RE: How do I force axis2 to include a SOAPAction http header

Posted by Ch...@l-3com.com.
In that case, how do I force axis2 to choose SOAP 1.1 so that it will
send the SOAPAction header?

 
Thanks,
 
Chris Gunn
Senior Programmer
L-3 Communications

-----Original Message-----
From: Salisbury, Mark [mailto:mark.salisbury@hp.com] 
Sent: Wednesday, April 29, 2009 11:42 AM
To: axis-user@ws.apache.org
Subject: RE: How do I force axis2 to include a SOAPAction http header

I'm sort of new myself to SOAP and web services, but from what I've read
you may want to investigate the differences between SOAP 1.1 and SOAP
1.2 and double check the SOAP version that your .NET services expects.
One change between 1.1 and 1.2 is how the action header stuff is
handled.  Axis 2 is probably doing the right thing given the SOAP
version you're using.

Mark
 
-----Original Message-----
From: Christopher.Gunn@l-3com.com [mailto:Christopher.Gunn@l-3com.com] 
Sent: Wednesday, April 29, 2009 9:33 AM
To: axis-user@ws.apache.org
Subject: How do I force axis2 to include a SOAPAction http header

I'm using axis2 1.4.1 and adb to call a .Net web service.  I keep
getting a response saying:

System.Web.Services.Protocols.SoapException: Unable to handle request
without a valid action parameter. Please supply a valid soap action.

I enabled the wire.header logs and it is sending action in the
Content-Type header, but it is not sending the SOAPAction header at all,
not even as an empty string "".

I have tried setting options.setAction and       

options.setProperty(
 
org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION,
              org.apache.axis2.Constants.VALUE_FALSE);
 
but that hasn't helped.
 
Any help would be greatly appreciated.
 
Thanks,
 
Chris Gunn
Senior Programmer
L-3 Communications

RE: How do I force axis2 to include a SOAPAction http header

Posted by "Salisbury, Mark" <ma...@hp.com>.
I'm sort of new myself to SOAP and web services, but from what I've read you may want to investigate the differences between SOAP 1.1 and SOAP 1.2 and double check the SOAP version that your .NET services expects.  One change between 1.1 and 1.2 is how the action header stuff is handled.  Axis 2 is probably doing the right thing given the SOAP version you're using.

Mark
 
-----Original Message-----
From: Christopher.Gunn@l-3com.com [mailto:Christopher.Gunn@l-3com.com] 
Sent: Wednesday, April 29, 2009 9:33 AM
To: axis-user@ws.apache.org
Subject: How do I force axis2 to include a SOAPAction http header

I'm using axis2 1.4.1 and adb to call a .Net web service.  I keep
getting a response saying:

System.Web.Services.Protocols.SoapException: Unable to handle request
without a valid action parameter. Please supply a valid soap action.

I enabled the wire.header logs and it is sending action in the
Content-Type header, but it is not sending the SOAPAction header at all,
not even as an empty string "".

I have tried setting options.setAction and       

options.setProperty(
 
org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION,
              org.apache.axis2.Constants.VALUE_FALSE);
 
but that hasn't helped.
 
Any help would be greatly appreciated.
 
Thanks,
 
Chris Gunn
Senior Programmer
L-3 Communications