Hi, I have a customer question, and then some comments for the documentation. ------------------------------- Every camel implementation and (destination) binding, are defined using java interfaces. The source (to) binding share the same interface as camel. Which means that every switchyard project is going to have at least two interfaces. An interface definition (in java) looks like this; interface <interface-name> { <method-qualifier> <return-type> <method-name>(<parametertype parameterName>) } Example; Interface I007 { public void getWMSInfo(String contents); } This means that, when we read a file the payload data type is String. In quite a few of our switchyard implementations, we have omitted the <parametertype parameterName> (e.g., public void getWMSInfo();) , and although it works I could not found any documentation that says it is ok to not include this. Just some sanity check that this is indeed ok to do it like this. ------------------------------- Strictly speaking, input type is optional, although it should always be used if there is an actual input message. Our contract requirements were relaxed when the REST binding was introduced to allow for GET operations which produced an output with no actual input body. Whether this was actually required is debatable, but that ship has sailed and so we need to make the best of it. - If SwitchYard requires an input parameter for Service contracts we need to enforce somehow this. At deployment time could be good. (I'm basing my assumption in that ESB contracts enforces one input param in the IDE) It is not required, but is strongly recommended in all cases where input content is actually provided. - If SwitchYard does not require an input parameter for Service Contracts, we need to align the product so that it behaves the same in runtime, deployment and deign (IDE). Agree. Sounds like it’s just a matter of updating the tooling based on what the runtime allows. - If depends on contract type, we need to document. Same for all. It would be good to also cover things like: - One single operation supported - If services are IN_ONLY or IN_OUT what is expected for the contract - Contract combinations (Java component -> java contracts, camel components -> java,esb contracts, soap binding -> wsdl/esb/java contract)
Rick, Are you able to help out with this request from Jorge, please? Regards, Ben
(In reply to belong from comment #1) > Rick, > > Are you able to help out with this request from Jorge, please? > > Regards, > Ben Hi Ben, Yes, I'll initiate a conversation with the necessary stakeholders, I'll copy you. Watch for an email today. Thanks, Rick
Nilam, As a first step, please assign the associated JIRA to yourself and add the information found in [1] to the existing community documentation. I would suggest towards the end of the 'Service Implementations' section [2]. Regards, Ben [1] http://unpoucode.blogspot.com.es/2014/10/switchyard-contracts.html [2] https://docs.jboss.org/author/display/SWITCHYARD/Service+Implementations
Keith, Would you prefer we use the term 'interface' instead of 'contract'? Regards, Ben
On further inspection of the content, it looks like 'contract' is the correct term.
New course of action: Add to product docs first, then confirm on related JIRA what action should be taken there.
*** Bug 1121477 has been marked as a duplicate of this bug. ***
I think this should perhaps be in an early chapter. Updated. http://docbuilder.usersys.redhat.com/22942/#chap-SwitchYard_Contracts
Nichola, Please peer review this content when you have a moment. Regards, Ben
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.