WSO2 ESB with CEP doesn't work - wso2

I'm using WSO2 ESB v.4.8.1 and WSO2 CEP v.3.1.0 and I want to integrate each other. The problem is that I fill IP Address, protocol, disable security connection, Authentication Port set 7711, Receiver Port set on 7611 and when event come to ESB in order to send to CEP I get this error:
ERROR AsyncDataPublisher Reconnection failed for ssl://<ip_address>:<port>
but security connection is disable.
I turn off firewall, set security connection but this doesn't help.
Has anyone know how to fix that?

I assume you are doing this by creating a BAM Server profile and providing a CEP Thrift endpoint. I would suggest you to try this out on a single machine with CEP running on port offset. This will let you identify whether the issue is with your network. If your running CEP on port offset 1, Reciever port should be 7612 and Authentication port should be 7712

Related

SSL for Apache ActiveMQ on AWS EC2 instance

I have a Java application configured with some self signed certificates that communicates with ActiveMQ version 5.13.0 over SSL/TLS version 1.2. The relevant self signed certificates reside in their respective keystores and truststores. This connection over TLS works just fine on my local Windows machine, clients without the proper certificates are unable to communicate with the broker and clients with the proper certificates can.
However, this does not work when the same code and keystores are used on an AWS EC2 instance. I have the same version of ActiveMQ installed there and am using the very same keystores and truststores on the broker and client side. Clients without any certificates configured are able to connect to the broker and communicate.
I would like to understand if SSL/TLS for ActiveMQ must be configured differently on a Linux machine or if there is something else that I am missing.
Snippets from the activemq.xml file that enable activemq to use SSL/TLS:
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
<sslContext>
<sslContext keyStore="file:${activemq.base}/conf/broker.ks"
keyStorePassword="changeit" trustStore="file:${activemq.base}/conf/broker.ts"
trustStorePassword="changeit"/>
</sslContext>
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxInactivityDuration=300000&wireFormat.maxFrameSize=104857600&jms.messagePrioritySupported=false"/>
<transportConnector name ="ssl" uri="ssl://0.0.0.0:61714?transport.enabledProtocols=TLSv1.2"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
Answering my own query.
I handle the Java client and that client connects to port 61714 that is designated for SSL.
The folks dealing with the IoT device side told me that these devices default to port 1883 for MQTT connections and port 8883 for secure MQTT connections.
This can be configured by adding the below line to the transport connectors :
<transportConnector name="mqtt+ssl" uri="mqtt+ssl://0.0.0.0:8883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
The device has some constraints due to which it cannot connect to an SSL port and publish MQTT messages. The Java client on the other hand has no issues connecting to the SSL port and publishing and consuming MQTT messages, so adding the above line resolved this.
If needed, one could comment out the transport connector for port 1883 so that no clients without the needed certificates are able to connect to the MQTT broker.

WSO2 ISO8583 Initiate and Maintain Connection with Server

We've configured WSO2 using the below ISO8583 endpoint to receive messages and communicate with a RESTful API.
https://docs.wso2.com/display/ESBCONNECTORS/Configuring+ISO8583+Inbound+Operations
The provider we're integrating with are expecting that we will initiate the connection with their server on the 5000 port, and only then will they begin sending transactions to us. I'm primarily experienced with RESTful APIs so I'm not familiar with WSO2 and opening and maintaining a socket connection. How do I need to configure WSO2 to create and maintain the connection with the host / port from which we expect all transaction to then originate?
I assume this will be via the ISO8583 connector however need guidance.
https://docs.wso2.com/display/ESBCONNECTORS/Configuring+ISO8583+Connector+Operation
Could you please elaborate more on your requirements. While reading the description, I do not think that you have a requirement to consume ISO8583 standard messages. Please use this connector only if you are consuming ISO8583 standard messages.
You can refer to the documentation on the inbound endpoint in document [1] to further clarification regarding the listening inbound endpoint, in which you can define a host and a port. Please elaborate more on the type of messages that need to be consumed how to interact with the backend to provide with a more infomative answer
[1]-https://docs.wso2.com/display/EI650/WSO2+EI+Inbound+Endpoints

WSO2 ESB REST API Port Change

Do we have a feature in WSO2 ESB REST API where we can deploy REST API services on Carbon server with different ports.
In the sense, REST-API-1 with port 1000
REST-API-2 with port 2000 and so on.
I don't want to use server port which is by default 8280 for all REST services.
I need unique ports for each REST API Service as mentioned above.
Thanks,
Abhishek
This is not supported. What you ca do is change the port. But you can't use different ports for each service.

Configuration for WSO2 ELB with WSO2 ESB

I want configuration files for WSO2 ELB 2.1.1 and WSO2 ESB 4.8.1, axis2.xml loadbalancer.config carbon.xml catalina-server.xml and any other if there.
I have configured with one ELB(offset 0, 8280), one manager(offset 1, 8281) and one worker(offset 2, 8282) ESB and when i try to send a request via ELB I'm getting
DynamicLoadbalanceEndpoint application member not available
but both are available and get the log that mgt and worker have joined when they turn on in ELB.
Initially when i send a request i have got
httpclient.HttpMethodDirector: I/O exception (java.net.ConnectException) caught when processing request: Connection refused: connect
then I have set allowall in axis2.xml and got the error which I have mentioned.
What would be the problem? If someone who have already configured could share the configuration files it will be very helpful for me.
Thanks.
Please refer WSO2 Clustering and Deployment Guide. There are instructions to configure an ESB cluster.
If the ESB cluster is not connected to the ELB, you will see "application member not available" message in ELB logs when you try to send requests.
Maybe this will be useful to someone else in future:
The WSO2 Elastic Load Balancer has been discontinued as of July 1st 2015. You can download NGinx Plus [1] - the load balancer by NGinx - for which we provide support.

Modify the ports for the exposed API in WSO2 API manager

I have to expose an API with the port other than 8280. i modified that in axis2.xml to port :8286 for HTTP Transportreceiver . Even after restarting the apigateway service , it is Refusing the connection on the particualar port.
Whats the process for modifying the ports.
You just have to change the Port offset of the API Manager Server. For that change offset configuration in <PRODUCT_HOME>/repository/conf/carbon.xml
<Offset>1</Offset>
This will change the NIO port which is 8280 by default to 8281 (8280 + 1).
After that make sure to edit all the hardcoded endpoints of default APIs available by following[1]
[1]http://docs.wso2.org/wiki/display/AM140/Configuring+Port+Offset