RE: prefix in soap header
- From: "Zarar Siddiqi"<zarars@xxxxxxxxx>
- Date: Wed, 17 Jan 2007 14:46:12 GMT
Hi,
I'm trying to call a java web service and i need some help in creating
a custom SOAP header in c#.
I need to access to a Web service that implements authorization policy,
by using a session token to be passed in the SOAP header.
The header should be as the following:
<env:Header>
<cc:sessionContext
xmlns:cc="http://myServer/XMLSchemas/security2.0/">
<ticket>14419812551330193201239823092</ticket>
</cc:sessionContext>
</env:Header>
I tried to create a custom AuthorizationSOAPHeader class to represent
the header, but I was not able to define the right tagprefix "cc" for
the XML root element (sessionContext) and its namespace attribute
(cc="http://myServer/XMLSchemas/security2.0/"). I also tried to
manually add the namespace attribute, by overriding the WriteXml method
provided by the IXmlSerializable interface in the
AuthorizationSOAPHeader class, but it was not possible to correctly set
the tag name to "cc:sessionContext", as the ":" character was encoded.
I had to define a custom header class because it isn't defined in the
wsdl because the soap call is intercepted by a proxy service which
inspects the header of the request in order to see if the caller can be
authenticated; then, if the user is authenticated, the request is
routed to the demanded web service. If the sessionContext node doesn't
have the cc prefix as described above, the request is rejected.
Is there a way to set the tag prefix for the XMLRootElement of the
header class( by overriding the WriteXml provided by the
IXmlSerializable interface ) avoiding the encoding of the colon mark?
Or the only possible solution is to implement a SOAP extension?
Thank you for any answer.
It is not uncommon to create a SoapHeader which is not defined in the WSDL. That is the reason why the UnknownSoapHeader class exists in .NET. Combine this with the mustUnderstand instance variables and you have a mechanism of processing/creating SoapHeaders that are not defined in the WSDL.
BizTalk Utilities - Frustration free BizTalk Adapters
http://www.topxml.com/biztalkutilities
.
- Prev by Date: Re: SOAP Toolkit client problems with DotNet Service
- Next by Date: Re: Webservice connection is not properly closed
- Previous by thread: Partial Encryption
- Next by thread: Reg webservice reference
- Index(es):
Relevant Pages
|