I have a question on WS-Security policy. We can implement the WS-Security using CXF WSS4J interceptors or WS-Security Policy. What will be the difference of this two approaches? I found embedding a WS-Security Policy to a wsdl is more difficult than adding the interceptors in cxf.Please make me to understand what is the different between this two? Thanks in advance
With WS-SecurityPolicy, the security requirements become part of the published "contract" (aka: WSDL) so consumers of the service immediately know what the requirements are. Also, because WS-SP is a lot more descriptive than the "actions" used for the WSS4JInterceptors, it can be used to describe a much much wider range of security requirements.
Related
I am trying to explore is there any tools or any document is available in order to do the Migration from Mule into Apache camel.
please share if anything is available.
Thanks
Arun K
After a quick Internet search I suspect the answer is no. Probably their models are two different. You will need to rewrite from scratch the integrations. Note that Camel.appears to favor a Java DSL approach while Mule uses an XML DSL to configure flows.
However if you have a significant number of integrations in Camel XML DSL it might make sense to create a translator at least to get some base translation that will need to be completed manually.
I've seen that Jetty now supports HTTP/2. Spent some time researching and can't see a way of implementing this in Apache Camel-Jetty. Any idea whether this is something that Camel will need to implement? Or is it configurable using their RestConfigurationDefinition?
Thanks in advance.
I'm afraid you need to do some extra work to enable the HTTP/2 feature. Camel-Jetty Components has two parts, one is Consumer (Jetty Server) and the other is Producer (Jetty Client). If you want to enable the HTTP/2 feature, you need to make sure the Http module is loaded by modifying some code. I don't think you can do it by doing some configuration with the RestConfigurationDefinition.
Please send a feature request by creating a JIRA for it.
I am currently learning Camel, and have a specific project in mind that requires a Websphere MQ back-end, but I can't use JMS components, since I need a lot of non-jms headers, like MQIIH.
I found the camel-wmq project.
Is it the recommended solution ? Is it any good ?
You don't need to use jms. WMQ has a client API. Just download the wmq client jars and put them in your project and use them together with your Camel routes. You will probably put the wmq client code in a processor class or something similar. Off course best to test to put a message on a queue manually via RFHUTIL or something similar as a client so you are sure the environment setup is correct.
The suggested way of working with WMQ has always been through the JMS component since it enables you to painlessly switch to other providers if the need arises.
However, if you need to use some WMQ-specific function then my suggestion would be to extend the camel-wmq library - it contains only a subset of features supported by WMQ and does not support MQIIH headers that you need. Adding functionality to a component would probably involve more work than the solution Souciance Eqdam Rashti suggested but it would be a cleaner solution and more in line with Camel's philosophy. Also, you'd be giving back to the community and thus help make Camel a better tool for everyone :)
I would also suggest you go through the IBM MQ discussions on the Camel's official user group mailing list and see if you can salvage anything.
I am developing an ionic application which will interact with MS Dynamics CRM. I have looked online for solutions, but all solutions are either RESTful implementations or non MS Dynamics implementations. Has anyone implemented SOAP services of MS Dynamics using Angular JS? If possible please share example.
Several questions that probably will lead you to solution:
Do you have special requirements to use SOAP? Most of CRM functionality successfully exposed via REST / OData endpoints. Only for really none-trivial cases you would need to use SOAP syntax. You can check list of current limitations here. Consider using REST instead.
Another question would be, where your application is deployed? Is it within CRM itself? Or not? If Angular application is started within CRM (as WebResource) this is a lot simpler! Since you are already authorized to the service and you don't need to bother about that. In this case maybe this library could provide you some help... there are several approaches to create great middleware for SOAP requests to CRM, this seems to be most modern one.
But if you're not authorized... This is whole new level of the problem... Which environment you're targeting? OnLine? OnPrem?
In that case, first you need to authorize, then you can proceed with your queries, for example with the help of the library on previous step. There is one JS library that could help. It is abandoned, but you can take a look on the code. I'm talking about dynamicscrm-api. It won't work in browser, but it will give you understanding, how you can move on.
I'm looking for an efficient way to generate API documentation in a readable format, from the generated files from Cloud Endpoint (Java). The generated files are either:
- my_api.api
- my_api*.discovery
Something that looks like this:
- https://github.com/kevinrenskers/raml2html#example-output
Swagger, API blueprint and RAML are all nice options, but don't seem adapt well to endpoint generated API descriptor files.
What methods are you using?
Unfortunately we (Apiary) do not actually offer any code generation tool at the moment for API Blueprint.
If you are looking for a way how to generate a description of your API from the code then API Blueprint isn't probably the best choice as we believe it should represent the contract between everybody involved in the API design lifecycle. This is also the reason why we have built the testing tool – Dredd – https://github.com/apiaryio/dredd
With Dredd you can test your API implementation is matching to your blueprint. It wouldn't make much sense if the blueprint would be generated from the implementation.
Hope it clarifies.