Yes, Axis C++ server side is looking for a soap action of the form: ServiceName#MethodName
It uses the MethodName to locate the method to be invoked. This is not a very good practice and is something that need be fixed. Thanks, Samisa... -----Original Message----- From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 8:39 PM To: Apache AXIS C User List Subject: RE: soapAction and .NET interoperability Does Axis require the SOAPAction to be formatted with a '#' separating the service and method? All the Microsoft documentation I've Googled about setting SOAPAction from their stuff shows it formatted like a URL with a slash setting off the method. Would Axis reject this? By the way, I haven't actually tested with a .NET client. I'm just assuming they don't send SOAPAction, because the WSDL I was given to implement was generated with .NET tools, and it had soapAction="". I couldn't get my Axis-to-Axis code to work until I filled in at least #method there (the service name doesn't seem to be necessary). -----Original Message----- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 12:03 AM To: Apache AXIS C User List Subject: RE: soapAction and .NET interoperability > Does anybody know of a workaround for this? Either a way to define my > service to not require soapAction or a way to > get a .NET client to provide the method name in the soapAction header? There is no way in Axis C++ to define the service not to require the SOAPAction as of now. (But we wish to implement such kind of a mechanism - there is a Jira issue raised on this) Hence I think you have to figure out how to set the SOAPAction with .net client. I am not sure how to do this exactly but http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/h tml/frlrfSystemRuntimeRemotingMetadataSoapMethodAttributeClassSoapAction Topic.asp may lead to a clue. Thanks, Samisa... -----Original Message----- From: Yampolsky, Robert [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 2:39 AM To: Apache AXIS C User List Subject: soapAction and .NET interoperability I've seen posted here that Axis services don't work with soapAction set to "". I can verify that that's the case. With no soapAction, I get a "Soap method is not allowed to invoke" exception, but when I put it in, I'm able to access the service. As a matter of fact, it seems to only require the method (i.e. soapAction="#METHOD" works just as well as soapAction="SERVICE#METHOD"). My problem is that I need to interoperate with .NET clients, and they don't seem to set soapAction (at least by default). Does anybody know of a workaround for this? Either a way to define my service to not require soapAction or a way to get a .NET client to provide the method name in the soapAction header? Thanks, Rob
