IF the SAP service is exposed as JAX-WS or JAX-RS service, I would recommend to use the camel-cxf component to access this service.
It supports HTTPS with server and client certificates by using the 'conduit' configuration [1]. [1] http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html Best, Christian ----------------- Software Integration Specialist Apache Camel committer: https://camel.apache.org/team V.P. Apache Camel: https://www.apache.org/foundation/ Apache Member: https://www.apache.org/foundation/members.html https://www.linkedin.com/pub/christian-mueller/11/551/642 On Sun, Aug 25, 2013 at 9:19 AM, contactreji <contactr...@gmail.com> wrote: > Hey! > > I am trying to connect to a https enabled secure service at SAP PI end. > > I have the SSL certificates in form of jks files namely truststore.jks and > keystore.jks > > > Could you advice which is the best component to use in my case. I will be > sending xml data to SAP PI which is received from third party system at the > CXF Endpoint in Fuse ESB. > > I found a note at http://camel.apache.org/jetty.html as follows::::: > > /Jetty is stream based, which means the input it receives is submitted to > Camel as a stream. That means you will only be able to read the content of > the stream once. > If you find a situation where the message body appears to be empty or you > need to access the data multiple times (eg: doing multicasting, or > redelivery error handling) > you should use Stream caching or convert the message body to a String which > is safe to be re-read multiple times./ > > > So can I use this component? Will SAP PI be able to receive my xml data or > will it receive it as stream ? > > > * > > Pls look at my code configuring JETTY: > > <bean id="jetty" > class="org.apache.camel.component.jetty.JettyHttpComponent"> > <property name="sslSocketConnectorProperties"> > <map> > <entry key="password" value="fuseesb" /> > <entry key="keyPassword" value="fuseesb" /> > <entry key="keystore" > value="src/main/resources/certs/keystore.jks" /> > <entry key="truststore" > value="src/main/resources/certs/truststore.jks" > /> > <entry key="trustPassword" value="fuse" /> > <entry key="needClientAuth" value="true" /> > </map> > </property> > </bean> > <jaxws:client id="PIServiceProxy" > > address="jetty: > https://server:8105/XISOAPAdapter/MessageServlet?senderParty=&senderService=SS_Q_MES_Miheevsky&receiverParty=&receiverService=&interface=SI_ID56_CopperRecovery_async_out&interfaceNamespace=urn:company:pi:mes:id56:CopperRecovery > " > > > serviceClass="company.pi.mes.id56.copperrecovery.SIID56CopperRecoveryAsyncOut" > username="om_sys_user" password="om_sys_user" /> > <osgi:reference id="company-datasource" > interface="javax.sql.DataSource" /> > * > > IS THIS THE CORRECT WAY of configuring jetty? > > > Reji > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Jetty-or-CXF-Http-Conduit-for-SSL-tp5737876.html > Sent from the Camel - Users mailing list archive at Nabble.com. >