all groups > dotnet web services enhancements > june 2006 >
You're in the

dotnet web services enhancements

group:

webservice woes


webservice woes klumsy NO[at]SPAM xtra.co.nz
6/22/2006 7:22:02 PM
dotnet web services enhancements:
I have a webservice that i talk to (there are two seperate wsdls).. and
am using WSE3.
I can sucessfully use the proxy to generate the authentication call to
the first wsdl site, and that returns something like:

<![CDATA[<Assertion MinorVersion="1" MajorVersion="1"
Issuer="http://www.bea.com/saml"
IssueInstant="2006-06-23T02:18:30.688Z"
AssertionID="HRMC-SM172.26.5.143.1106860829320"
xmlns="urn:oasis:names:tc:SAML:1.0:assertion">
<Conditions NotOnOrAfter="2006-06-23T06:18:30.688Z"
NotBefore="2006-06-23T02:13:30.688Z"/>
<AuthenticationStatement
AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:unspecified"
AuthenticationInstant="2006-06-23T02:18:30.688Z">
<Subject>
<NameIdentifier
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">SOMETHING</NameIdentifier>
<SubjectConfirmation>

<ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</ConfirmationMethod>
</SubjectConfirmation>
</Subject>
</AuthenticationStatement>
</Assertion>
]]>

and their api says of the 2nd webservice to pass that result as above
as the first parameter (called Credentials) of the webservice calls..

However in my proxy all the methods are one parameter short (i.e this
first Credentials parameter), so i can't send it through it through
into the proxy method call :(

I know the proxy object has a credentials property, but is there any
way i can convert the string above into the types that the proxy
requires?

Karl
Re: webservice woes Pablo Cibraro
6/23/2006 10:07:26 AM
Hi Karl,

That is a SAML token.
I think there is something wrong with the design of that API. The
credentials property in the proxy is not used for that, it is used to
specify the HTTP transport credentials (Basic authentication, Windows
Authentication, etc).
In your case, you need to specify the credentials for the message, which are
called tokens in the WS-Security specification.WSE supports different kinds
of tokens, such as Username tokens, X509 tokens, Kerberos tokens and custom
tokens (The SAML token is a custom token).
These kind of tokens go inside of the SOAP message (in a SOAP header called
Security), and the WSE api support a way to include them in the message
before calling to the web service.

I recommend you to take a look the WSE quickstarts for more information.

Regards,
Pablo Cibraro
http://weblogs.asp.net/cibrax

[quoted text, click to view]

Re: webservice woes klumsy NO[at]SPAM xtra.co.nz
6/23/2006 7:51:52 PM
thankyou for the information. I can't seem to find anything in the
quickstarts though
just wondering if anybody knows of a way to make a token (SecurityToken
, maybe an IssuedToken , out of raw XML?) or possible add RAW XML into
the soap header when using a web services proxy.

Karl
Re: webservice woes Pablo Cibraro
6/27/2006 1:32:27 PM
Yes, I think you can use an IssuedToken in that case.
The class IssuedToken has a constructor that receives the raw XML.

Regards,
pablo.

[quoted text, click to view]

AddThis Social Bookmark Button