I'm new to GCP and APIgee.
I'm trying to integrate an API as a reverse proxy in APIgee. Steps I have followed are :
Create a Reverse Proxy
Add the below details
a. Name: simple-greetings-proxy
b. Base path: /simple-greetings-proxy
c. Target (Existing API): https://mocktarget.apigee.net
Leave default values in Policies page as it is as Pass through
Deploy
It is not showing virtual hosts section. I'm not getting any host even after the creation of APIs so that I can test.
This looks like some configuration issue of apigee setup.
It looks like you're following the 'build a simple API proxy' tutorial in the Apigee docs, like here:
https://docs.apigee.com/api-platform/fundamentals/build-simple-api-proxy
The next section of the docs should have the info you need to proceed: 'Define the URL that clients see' > 'About virtual hosts'
Related
I am new in whatsapp business API integration and i successfully installed Docker and postman collection.
Referring below link : https://developers.facebook.com/docs/whatsapp/installation/dev-single-instance
Now in postman collection they mentioned regarding {{ URL }}
Collection Link : https://developers.facebook.com/docs/whatsapp/guides/postman
The first thing you should replace is the URL which represents the webapp endpoint. You'll see that all of the requests will reference this variable via {{URL}} so it's important you get this right.
How can i get this Valid URL ?
I tried hard but unable to find it.
Help me if anybody know this.
Thanks in advance.
If you have deployed whatsApp business API over docker setup .. then your endpoint url will be https://localhost:9090 .. replace "localhost" with ip of server if required.
Simply, use command netstat -nltp|grep 9090, and check on which ip the port is open for.
https://new-console.ng.bluemix.net/docs/services/apiconnect/apic_tutorial.html#apic_tutorial_01
Follow previous link to do create loopback project named ibmsvt and do test locally, we can post and get.
then publish this api as running api app on bluemix and we will get api target url and tls file.
type url and tls in api designer invoke, and publish api product again.
check api connect service and we can find that published api product has been published, configure developer portal, and invite developers
login developer portal and register one app
subscribe app to api product and run post command.
We will see that we only get can't post error information...
Please see attachment info for error info and api file.
From the screen capture provided, it looks like you're displaying the logs for the loopback application deployed on bluemix. It also looks like the POST request from APIConnect hit the Bluemix application as well. However, I'm unable to see the exact message of the error. What error did you get when you execute the POST from APIConnect? I suspect the POST did not include the $(request.path), what did you change the invoke url to be ? Can provide the x-ibm-configuration section in your yaml file? It will be located in your /definitions.
Thanks and best regards,
I am just have the exact problem, and struggled for days on redoing the tutorial several times, but still met with the same problem until found the upper reply, and gave me a hint.
In the tutorial, it says like the following:
Update the following fields with the values you copied previously:
Invoke URL: Insert the API target URL. You must specify the secure protocol HTTPS. For example:
apiconnect-ca3283b0-525c-488d-993b-3ab72fca78d0.youremail-dev.apic.mybluemix.net
TLS Profile: Insert the API invoke tls-profile.
For example:
client:Loopback-client
The origininal URL is $(runtime-url)$(request.path)$(request.search).
And the correct URL after updating is like following:
https://apiconnect-ca3283b0-525c-488d-993b-3ab72fca78d0.youremail-dev.apic.mybluemix.net$(request.path)
no slash before $(request.path), and $(request.search) should be deleted.
I also checked a tutorial video, it also do like this, but the screen for this step is passed away very quickly, you will not pay attention to this detail normally.
https://www.youtube.com/watch?v=Qku71JLv8vA&list=PLFa8jnU0KqE2eW5E449ziaurv8obSbcou&index=3&cm_mc_uid=24774488665514672571374&cm_mc_sid_50200000=1468400063
I am using apimanger 1.9.
I read this already : Add header with username into request to backend in wso2 apimanager.
I am able to add and forward username to backend in wso2 apimanager for specific service; but I want this for all service. I am modifying admin--<api_name>_<version>.xml for all services(50 services), which is very much manual. Something it leads to manual error.
Is there a single place configuration where I can set this (forward username to backend endpoint) for all service?
One more question - if I create and publish the APIs using "Publisher API" feature, is there a way to post something to set up the add header for each API?
Modify the velocity_template.xml which decides the template of an API. Please read my answer given to a similar requirement. You need to modify the relevant section in the velocity_template.xml.
I'm using WSO2 API Manager 1.8 and it has been deployed on the cloud according this guide with a HAProxy. I have been given a IP https://192.168.X.XYZ to access the API Manager which is the IP given to the cloud instance.
My problem is when I type https://192.168.X.XYZ, it loads the publisher, what I want to do is load the API store rather than loading the publisher. Basic idea is that a domain will be mapped to the above IP address. So when an user type the domain user should be shown the API Store not the API Publisher.
https://192.168.X.XYZ -> https://myapistore.com
How can I configure API store to be loaded rather than the API Publisher in WSO2 API Manager 1.8?
In <AM_HOME>/repository/components/plugins directory, there is a bundle called "org.wso2.am.styles_1.x.x.jar". Open this jar and find its component.xml file which resides in META-INF directory. You should notice that default-context has been pointed to publisher. Change it to store as follows and update the jar.
<context>
<context-id>default-context</context-id>
<context-name>store</context-name>
<protocol>http</protocol>
<description>API Publisher Default Context</description>
</context>
After doing the above restart the server.
Now, if you try to access the root URL of the server https://192.168.X.XYZ, it will be redirected to the API Store (https://192.168.X.XYZ/store/).
I want to configure a custom port for the redirect URL in the Google Developer Console for the class of 'Installed Apps'.
Following the instructions in https://developers.google.com/accounts/docs/OAuth2InstalledApp , it turns out that this should be possible:
redirect_uri=http://localhost:9004&
Going to the Console ("console.developers.google.com"), "Credentials", and "Create New Client Id", I cannot find the field, where to enter a custom port number. Does anyone know how to do this?
Thanks!
In fact, The document you've read has answered you question:
When you create a client ID in the Google Developers Console, two redirect_uris are created for you: urn:ietf:wg:oauth:2.0:oob and http://localhost. The value your application uses determines how the authorization code is returned to your application.
http://localhost signals to the Google Authorization Server that the authorization code should be returned as a query string parameter to the web server on the client. You may specify a port number without changing the Google Developers Console configuration.
I tried this idea and it works.
Give consecutive ports or probable ports in credentials as
**Redirect URIs**
http://localhost:55738/YoutubeVideoList.aspx
http://localhost:8080/YoutubeVideoList.aspx
http://localhost:8081/YoutubeVideoList.aspx
http://localhost:8082/YoutubeVideoList.aspx
http://localhost:8083/YoutubeVideoList.aspx
http://localhost:8084/YoutubeVideoList.aspx
and don't forget to give correct redirectURI with port(anyone above) while calling the authentication process.