Reputation: 635
I'm writing a .net webservice that will be cosumed by a java program. I get this error:
System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: . at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response) at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
Do you know what does it mean? I've searched a lot, but can't find the solution!
Upvotes: 0
Views: 1517
Reputation: 572
.Net WCF will automaticly encode both the header and the message, and java doesn't encode the header. The header doesn't match then since one is encoded and the oter one isn't.
So you have to turn of the
Client prxy = new Client("BindingName");
prxy.Endpoint.Contract.ProtectionLevel =System.Net.Security.ProtectionLevel.Sign;
prxy.Open();
I hope this helps, and I don't think you can do it in the config file so you have to do it in the code. Gl!
This was for a .Net client, sorry. But you may get something from it!
Msdn, how to set the protectionlevel of a service
Upvotes: 1