As Kevin suggested, the error seems to indicate the service expects username as a WS-Security header in the SOAP envelope. If that's the case, what you need to configure is WS-Security profile and not authentication profile. And also make sure you enable WS-Security on the advanced tab of the connector.
Posted: 4 years ago
Updated: 4 years ago
Posted: 26 Jan 2016 21:41 EST Updated: 2 Feb 2016 7:09 EST
I was using WS-Security only but that was giving Java Runtime error. So I approached the service provider and they specifically said we need Basic Authentication (which is present in Auth Profile in pega). That’s why I built the Auth Profile. So now I am not getting java RunTime Error but the error mentioned below. Anyway thanks for your suggestions. PFA the Logs.
Am confused as to which one is correct. The header that is generated doesn’t have the username/password passed.
I don't understand what your requirement is here. You have configured an auth profile and set the scheme as Basic. In your logs, I see the Authorization header with Basic as the scheme and the credentials in base 64 encoded form.
This is the expected behavior. If it still doesn't work, your service provider expects something else and not just Basic authentication. I suggest that you get in touch with your service provider and get exact requirements from them. Ask them if WS-Security is required. Ask them if they expect the credentials in the SOAP envelope as SOAP header elements. That would require different configuration in Pega and auth profile is not relevant in that context.
âº Requirement is very simple. Connect and get data âº. First they said WS- Security, then said Only Basic authentication. So I tried both but nothing is working. Then I asked them that ,“If you are expecting the username/password to be passed in the header, then you have to update the XSD accordingly and then I will consume the WSDL again to generate the new Modified XML Stream rule.” Am still waiting for their response. In the mean time I did all this. I thought I may have missed something while configuring, but after u said this is the expected behavior, am happy âº . I somehow guessed < Authorization: Basic bWJjZGZzOm1iY2Rmcw==[\r][\n]"> was the encrypted format but just wanted to be sure from you guys.
Thanks again as always, but I will keep this open for a while until its resolved.
If the service needs basic authentication and you have configured authentication details using auth profile, then the username and password are sent in HTTP header called Authorization using the scheme Basic. The username and password are not part of the request SOAP envelope. Check with your service provider how they expect the username and password to be transmitted. Also ask them for probable reasons for your original error:
A compatible identity was not found for propagation. One of the following identity types is required: ('username, usernameAndPassword'). Only the following identity types were found: ('').