How would I expose the API Store to a consumer/public/any machine besides mine ? Is this not the purpose of a store?
Putting this URL (that I use) into another persons computer does not yield anything...
https://<myIPAddress>:9463/store
I have tried following this Q , to no success
WSO2 API Manager - Expose Publisher & Store URLs to public
First of all you need to identify the difference of https://<myIPAddress>:9463/store and
https://publisher/store
(https://publisher/store means https://publisher:80/store)
So the difference is port and the host.
Changing host can be done using DNS entry and to redirect port 80 (default port) can be done as explain in the answer of WSO2 API Manager - Expose Publisher & Store URLs to public.
I think your problem is with using a wrong port with the https protocol in the address. Following are the ports associated with http and https in APIM.
HTTP - 9763
HTTPS - 9443
So, you should try either
https://:9443/store or
http://:9763/store
What you have tried is
https://:9463/store
For above two URLs to work, your ip and port should be accessible by the other machines. If they are in the same network, it won't be an issue. If not, you will have to have public IPs.
Related
I am testing Wso2 Api Manager on Ubuntu 18.04. When I created the demo phone verify soap to rest api, the production end point port shows 8281.
Currently on ubuntu I am serving a dart server which uses same port. And all the configuration port from 8080 to 8484 allocated to for my existing server.
My question is how to change production end point port to something different like 9090?
Example:
Default Settings show:
http://localhost:8281/phoneverify/1.0.0
And I need to change to:
http://localhost:9090/phoneverify/1.0.0
Every time I need to run the server I need to publish my endpoint to use port 9090. How do I do that? Thanks
You can set the port offset to 810 in AM_HOME/repository/conf/carbon.xml. Then all the ports will get offset from 810.
Setting offsets in carbon. xml would work, but it will move all other ports as well. I'd sugest using two other ways we commonly use
have an http reverse proxy
You can have a reverse proxy (httpd, ngix,..) to listen to any port defined and forward requests to the target endpoint
you can set the nio port in the file repository/conf/tomcat/catalina-server. xml
I'm trying to connect to a domain that seems to have Akamai tech.
I can't connect and nor does curl - but the browser does.
So I assume the IP address is not blocked.
Reading up - it seems that Akamai runs some algorithms and doesn't allow connections sometimes.
But since a web browser works (from same pc) - I assume it can be made to work.
Any tip?
Your question is quite wage. Akami WAF will not allow curl unless you have white-listed your IP address. Browser connect is just TCP connection on port 80, 443. Which http method did you try to access and is that method allowed? By default i believe only GET and POST are allowed.
I followed this link for configuring multiple hostnames for my identity server. Things are working fine and as expected for all samlsso based usecases.
Please note that the actual hostname and management hostname paramter in the carbon.xml is different from the virtual hostname that i give in the apache front end. (Since there are multiple host names)
However when a passivests request comes through one of the virtual hosts it is received by the wso2 identity server with the virtual host and when the redirection happens to the commonauth url the hostname changes to the one which is defined in the carbon.xml file. so finally when the login page comes up it will be in the format of
Using protocol in lieu of https as I don't have enough reputation to post more than 2 links. :P
protocol://managementhostname/authenticationendpoint/login.do?commonAuthCallerPath=%2Fpassivests&forceAuth=false&passiveAuth=false&tenantDomain=domain1&wa=wsignin1.0
it should have been
protocol://virutalhostname/authenticationendpoint/login.do?commonAuthCallerPath=%2Fpassivests&forceAuth=false&passiveAuth=false&tenantDomain=domain1&wa=wsignin1.0
for requests to the /samlsso endpoint it is happening properly with virtualhostname.
It would be great if somebody can throw some light on the issue.
Thanks in advance
I've a simple jax-ws web service that on localhost works fine with the clients, but now I want to publish the web service on a public ip, so the clients can interact with it through wan network instead lan network.
I signed to no-ip dns service provider and defined my host like "myname.no-ip.info".
In my code i start the service in this way:
Endpoint.publish("http://localhost:8080/baseStationProvider", new BaseStationProvider());
and the browser at http://myname.no-ip.info:8080/baseStationProvider#wsdl doesn't show the wsdl.
If i start the service in this way:
Endpoint.publish("http://myname.no-ip.info/baseStationProvider", new BaseStationProvider());
compiling the code, it raise this exception:
Server Runtime Error: java.net.SocketException: Unresolved address
Any idea to problem and/or how to do what i need?
thanks in advance
This seems likely to do with routing and firewalls as opposed to web service publication etc. Ignoring the web-service aspect, can you even reach your server when you use this in your browser:
http://myname.no-ip.info:8080/
?
Which should look the same as
http://localhost:8080/
If not, then it is probably DNS/Routing/Firewalls that you need to check. Diagnostics that will help there are:
1) can the machine you are testing on resolve the DNS name mynam.no-ip.info? nslookup, ping, traceroute/tracert
2) is there a firewall blocking port 8080 from reaching local host? If the route from the internet to your host hits a firewall (which it will) that firewall will have to forward the request.
Good luck.
I have a Javax web service deployed in a remote Linux machine within a JBoss ESB container. I am able to test the web service using soapUI on the same machine as where the service is deployed. The WDSL URI I used was something like http://127.0.0.1:8080/abcd/abcd?wsdl.
What I would like to do is to be able to test the same service from another machine using soapUI. I tried replacing 127.0.0.1 with the IP address of the machine where the service is deployed. This does not seem to work. Can someone tell me what I am missing here?
Thanks.
a sum of things could go wrong there - as already mentioned by the others the firewall is blocking access for the given (address, port) pair. Another thing that happened to me was that the WSDL was generated using the name of the machine it was deployed on and whenever I was trying to call the service from a different machine it was complaining that I cannot find the given machine.
You need to test network connectively. One tool you can use is plain old telnet. If you telnet to the ip/port combo of the web server, you will get a response (an HTTP error). For example:
$ telnet 192.168.0.10 8080
If you get nothing then there is almost certainly a firewall blocking access.
If you are convinced that no firewall is blocking you, the other possibility is that the web server is only bound to the local network adapter (127.0.0.1) and not the other network adapters (ethernet/wifi). This is very unlikely however.