Hallo
Voor een nieuw project maak ik gebruik van de web-services van de RSZ.
Om de business web-services van de RSZ te kunnen gebruiken moet je eerst een token verkrijgen van hun security service. ( SAML assertion ).
Als ik SOAPUI gebruik kijg ik de token zonder problemen. Het lukt omdat ik in de GUI van SOAPUI een keystore ( *.p12 ) kan meegeven, en zo die request kan ondertekenen.
Dit is de request. Maar volgens mij moet SOAPUI daar nog tags aan toevoegen op basis van de instellingen die ik maak in de GUI.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<wst:RequestSecurityToken Context="abc" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
<wst:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</wst:TokenType>
<wst:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</wst:RequestType>
<wst:Claims Dialect="http://schemas.xmlsoap.org/ws/2006/12/authorization/authclaims">
<auth:ClaimType Uri="urn:be:smals:expeditor:number" xmlns:auth="http://schemas.xmlsoap.org/ws/2006/12/authorization">
<auth:Value>108395</auth:Value>
</auth:ClaimType>
</wst:Claims>
</wst:RequestSecurityToken>
</soap:Body>
</soap:Envelope>
Maar hoe kan ik nu de mijn SOAP requests ondertekenen vanuit .NET? Als ik de WSDL-file als service referentie aan m'n project toe voeg, dan zie ik nergens een functie om een digitale handtekening toe te voegen.
Als ik de WSDL van business service aan m'n project toe voeg, dan zou ik een request moeten opmaken als volgt:
<types:PresenceRegistratio>
<date></date>
<Inss>/inss>
...
</types:PresenceRegistration>
Hoewel als ik de intellisence van de proxy class bekijk dan heb ik helemaal geen toegang tot dergelijke functies. Kan het zijn dat ik de SOAP xml volledig manueel moet opmaken en doorsturen?
Is het zo een SOAP service enkel aangesproken kan worden via een Service Reference?
Alvast bedankt voor de hulp.
Voor een nieuw project maak ik gebruik van de web-services van de RSZ.
Om de business web-services van de RSZ te kunnen gebruiken moet je eerst een token verkrijgen van hun security service. ( SAML assertion ).
Als ik SOAPUI gebruik kijg ik de token zonder problemen. Het lukt omdat ik in de GUI van SOAPUI een keystore ( *.p12 ) kan meegeven, en zo die request kan ondertekenen.
Dit is de request. Maar volgens mij moet SOAPUI daar nog tags aan toevoegen op basis van de instellingen die ik maak in de GUI.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<wst:RequestSecurityToken Context="abc" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
<wst:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</wst:TokenType>
<wst:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</wst:RequestType>
<wst:Claims Dialect="http://schemas.xmlsoap.org/ws/2006/12/authorization/authclaims">
<auth:ClaimType Uri="urn:be:smals:expeditor:number" xmlns:auth="http://schemas.xmlsoap.org/ws/2006/12/authorization">
<auth:Value>108395</auth:Value>
</auth:ClaimType>
</wst:Claims>
</wst:RequestSecurityToken>
</soap:Body>
</soap:Envelope>
Maar hoe kan ik nu de mijn SOAP requests ondertekenen vanuit .NET? Als ik de WSDL-file als service referentie aan m'n project toe voeg, dan zie ik nergens een functie om een digitale handtekening toe te voegen.
Als ik de WSDL van business service aan m'n project toe voeg, dan zou ik een request moeten opmaken als volgt:
<types:PresenceRegistratio>
<date></date>
<Inss>/inss>
...
</types:PresenceRegistration>
Hoewel als ik de intellisence van de proxy class bekijk dan heb ik helemaal geen toegang tot dergelijke functies. Kan het zijn dat ik de SOAP xml volledig manueel moet opmaken en doorsturen?
Is het zo een SOAP service enkel aangesproken kan worden via een Service Reference?
Alvast bedankt voor de hulp.