How to custom event adaptor in wso2 cep 4.1.0 - wso2

I make plug-in to jarfile. and I copy to jarfile in dropin folder. (reference https://docs.wso2.com/display/CEP410/Building+Custom+Event+Receivers)
I execute wso2 cep. command is './wso2server.sh -DosgiConsole'. and 'osgi > ss event-adaptor-name' checked ACITVE!
but WSO2 Management web page is not exist. 'Input Event Adapter Type' of my event is not exist.
I check to 'osgi > bundle event-adaptor-id'
The result is
No registered services.
How to registerd service in WSO2 CEP?
I use eclipse, not using maven. I use plug-in project.

Exposing Custom Event Receiver as an OSGI Service section in WSO2 CEP 4.1.0 documentation gives an example as how to register the custom adapter as an OSGI service.
With reference to the same document pointed above, following is the point where the custom adapter register itself under the OutputEventAdapterFactory service.
context.getBundleContext().registerService(OutputEventAdapterFactory.class.getName(),
emailEventAdaptorFactory, null);
If it is successfully registered, you will see "osgi > bundle event-adaptor-id" result as something similar to:
osgi> bundle org.wso2.carbon.event.output.adapter.email
org.wso2.carbon.event.output.adapter.email_5.0.10 [215]
Id=215, Status=ACTIVE Data Root=/home/userx/wso2cep-4.1.0/repository/components/default/configuration/org.eclipse.osgi/bundles/215/data
"Registered Services"
{org.wso2.carbon.event.output.adapter.core.OutputEventAdapterFactory}={service.id=117}
(please note that I have not posted the complete output above, for the sake of clarity of the answer)

Related

Siddhi Error connecting to JMS provider

I tried to send events from WSO2 SP to activeMQ via siddhi-io-jms extension, but i have following error. Error connecting to JMS provider. NamingException while obtaining initial context.
I have followed
this doc for support jms transporting https://docs.wso2.com/display/SP400/Supporting+Different+Transports, put all necessary jar files to lib, also I set correctly #sink in siddhi app, factory.initial and provider.url are correct. Any idea, why SP can't connect to jms?
According to OSGi JNDI spec, all the InitialContextFactories should be exposed as OSGi services. But activemq-client-5.x.x.jar file doesn't contain SPI, but rather they set system properties. This causes the NamingException while obtaining initial context. So we need to register those ICF to OSGi env.
For this we need to use the icf-provider.(sh|bat) tool within SP_HOME/bin.
This will add a BundleActivator to the user provided jar/bundle which will register the user mentioned ICF implementation according to the OSGi JNDI spec.
e.g.
./icf-provider.sh org.apache.activemq.jndi.ActiveMQInitialContextFactory <Jar Directory/activemq-client-5.9.0.jar> <Destination>
Refer https://github.com/wso2-extensions/siddhi-io-jms/

WSO2 PEP Balana Framework executing in WebSphere

We plan to add a Policy Enforcement Point (PEP) into the WAS post login and transaction code handled by the WebSphere 8.5 "full" version. Our preliminary tests did throw unusual error messages, which pointed to an issue with loading of the AXIS web service classes and its belonging resource definition. The error showed up at the SSL protocol setup pointed to a missing key- and trust-store, or wrong location.
What handled the error was to change the Java class loader defaults in the browser administrative console, replacing the default PARENT-FIRST class loader behaviour, updating it to the new value of PARENT-LAST which gives preference to the web service classes directly delivered by the application. We also moved .jar libraries belonging to the Balana framework into the standard WEB_INF/lib directory. Having this updated, the application started to execute entitlement connections sending it to WSO2 IS server, interacting with the XACML PDP framework, sending and receiving XACML requests.

Integrate WSO2 Governance Registry 4.6.0 and Oracle Service Bus 12c

Following
https://docs.wso2.com/display/Governance460/Oracle+Service+Bus
I'm trying to integrate Oracle Service Bus 12c(OSB) with WSO2 Governance Registry 4.6.0(G-Reg).
I've added UDDI registries on OSB (greg-uddi) and then I've tried to pubblish proxy service to UDDI. I've selected a proxy services and checked UDDI - "Auto Publish to Registry" check-box.
After I've activated the session on OSB the following exception was wrote on wso2 log (wso2carbon.log):
TID: [0] [Greg] [2015-07-01 11:44:36,260] INFO
{org.apache.cxf.phase.PhaseInterceptorChain} - Application
{urn:uddi-org:v3_service}UDDIInquiryService#{urn:uddi-
org:v3_service}get_serviceDetail has thrown exception, unwinding
now: org.apache.juddi.v3.error.InvalidKeyPassedException: The
business service was not found for the given key:
uddi:bea.com:servicebus:xxxx:yyyyyyy:sample
{org.apache.cxf.phase.PhaseInterceptorChain}
TID: [0] [Greg] [2015-07-01 11:44:36,442] INFO
{org.wso2.carbon.registry.juddi.util.UDDIGovernanceUtil} -
Service sample added Successfully.!
{org.wso2.carbon.registry.juddi.util.UDDIGovernanceUtil}
Looking into G-Reg management console there isn't anything on proxies/wsdl list, only in the Services list is "sample" present, but without any useful information (nor valid url neither content).
What's wrong?
What I have to do to pubblish wsdl on G-REG?
jUDDI is complaining that the key generator(s) tModels don't exist for the key that's passed in. It's part of the UDDI spec. If your service key is 'uddi:bea.com:servicebus:xxxx:yyyyyyy:sample'
then you need tModel Key Generator's with the following keys before you can publish. They also needed to be created in this order.
uddi:bea.com
uddi:bea.com:servicebus
uddi:bea.com:servicebus:xxxx
uddi:bea.com:servicebus:xxxx:yyyyyyy
This link has a how to guide using jUDDI's web gui
http://juddi.apache.org/docs/3.2/juddi-client-guide/html_single/#_create_a_tmodek_key_generator_partition
You can also programmatically create them. Here's an example
https://svn.apache.org/repos/asf/juddi/trunk/juddi-examples/create-partition/src/main/java/org/apache/juddi/example/partition/SimpleCreateTmodelPartition.java
Here's the code you're looking for:
TModel keygen = UDDIClerk.createKeyGenator("www.mycoolcompany.com", "My Company's Keymodel generator", "en");
clerk.register(keygen);
System.out.println("Creation of Partition Success!");

Simple sender/reciever HL7 messaging service using WSO2

I'm looking for an open-source ESB solution on implementing a Messaging service based on the HL7 protocol.
The best solution may be WSO2, thus I've just downloaded and installed the last version (4.8.0).
After the installation and configuration of the HL7 transport through the Axis repository, I've created a Proxy Services according to the documentation (Creating an HL7 Proxy Service).
How can I, at now, test if the service is correctly implemented, by creating a simple sender/reciever?
Note: I found a tutorial, but on launching the command "ant hl7acceptor" I get the following error: Target "hl7acceptor" does not exist in project "samples".
How can I, at now, test if the service is correctly implemented, by
creating a simple sender/reciever?
Yes you can write your simple client and server to test this.
For client you can use Hapi test tool to send messages. For server, write a simple server code in java. Check this sample code

WSO2 ESB Identity Server and Web Service Client

I'm refering to the following article
http://wso2.com/library/articles/2010/10/using-xacml-fine-grained-authorization-wso2-platform/
I would like to use the sample echoService from the WSO2 AS over a secured proxy in WSO2 ESB in combination with the Identity Server for fine-grained authorization. All the settings mentioned on this page seem to work, however I am stuck concerning the client part. I use NetBeans and the given client code, but the .jars in the classpath there have older versions then the ones in the current version of WSO2 IS, so I started to exchange them manually. Now I get some exceptions like
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.xml.security.transforms.Transform.init()V
and I am stuck again. I just want to test the echoService in this constellation and send some string over the ESB via IS and receive the response(if I have the appropriate role) from the AS, is there not another client or how could I test it else?
Thank you!
I can suggest you 3 options:
Use SoapUI to test the service which is the easiest way to test a web service.
Generate the stub for the service and have stub as the dependency in your client. You can use the WSDL2Java tool that ship with AS. Loging to AS --> Tools in left pane --> WSDL2Java --> Provide the wsdl URL and generate the stub jar.
Generate correct dependency libs. Go to [IS-Home]/bin folder, and issue that command "ant" to run the build.xml, this will copy all required libs to [IS-HOME]/repository/lib/ folder. Have them in your class path.