If you want to go a non-CXF route and are using Rest the Rest DSL can be
very useful.  Depending on where you are deploying these example may be
helpful:

https://github.com/rhtconsulting/fuse-quickstarts/tree/jboss-fuse-6.3/karaf/rest_dsl
https://github.com/rhtconsulting/fuse-quickstarts/tree/jboss-fuse-6.3/karaf/rest_dsl_basic_auth
https://github.com/rhtconsulting/fuse-quickstarts/tree/jboss-fuse-6.3/eap/rest_dsl

Mary Cochran


Mary Cochran
Red Hat Consulting
[email protected]
(419) 543-0531

On Tue, Sep 5, 2017 at 5:08 PM, Matthew Shaw <
[email protected]> wrote:

> Hi Carlos,
>
> There are a number of camel components to use for consuming web services,
> I assume you mean SOAP, although the url does not look SOAP like, do you
> require REST?
>
> Either way, I've been using the camel cxf component.
>
> Step1: Create a CxfEndpoint in your camel route like the following:
> CxfEndpoint toEndpoint = new CxfEndpoint();
>             toEndpoint.setCamelContext(getContext());
>             toEndpoint.setWsdlURL("wsdl/PaymentTimesheetService.wsdl");
>             toEndpoint.setAddress(System.getProperty("mtaworkflow.
> address.absolute"));
>             toEndpoint.setDataFormat(DataFormat.PAYLOAD);
>
> Note, I use PAYLOAD data format, which means you'll need to unmarshal /
> marshal your messages bodies before sending / consuming using the
> jaxbdataformat. See below
> // setup jaxb formatters
>             org.apache.camel.converter.jaxb.JaxbDataFormat
> etsEntityDataFormat = new org.apache.camel.converter.jaxb.JaxbDataFormat(
>                     "au.gov.qld.ambulance.services.data.messaging.
> entity.services.corporate.hri.mta"
>             );
>             org.apache.camel.converter.jaxb.JaxbDataFormat
> mtaEntityDataFormat = new org.apache.camel.converter.jaxb.JaxbDataFormat(
>                     "au.gov.qld.ambulance.services.data.mtaworkflow"
>             );
>
> Then in your route do the following
> .process(new Processor() {
>                             @SuppressWarnings("unchecked")
>                             public void process(final Exchange exchange)
> throws Exception {
>                                 TimesheetRequest timesheetRequest =
> (TimesheetRequest) exchange.getIn().getBody();
>                                 ETimesheetRequest eTimesheetRequest = new
> ETimesheetRequest();
>                                 eTimesheetRequest.setHeader(
> timesheetRequest.getHeader());
>                                 eTimesheetRequest.setTimesheetId(
> timesheetRequest.getTimesheetId());
>                                 exchange.getIn().setBody(
> eTimesheetRequest);
>
>
>                             }
>                         })
>                         .marshal(etsEntityDataFormat)
> .setHeader("operationName", simple("create"))
>                             .setHeader("operationNamespace", simple("
> http://services.ambulance.qld.gov.au/mtaworkflow";) )
>                             .to(toEndpoint)
>
> There's many ways of doing it in camel as you've probably noticed, this
> works best for me, as I use karaf as my runtime and I wanted one Cxf server
> running in my container (ie. Once instance running on same host/port for
> multiple endpoints that I provide).
>
> If you want consume RESTful services, I use the caml-http component, which
> makes things very easy just do the following in java dsl
> .to("http://pc003142:8983/solr/QASCostCode/select?bridgeEndpoint=true";)
>
> Hope this helps you.
>
> Cheers,
> Matt.
>
>
> -----Original Message-----
> From: Carlos Cruz [mailto:[email protected]]
> Sent: Wednesday, 6 September 2017 4:46 AM
> To: [email protected]
> Subject: Consuming Web Services
>
> I'm new to Camel, I'm evaluating it to see if I can use it for a new
> application.
> I'm trying to consume a web service like : as url.com/account/login?
> USERNAME=username&PASSWORD=password
> A string with a session ID is returned which I need to assign to a
> variable.
>
>
> My question is which component would be recommend for this particular type
> of use. And is there a Pure Java example?
>
> At the risk of sounding obtuse, I have gone through the examples and online
> reference and a book I purchased... but I'm still a bit confused.
>
> Thanks for any help!!
> Carlos
>
>
> This email, including any attachments sent with it, is confidential and
> for the sole use of the intended recipient(s). This confidentiality is not
> waived or lost, if you receive it and you are not the intended
> recipient(s), or if it is transmitted/received in error.
>
> Any unauthorised use, alteration, disclosure, distribution or review of
> this email is strictly prohibited. The information contained in this email,
> including any attachment sent with it, may be subject to a statutory duty
> of confidentiality if it relates to health service matters.
>
> If you are not the intended recipient(s), or if you have received this
> email in error, you are asked to immediately notify the sender. You should
> also delete this email, and any copies, from your computer system network
> and destroy any hard copies produced.
>
> If not an intended recipient of this email, you must not copy, distribute
> or take any action(s) that relies on it; any form of disclosure,
> modification, distribution and/or publication of this email is also
> prohibited.
>
> Although the Queensland Ambulance Service takes all reasonable steps to
> ensure this email does not contain malicious software, the Queensland
> Ambulance Service does not accept responsibility for the consequences if
> any person's computer inadvertently suffers any disruption to services,
> loss of information, harm or is infected with a virus, other malicious
> computer programme or code that may occur as a consequence of receiving
> this email.
>
> Unless stated otherwise, this email represents only the views of the
> sender and not the views of the Queensland Government.
>
> ************************************************************
> ********************
>
> The content presented in this publication is distributed by the Queensland
> Government as an information source only. The State of Queensland makes no
> statements, representations or warranties about the accuracy, completeness
> or reliability of any information contained in this publication. The State
> of Queensland disclaims all responsibility and all liability (including
> without limitation for liability in negligence) for all expenses, losses,
> damages and costs you might incur as a result of the information being
> inaccurate or incomplete in any way, and for any reason reliance was placed
> on such information.
>
>

Reply via email to