I have a SOAP WSDL (found here: https://portal.bsh-partner.com/picenter/server/a2a/) and I am trying to consume the web services.
var soapEnvelope = string.Empty;
soapEnvelope = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
soapEnvelope += "<soapenv:Envelope xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:q0=\"http://thexmlhost.com\">";
soapEnvelope += "<q0:Connect>";
soapEnvelope += "<q0:Username>username</q0:Username>";
soapEnvelope += "<q0:Password>password</q0:Password>";
soapEnvelope += "</q0:Connect>";
soapEnvelope += "</soapenv:Body>";
soapEnvelope += "</soapenv:Envelope>";
var xmlHttp = new MSXML2.ServerXMLHTTP40();
xmlHttp.open("POST", "https://thexmlhost.com/", "", "");
xmlHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttp.setRequestHeader("SOAPAction", "thexmlhost.com/");
xmlHttp.send(soapEnvelope);
xmlHttp.waitForResponse(500);
var outXml = xmlHttp.responseText;
The response keeps returning a general HTTP response error page. Any idea how I should be passing my Soap Envelope to get the proper response back from the web service?
If you have WSDL, you can create a Service Reference in Visual Studio and it will generate a proxy class for you. Unless I am missing some fine point in your question, it would be a lot more reliable, and much easier, to implement and use.
Hope that helps.
I just noticed that you are using this code on the server side.
This is not the way to consume web services in .NET. Use the "Add Service Reference" command in Visual Studio to create proxy classes that will allow you to very easily consume the service.
See How to Consume a Web Service for an example, as well as http://msdn.microsoft.com/wcf/.
Also, never use string manipulation techniques when working with XML. Briefly, the rules for strings and for XML are different. .NET has several XML APIs to work with XML, and they all know the rules.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With