WCF / ASMX :: Read Http Custom Header From Web Service?
Oct 5, 2010cant read http custome header "MSISDN" from my web service ... same code works on regular asp.net page. Can anyone shade a light on that subject ?
View 2 Repliescant read http custome header "MSISDN" from my web service ... same code works on regular asp.net page. Can anyone shade a light on that subject ?
View 2 RepliesI have a very simple query. I have added custom header to my website. Now I want to read the custom header. I am using IIS 6.0 on windows XP. I have already tried using using the Request.ServerVariables and and Request.header method. But none of them give me the custom header added to website.
View 2 RepliesI have a web service with the following contract:
POST /Service/service.asmx HTTP/1.1
Host: xxx.xxx.xxx
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "xxx.xxx.xxx/Service/Method"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<Request xmlns="xxx.xxx.xxx/Service/">
<transactiontype>string</transactiontype>
<username>string</username>
<password>string</password>
</Request>
</soap:Header>
<soap:Body>
<Method xmlns="xxx.xxx.xxx/Service/">
<xml>xml</xml>
</Method>
</soap:Body>
</soap:Envelope>
And I am trying to call the service using jquery. This is my code:
$.ajax({
url: serverUrl + 'Method',
type: "POST",
dataType: "xml",
data: { xml: "xml" },
beforeSend: function (req) {
req.setRequestHeader('Header', '<Request xmlns="xxx.xxx.xxx/Service/">'
+'<transactiontype>4</transactiontype>'
+'<agencyName>name</agencyName>'
+'<username>user</username>'
+'<password>pass</password>'
+'</Request>');
},
success: function (data) {
alert(data.text);
},
error: function (request, status, errorThrown) {
alert(status);
}
});
However, the header content is not passed to the web service? How would I go about passing the header credentials to my web service call?
I call a webservices from my javascript and im getting response as error.
Server did not recognize the value of HTTP Header SOAPAction:
In my ASP.Net (2.0) Web Service implementation (The implementation class derives from
System.Web.Services.WebService with WebServiceBinding confirming to WsiProfiles.BasicProfile1_1 .
The SOAP response sent out by the Service has two elements missing :
1> The XML header itself : (<?xml version="1.0">)
2> The opening and closing Envelope tags with NameSpace ("<S:Envelope xmlns:S=http://schemas.xmlsoap.org/soap/envelope/>" and "</S:Envelope>" ).
This results in "breaking" of my client unless the above mentioned headers are inserted at the client end, and my intent is to avoid bypasses at the client end as far as popssible.Is this the default behavior ?
I've tried to write my own HttpModule (IHttpModule) that adds a Header like that:
public class MyModule: IHttpModule
{
public void Init(HttpApplication c)
{
c.BeginRequest += delegate{c.Response.AddHeader("MyHeader", "MyValue");};
}
public void Dispose(){}
}
and tried to read in a aspx page like that:
var x = Request.ServerVariables["MyHeader"];
I have one ajax call web service, and want to add some http headers using javascript, can we do that use setrequestheader in ms ajax?This is my javascript
[Code]....
[Code]....
I have an asp.net appliction on the one server. There I've added code on server-side in Page_Load:
Response.AddHeader("key", "password-key-from-hotel");
On the client side I have a form:
<form ... action="www.link-to-another-domaint" >
<input type="hidden" id="asd" value="fgh" >
....
</form>
<script type="text/javascript">
document.forms[0].submit();
</script>
Then on the other domain - there is also my other application - I'm trying to get the hedaer "key" by this code:
Request.Headers["key"].ToString();
But there is no such header. Is there is a desicion? Where is my mistake?
I am developing a web application which uses a third party Web service. It requires Username & Password in SOAP Header request. I am passing those credentials well and the web service returns an XML string in Response and also a SESSION ID in the SOAP Header.
I don't know how to read/access the soap header from the response sent from the web service.
have a web service that I'm trying to consume from a console app through http post. I receive a 500 exception error from the xmlstring parm being passed to the web service. Add the following to web.config of the web service. Although it is not working in debug in vs 2008 as well.
[Code]....
[Code]....
[Code]....
the host file is setup for the web service as well.
[Code]....
My web service uses .Net Framework 2.0. An e-learning application reads and updates an Access database in the web service via Http Post commands. I test the e-learning application and the web service using the version of IIS 7 that came with Windows Vista. I run IIS using localhost in my browser.
All works well. But a friend is having trouble running the same test with my files on her IIS 6 server. So I'm developing a checklist of issues in setting up an IIS 6 server to run a web service. I plan to include all possible causes of problems including permissions, accounts that are needed, etc. Are there resources to which I can go for this checklist?
we need to expose a web service to the 3rd party vendor which can only call using POST protocol, NOT SOAP.So my question, is it better to build a web service or just simply .aspx page?Also is there any best practice documentation on this.
View 4 RepliesI am after a tool that allows me to catch HTTP traffic on my local machine that is generated through web service calls. I have tried Fiddler, but it doesn't seem to catch my web services that are sent via...
[Code]....
Maybe fiddler can be set up to allow this, I am not sure :-s If anyone knows, can you explain, or if anyone has used a tool on their local machine that can catch HTTP request/responses from the above code?
I am trying to call webservice from my web application. The web application had integrated windows authentication. I've written custome principal class to do authorization. But when I give call to my web service with default credentials it gives me 'the request failed with http status 401 unauthorized.' error.
When I give call to my local webservice it is running fine (It also has integrated windows authentication) But when I add reference of same web service from QA server I am getting this error. Not sure what is happening. I also tried
WS.PreAuthenticate = false;
WS.Credentials = System.Net.CredentialCache.DefaultCredentials;
we have a situation where we need to host two certificates on the same server and because we can't have two different certificates on the same server running off the same port we have assigned one certificate run through another port, which is 4443.
So the URL to our web app is now....
[URL]
If I punch this into a web browser I can access it fine, however, if I create a web reference using this URL in Visual Studio (2005) it can create the web reference fine and it builds ok. But whenever I call a web method on this service instance I get a HTTP 404 page not found Exception.
Is there any properties I need to set on the web service object to get this to work? I'm confused as to why it's not working.
I'd like to read data server-side from a web service that outputs in json format. I haven't found any good examples that don't use jquery and are server-side.
Specifically I'm looking at the "weight" field from this api:
[URL]
PS: this is a spin off of another post at: [URL]
I am downloading the project from the webservice which contains the zip file embedded in the Soap XML.
I want to read or download the content present in the Zip file.
I am using C#.
I have developed the WCF service as follows.
1) Service Contracts in a project
2) Data Contracts in a project
3) Finally adding the reference of service contract project in a Hosting project (Console Application) with complete configurations.
I am adding one more windows app project as a client.When i am trying to add the service reference using the address "http://localhost:8000/Tasks", VS 2008 displays the below error.
There was an error downloading 'http://localhost:8000/Tasks'.
Unable to connect to the remote server
No connection could be made because the target machine actively refused it 127.0.0.1:8000
Metadata contains a reference that cannot be resolved: 'http://localhost:8000/Tasks'.
Could not connect to http://localhost:8000/Tasks. TCP error code 10061: No connection could be made because the target machine actively refused it 127.0.0.1:8000.
Unable to connect to the remote server
No connection could be made because the target machine actively refused it 127.0.0.1:8000
If the service is defined in the current solution, try building the solution and adding the service reference again.
I create web service for Reading and writing the registry. It works fine in win-xp. But its not working when I published it in win-2008 server. It shows me http 500 error.
My Code is:
set Reg:
string key = @"SOFTWAREWow6432NodeMyCompanyMyProjectSettings";
string valuename = "Allow";
setRegistryValue(key, valuename, Value);
Get Reg:
string key = @"SOFTWAREWow6432NodeMyCompanyMyProjectSettings";
string valuename = "Allow";
return Convert.ToInt32(getRegistryValue(key, valuename));
I'm trying to implement a custom SOAP response of the legacy web service. At the moment it has the following format:
<ServiceResponse>
<ServiceResult>some return value</ServiceResult>
</ServiceResponse>
I need to add string value like this:
<ServiceResponse>NEW VALUE
<ServiceResult>some return value</ServiceResult>
</ServiceResponse>
I'm not sure if it is a good idea at all? Is this SOAP xml valid? If yes, how it can be accomplished?
I have a schema which contains the ErrorCode and ErrorDescription.
When error is captured i need to create a new xml and throw it to the client with the error code and description captured from the client
I have a custom class declared as follows (in vb.net)
<Serializable()> _
Public Class NumInfo
Public n As String
Public f As Integer
Public fc As char()
Public t As Integer
Public tc As char()
Private validFlag As Boolean = True
Public Sub New()
End Sub
I also have public properties(read/write) for all the public variables
End Class
In my service.asmx codebehind class I have a webmethod as follows:
<WebMethod> _
<XmlInclude(GetType(NumInfo))>
Public Function ConvertTo(ByVal info As NumInfo) As String
Return mbc(info)
'mbc is another function defined in my service.asmx "service" class
End Function
The problem is that when I start debugging it to test it, the page that I get does not contain any fields where I could input the values for the public fields of numInfo. How do I initialise the class? There is no "Invoke" button either. All I see are soap details as below:
ConvertTo
Test
The test form is only available for methods with primitive types as parameters. SOAP 1.1 The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
POST /BaseConverter/BaseCon.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://RohitServices.in/ConvertTo"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ConvertTo xmlns="http://RohitServices.in/">
<info>
<n>string</n>
<f>int</f>
<fc>
<char>char</char>
<char>char</char>
</fc>
What am I doing wrong? For the record I tried replacing char() with string to see if it was the array causing problems but that didn't help either. I'm fairly new to web services. I tried replacing the custom object parameter with a primitive parameter just to check how things worked and it rendered a page with an input field and invoke button. I just can't seem to get it working with custom object.
I am new to WCF, I was using web service asmx before. I have trouble on making my wcf JSON ajax service work through http like asmx.Could you help me see what wrong in my code?My WCF services are defined in my website application folder. My aim is to call this service in my aspx page java-script code and return complex object back as JSON to my javascript. I have no problem on doing this through classic asmx web service.
When I try to test it through my browser by type this in the URL , URL-http://localhost:3849/WebServices/Account/WCFCompanyService.svc/GetAll. it return "Method not allowed."
But if I type just this URL-http://localhost:3849/WebServices/Account/WCFCompanyService.svc, it return this:
WCFCompanyService Service
You have created a service.To test this service, you will need to create a client and use it to call the service. You can do this using the svcutil.exe tool from the command line with the following syntax:
svcutil.exe URL-http://localhost:3849/WebServices/Account/WCFCompanyService.svc?wsdl
This will generate a configuration file and a code file that contains the client class. Add the two files to your client application and use the generated client class to call the Service. For example:
C#
class Test { static void Main() { HelloClient client = new HelloClient();
[Code]....
This is my Ajax-enabled WCF service code:
[Code]....
This is the web.config service model setting
[Code]....
I have a webservice which works 100% fine on my developer machine. Where Web Service is installed on LOCALHOST on my developer machine,Then i went to my servers, I installed webservice on one server and map it with the server where the website is hosted, Then i tried accessing this service using BROWSER from my web server, it worked fine, That means the mapping was done perfect.Then i run my program on web server (website). It worked fine on page1, then on page2, but when i did the same and call same function on page3, It popped me any error of
View 4 Replieswhen i am adding service reference the Following erro shows Up..where as the same works on the Other machine. The url when tested in Internet explorer works but only while adding shows the error. The request failed with HTTP status 403: Forbidden. The HTTP request was forbidden with client authentication scheme 'Anonymous'.
View 5 Replies