Throttling does not work with domain type in WSO2 ESB 4.0.3 - wso2

When I try to config throttling with domain type in WSO2 ESB 4.0.3 for services ECHO.
I tried to send the soap message from client to server via command line:
curl --data-binary #soaptest.xml -H 'Content-Type: text/xml;charset=UTF-8' "http://dc2nix2d11:8282/services/echo"
But I still get the result although I set access deny for the domain of client machine.
I try to do the same config throttling with IP type and it's work.
Maybe Throttling does not work with domain type in WSO2 ESB 4.0.3 ?
Please help me to fix this issue.

This is an known issue. It's already fixed in next ESB release

If you are using service hosting feature on WSO2 ESB you could alternatively use recently released WSO2 AS 5.1.0 which support for domain based throttling to host your services till the next ESB version get released.

Related

WSS Support in WSO2 API Manager

I am verifying the Websocket support in WSO2 API manager for one of my requirement. By default, WSO2 API Manager provides the options for configuring "WS" protocol and able to access it. But I couldn't find any configuration for "WSS" protocol support.
Is there any limitation in WSO2 API manager or is there any documentation available?
Thanks,
Sow
WebSocket support is available by default in WSO2 API Manager. Related transport configurations should be available inside the axis2.xml configuration file. You can find related documentation in the WSO2 API Manager documentation.
https://docs.wso2.com/display/AM260/Create+a+WebSocket+API
When using wss endpoint, we were able to observe some errors and we were able to get rid of the errors with the following approach.
Please include the following parameter in the SecureWebSocketInboundEndpoint.xml file which resides in the <APIM_HOME>/repository/deployment/server/synapse-configs/default/inbound-endpoints directory.
TLSv1.1,TLSv1.2
Also, please remove the following parameters from the same SecureWebSocketInboundEndpoint.xml file if the following parameters(wss.ssl.trust.store.file and wss.ssl.trust.store.pass) exist in the file.
repository/resources/security/client-truststore.jks
wso2carbon
Please use the following sample web socket client to try out and run the WSS client. Please change the variable carbonKeyStoreLocation to point to <API-M_HOME>/repository/resources/security/wso2carbon.jks. Note that port for the WSS API is 8099.
You can download the WSS client in the following WSO2 official documentation under the WSS Support section. (In the second step.)[1] Further please change the access token, web socket endpoint and the carbonKeyStoreLocation with your one to try out the scenario.
[1] https://docs.wso2.com/display/AM260/Create+a+WebSocket+API

Why do Data Services use the Servlet Ports as opposed to NIO/PT - WSO2

I've installed Dss 3.2.2 features onto Esb4.8.1.
When I create a proxy service the Service endpoints are as expected e.g
http://[ip]:8280/services/[proxy_service_name]
But when I create a dataservice , the service endpoints also show the same(NIO) port , contrary to the expected (mgmt) port :
http://[ip]:8280/services/[data_service_name]
But it should be
http://[ip]:9763/services/[data_service_name]
If I send a json post request to the 8280 for a dataservice , it does not receive any params :
"current_params": "{}"
Sending it to 9763 it reads my params:
"current_params": "{no=xxx, dump_size=10}"
Is there a config/way to fix this?
I believe you are using try-it tool shipped with WSO2 ESB by default. Let me explain what it the reason for this problem. WSO2 ESB exposes two HTTP ports (i.e NIO port which is 8280 and servlet port which is 9763) and when dataservice features are installed, data services are also exposed via both ports. By default ESB try-it uses NIO port(8280). The issue is ESB try-it tool does not handle invoking data service via NIO transport. It drops the parameters passed. That is why the current_params is empty. This is a known issue and will be fixed in a future release. As a workaround you can either use servlet port to invoke dataservice or any other soap client such as SoapUI.
Thanks

WSO2ESB using XMPP protocol

Has anybody managed to get XMPP protocol working successfully with WSO2ESB (WSO2 Enterprise Service Bus)?
I have managed to get the server setup correctly and it registered on Openfire as a session. From there nothing seems to work. I have deployed a service which has xmpp as a transport. The service deploys successfully but it doesn't seem to create a session on Openfire and the xmpp endpoint url appears not well formed:
xmpp://wso2esb#null/services/XMPPPOC
As you can see the domain is coming out as null.
I can find no issues in the wso2esb log or the openfire logs to indicate any problem.
Has anybody has any success using XMPP as a protocol with WSO2 products (at all, let alone ESB). It seems to be that it doesn't work and it certainly appears scantly documented.
Any suggestions would be appreciated.

Getting error when running WSO2 API Manager with WSO2 BAM Server

I got the following error when runnning WSO2 API Manager 1.3.1 to use the WSO2 BAM Server 2.0.1.
TID: [0] [AM] [2013-05-02 18:58:40,609] ERROR
{org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher}
- Error initializing APIMgtUsageDataBridgeDataPublisher {org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher}
org.wso2.carbon.databridge.agent.thrift.exception.AgentException:
Error when finding event stream definition for :
org.wso2.apimgt.statistics.request 1.0.0
Both API Manager and BAM are running on the same machine and I changed offset to 1 in /home/jtao/api/wso2bam-2.0.1/repository/conf/carbon.xml based on Monetization of API Usage.
I also checked that BAM_HOME/repository/conf/etc/cassandra-component.xml doesn't exist in BAM 2.0.1. as someone suggested in the answer of another question "Configuring WSO2 API Manager to use the WSO2 BAM Server"
Any ideas?
I ran the same scenario described in guide and it works without any error. May be your have missed a part in the configuration guide? Make sure BAM_HOME is set correctly and BAM server is started before the AM server.
The following guide too can be used to integrate AM 1.3.1 with BAM 2.0.1
http://docs.wso2.org/wiki/display/AM131/Monitoring+and+Statistics
Ishara

How to enable Sticky Session in WSO2 Elastic Load Balancer for Vaadin

wso2 or vaadin people
I follow this guide to setup ELB for WSO2 Application Server
http://docs.wso2.org/wiki/display/ELB203/Setup+ELB+with+WSO2+Application+Server
The ELB works perfectly. However, My vaadin application show this error.
Cookies disabled
This application requires cookies to function.
Please enable cookies in your browser and click here to try again.
Vaadin related commit link.
http://dev.vaadin.com/changeset/11570/svn
It should be some problem related to session/cookie.
I am willing to provide more information if needed
It turns out the bug is fixed in wso2 svn trunk but not in lastest ELB/ESB. I get two JSESSIONID cookie, thats why passthrough proxy fails. Hope it helps someone.
See https://wso2.org/jira/browse/ESBJAVA-1659
Can please you try to access your application bypassing WSO2 ELB and send us the http headers that are flowing through to the application (use TCPMon in between Client and your application) ?
FYI WSO2 ELB do preserve JSESSIONID cookie.