OSB 12c Send Cookie in header - oracle

thanks in advance for the help!.
Well basically i have a business service and i have to send a request and also a header, in that header i need to put a Cookie, in oracle page documentation saids
To set a cookie using a complex XML expression, which is the Oracle Service Bus default format, configure the value of the HTTP Cookie header in the outbound request using the following expression syntax:
<cookie-values xmlns="http://www.bea.com/wli/sb/transports/http"> <value>{fn:concat("cookie_name", "=", "cookie_value")}</value> </cookie-values>
in the routing component i have a transport header like this
according to the documentation i send in XQuery expression this
But everytime i send the request the log show
i try use fn-bea:inlinedXML function to return an xml type or wrap it with quotes but always return the same error
and also i try to test the business service directly with the structure according oracle's page in bus console and i succesfully send with the Cookie
Thanks in advance (sorry for my english if you see any error)
Thanks again

I had the same issue today. I solved it by adding the following Java options on setDomainEnv:
-Dcom.bea.osb.http.cookieAsNoComplexElement=true

Related

Testing keycloak login/registration using JMeter

We have an requirement to test Keycloak Login/Registration using Keycloak application. When I open portal and click on continue to Login/Registration, it is redirecting to the following URL and taking Query Parameter.
I am not aware how and from which section we can get the value of Query parameter to pass
https://keycloak..com/realms//protocol/openid-connect/auth?client_id=&redirect_uri=http***personal-information
state= f707ae75-4543-46a8-8204-538492251966
nonce= 03d80815-c174-4453-83d4-0324726b87df
code challenge= OpSGM55wKbL4suTi_-FJcyWIdD63UryMV8fX4Mu-dc4
code challenge method= S256
tab id= ub4Sj_h_Cho
Please help here, if possible
Thanks
You've mentioned you're redirected which means that one of the previous request responds with i.e. 302 HTTP Status Code and its Location header contains the keycloak URL and all these query parameters.
If you need to extract them for future use - go for Regular Expression Extractor or Boundary Extractor, just make sure to choose the relevant "Field to check"
Your app uses Authorization Code Flow with Proof Key for Code Exchange (PKCE), so you need to understand:
1.) OIDC auth request (client_id,redirect_uri,state parameters - they configured in your IDP/Keyclok usually): https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
2.) PKCE part (code_challenge,code_challenge parameters - they are generated usually): https://datatracker.ietf.org/doc/html/rfc7636

IBM App Connect Enterprise - Form Data in Rest Request Node

According to this IIB v10 link application/x-www-form-urlencoded form data parameters are not supported for a Rest Request Node.
https://www.ibm.com/support/knowledgecenter/SSMKHH_10.0.0/com.ibm.etools.mft.doc/bi12026_.htm
Is this still the case for IIB 11? have they included support.
Is there another way to call a back-end API having form data parameters in the swagger file?
Thanks in advance.
I got this done by a work around. Used an HTTP Request Node with the following ESQL in a compute node.
SET OutputRoot.HTTPRequestHeader."Content-Type" = 'application/x-www-form-urlencoded';
SET OutputLocalEnvironment.Destination.HTTP.QueryString.grant_type = 'client_credentials';
I know this is not an answer but this worked and retrieved my token.
Hope this helps to someone.
You will need to use BLOB domain in order to send a request with "x-www-form-urlencoded" header content-type in IIB.
Check below links for reference:
Example1
Example2

Running jmeter to load test vaadin 13 application being return session expired meta

I am trying to run jmeter to load test vaadin13 application following the article here How to perform an Load Test/Performance Test with Vaadin 10 (is it possible with Jmeter?) which is absolutely very helpful. However, i encounter being return for(;;);[{"meta":{"sessionExpired":true}}] for every request which i am clueless.
I check that Vaadin-Security-Key is extracted correctly. Check the request data csrfToken, node is replaced with the value correctly. I am clueless on what i am missing here. Would like to seek advice what else i am missing. Thanks in advance.
Request payload (data) you are sending is JSON. I guess you have not set Content-Type header in your request and Vaadin cannot read payload you have sent, thus cannot read csrfToken which is needed to validate session.
You can set headers using HTTP Header Manager component. If all requests are sending json data, you can add this component on Thread Group level, and if only certain requests needs it you can add it to specific HTTP Sampler...
For json-type requests, content-type header should have value application/json; charset=UTF-8.
I hope this will resolve issue you are facing...
There are a lot of ids that need to be correlated when writing a test plan for VAADIN.
If the answer you're pointing at did not work for you, it will be easier to try to use this autocorrelator for Vaadin.
Disclaimer: We are providers of this solution
As you can see in your request POST data, you have CSRF Token. You need to correlate the CSRF Token and that error should resolve.

POST call in Mulesoft

I am trying to make a HTTPS POST call in mulesoft to an external API. I had read in the mulesoft documentation and also in other posts that in order to send the request body, a map has to be prepared.
Hence, i am using the "Set-Payload" to prepare a map.
Eg: #[{'key':'value'}]
When I am using the logger to display it, it prints a map (as expected).
But when the POST call is being made, i am receiving the following error:
Response code 503 mapped as failure. Message payload is of type: BufferInputStream
Payload : org.glassfish.grizzly.utils.BufferInputStream#3f8f77a
Could anyone let me know where am i going wrong?
Thanks in Advance.
The server you're trying to call is returning status 503. Have you tried calling the external API using other client SOAP/Postman/Curl?
Also check this out:
http://forums.mulesoft.com/questions/2009/consume-get-restful-service.html
You should set proper mimetype for muleMessage and set the http POST method, then it should work.
While posting the data male sure how your http is expecting the input. What ever the transformations you want to make before posting do it, finally when posting the data to http cross check your data type with the data in the server your are trying to send. Both needs to match. Then it work.
I generally try to Isolate HTTP interaction problems into two parts. One is related to request itself for e.g. URL,Method,Headers,Payload,MimeType and other should be related to transport and network interaction with Server itself. To better view the information for both of the above details use a htt[ proxy/debugger [for. e.g. Fiddler] around the traffic flowing while you make a request. This will throw more light on the stuff hindering you while making this call successfully.
You can try any of the below sugestions-:
Set payload as map, mention MIME Type as application/json and then use json to object transformer (with return class as java.util.HashMap).
Set payload as simple string. This could help.
Status code 503 implies that the server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay.
Please try resending the message or hit the API with Postman.
It looks like you need to change the port in the request-config to 443 since you're using HTTPS.
<http:request-config name="HTTP_Request_Configuration" protocol="HTTPS" host="jiratst.murex.com" port="443" doc:name="HTTP Request Configuration" basePath="/rest/api/2/project">
try using input {'key':'value'} in set payload instead of Array.

Jmeter Http post special characters issue

I'm trying to login with http post using jmeter.
i have parameters like session & Authorization which hold special characters like below.
Authorization AOrSwPpS0tB6XXICp8IVE-9aGSkGeYGFxEvucSJHYYDZ.Wp-24VvrLR4.-6Y9QQo.
Session ljvrB3JGxTpHFkrtUSyQXJSRz4E7w5uSwQmTqfWWRBA-dYRKPt58UJqPqPu
I'm not able to login. please advise me to fix this issue.
Check "Encode?" on the parameter in the parameters table , see:
http://jmeter.apache.org/usermanual/component_reference.html#Thread_Group
But I think your issue is not this but the fact that you are reusing ids you got during recording that you need to make variable through Regexp extractor for example

Resources