Secured JDBC call (receiver adapter) from PI

Hello experts, I was digging through SAP documentation but could not find any information about the possibility of secured JDBC calls from PI. Is it possible to configure the JDBC receiver adapter in a way that it does a secure (encrypted) connection to a database server?

Hi Sanjay,
For configuring encryption in the JDBC Communication Channle you can refer to the followimg Wiki Content:
https://www.sdn.sap.com/irj/scn/wiki?path=/display/java/handlingDATETypecolumnforJPAEntityforuseWebServices
Additionally, for Oracle Database, the following link talks about the Encryption Parameters that are set:
http://javasight.wordpress.com/2008/08/29/network-data-encryption-and-integrity-for-thin-jdbc-clients
and SAP Note: 1078420 will guide how to set these parameters in the JDBC communication channel.
Regards,
Alka.

Similar Messages

  • Secured JDBC call from PI

    Hi,
    Please let me know the possibilities of secured JDBC call from PI. In JDBC adapter configuration, is it possible to achieve secured connection to Database server?
    I saw few similar threads in Forums but did not get much information.
    Thanks,
    Geetha

    ?Please let me know the possibilities of secured JDBC call from PI. In JDBC adapter configuration, is it possible to achieve secured connection to Database server?
    Yes, it is absolutely possible to secure the jdbc connection to database server.  You might have to do few things...
    Please follow this link
    http://wiki.sdn.sap.com/wiki/display/XI/EncryptioninscenariosinvolvingJDBCAdapterwithOracleDatabase
    You can encrypt  all the connection parameters including user name and password  between jdbc adapter and database server.  Use advance tab and do the recommended changes given in the above link.Similarly on the database server you have to do the same. You might have to take help from dba to set the similar settings on the database level too.

  • How to initiate the call JDBC_Sender adapter from BPM?

    Hello,
    I have a periodicall proccess in BPM. After receiving some message in BPM  I check some fileds of the message.If condition is true I need to initiate SQL request to external DB, to receive the message and send it after transformating to SAP.
    How to initiate the call JDBC_Sender adapter from BPM? As I understand I need to use JDBC Sender adapter and once.
    How to construct the correct BPM?
    Thank You

    the message comes into BPM. You check for some conditions and if true use a send step (Sync) that would query into DB table and as a reponse retrieve the related data. After the send sync step have the transformation step and another send step to SAP.
    U would not configure sender jdbc but u wud need to config for recv jdbc. this wuld service the request and in response return the set of data from the table
    Message was edited by:
            Prabhu  S

  • JDBC Sender/Receiver Adapter Configuration with key fields in SAP XI

    Hi All,
    Good evening.
    Please let me know, what are the settings required for key fields when configuring both sender and receiver Adapter?
    In My IDOC-XI-File Scenario, when i am sending an IDOC from R/3, I got Mapping Runtime exception error? So, How to send the same IDOC after correcting the error?
    Thanks to all in advance.
    Regards,
    Nagarjuna.

    HI Nagarjuna,
    If my understanding is correct, When you trigger the Idoc from R/3 it thrown the error in XI.
    If  you want to send the same Idoc then go to WE19 in R/3 system enter the same Idoc number and execute the scenaio. It send the Idoc to XI system, but the message number will change.
    Regards
    Goli Sridhar

  • Call SOAP Adapter from CE BPM failed

    Hi everyone,
    i have just a problem calling a webservic on the PI 7.11 server from CE 7.2 BPM via SOAP adapter.
    1. I've created a very simple scenario on the PI 7.11 Server using SOAP Adapter sender. I've gotten the WSDL URL from the Sender Agreement. It is like the following:
    http://piserver:50000/dir/wsdl?p=sa/2e1cf474911939c89c0f5530b24c36f0
    2. In the Service Registery of the CE server, I published this service manuelly. The SR created automactically endpoints (http,https) for me. I tested both. They worked very well. While publishing the service, I've also assigned it to the correct system, which has the type IS.
    3. I've imported the wsdl into my BPM and assigned it to a automatic activity. I've also created a new service group for this service interface.
    4. After deploying the BPM onto the CE server, I've created a new provider system with type IS. In the WS connectivity type, I entered the wsdl url from above again and the admin user on PI server for the Metadata User.
    5. I've created a user in the "User Account Management" with connectivity type WS and entered the same user on the step 4 for the Metadata User, assigned this user to the provider system created on step 4.
    6. In the "Application Communication", I assigned the provider system from step 4 to the serivce group created on the step 3.
    7. Start the BPM and find out a very strange error message:
    Error during SCA Processing 
    [EXCEPTION]
    java.rmi.RemoteException: Could not process message for operation SI_SearchSalesOrder_outbound in web service plugin module.; nested exception is:
    com.sap.engine.services.webservices.espbase.client.bindings.exceptions.TransportBindingException: Invalid Response code (401). Server <http://piserver:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=SAP_CE&receiverParty=&receiverService=&interface=SI_SearchSalesOrder_outbound&interfaceNamespace=http%3A%2F%2Fconet.de%2FSalesOrder> returned message <Unauthorized>. Http proxy info:  none
    I suppose that the metadata user is used to read the wsdl information form PI. For runtime processing maybe should also I provide a user. But I have no idea where I can configure the runtime user in the NWA.
    Could some one give me some help on this position?
    Thanks a lot in advance.
    with best regards
    Xiang

    Hi Michal,
    thanks a lot for your answer. That's also my question. I've provided user to get the meta info for the WS on the CE server. But during the runtime, the BPM on the CE should also have a user to call the soap adapter. Normally we can add the sap-user, sap-pass behind the ws endpoint. But it doesn't work on the CE. Maybe I should use the principle propagation.
    thanks a lot for your reply.
    with best regards.
    Xiang

  • Data Types for JDBC Sender/Receiver Adapter

    HI experts,
                    I am very much confused how the data types shoudl be for the Sender/receiver for JDBC.
    And is there any standard format where it should be used, or what is the strucutre to be used,.
    Please let me know in clear and help me out in this regard,
    Edited by: Amruth on Dec 4, 2008 6:11 AM

    HI Nagarjuna,
    If my understanding is correct, When you trigger the Idoc from R/3 it thrown the error in XI.
    If  you want to send the same Idoc then go to WE19 in R/3 system enter the same Idoc number and execute the scenaio. It send the Idoc to XI system, but the message number will change.
    Regards
    Goli Sridhar

  • Webservices Security in SOAP Receiver Adapter

    Hi All,
    I am configuring web services security settings in my File To Webservice scenario.
    The scneario is:
    File -
    asynch--XISynch-Webservice(X.509)
    The webservice is using X.509 certificates for security.
    I have configured SOAP receiver channel with webservices secuirty settings and same with Receiver agreement.
    But when I run this scenario in the SOAP Receiver channel monitoring I get below error.
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: java.security.PrivilegedActionException: com.sap.aii.af.security.impl.exception.MessageSecurityException: MessageSecurityException in Method: ApplyMessageLevelSecurity.run(). AccessControlException. Please check that your Code has the XiSecurityRuntimePermission.Context: com.sap.aii.af.security.impl.exception.MessageSecurityException: Exception in Method: apply( Message, CPALookupObject ). General exception, no further informations. Message: MessageSecurityContext in Method: apply( Message, CPALookupObject ). ApplyThread-Exception Message: ProcessException in Method: run(). Key: 0700; To-String: com.sap.aii.af.security.impl.exception.MessageSecurityException: ProcessException in Method: run(). Key: 0700. To-String: com.sap.aii.af.security.impl.exception.MessageSecurityException: MessageSecurityContext in Method: apply( Message, CPALookupObject ). ApplyThread-Exception Message: ProcessException in Method: run(). Key: 0700; To-String: com.sap.aii.af.security.impl.exception.MessageSecurityException: ProcessException in Method: run(). Key: 0700.
    Does anybody have idea about this error?
    Please help me to resolve this.
    Thanks,
    Shweta.

    Hi,
    I am doubtful if after add ing all the security realted settings you could be able to test it via RWB monitoring.
    Its better to test this kind of scenario with either real time application where all security certificates and settings will on right place.
    Thanks
    Swarup

  • Executing Select query using JDBC Receiver Adapter

    I created couple types in Oracle and also new function instead of procedure
    Can I execute the above query using JDBC Receiver Adapter.
    select *
    from  the ( select cast( apr.get_distribut('', '', '', 'hdfcgd', 'CAN') as dsrTable )
             from dual );
    If possible how my message structure should look like...

    Hi vikram,
       If you use JDBC as Receiver Adapter you can only post the data to the data base I do no think so we can select the records from the data base.
       If you use JDBC as Sender hope,we can the select query in the sender communication channel.
        Hope I am clear.
      Thanks and Regardds,
      Chandu.

  • Error on WebMetods while calling IDOC Adapter

    Folks ,
    I am facing a problem calling IDOC adapter from WebMethod, I have all the configuration in ID and IDX1 .
    This is the error:
    <i><b>com.sap.mw.jco.JCO$Exception: No Service for system QUANTUM1, client 902 in Integration Directory</b></i>
    Regards,
    Manish

    Hi,
    did you create it exactly as specified:
    http://help.sap.com/saphelp_nw04/helpdata/en/3b/beb13b00ae793be10000000a11402f/content.htm
    for QUANTUM1 and 902?
    I'm not sure what the ID of the system if the system
    is not the SAP...
    maybe you can just post the idoc via http adapter?
    REgards,
    michal

  • JDBC Receiver Adapter - Call Stored Procedure

    Hi,
    I am using a JDBC receiver adapter to call a stored procedure in oracle.
    My target structure looks like:-
    <STATEMENT>
    <storedProcedureName action="EXECUTE">
    <table>realStoredProcedureName</table>
    <serialDate hasQuot="NO" isInputType="true" type="date">TO_DATE('07-15-2008 08:00:11','MM-DD-YYYY HH24:MI:SS')</serialDate>
    <serialNo isInputType="true" type="NUMERIC">123456</serialNo>
    </storedProcedureName>
    </STATEMENT>
    The storedprocedure takes two input values and has one output value.
    The first parameter of the stored procedure is serialDate and the second input parameter is serialNo.
    I am getting an exception:-
    <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'storedProcedureName' (structure 'STATEMENT'): java.lang.NumberFormatException: For input string: "TO_DATE('07"</SAP:AdditionalText>
    Any ideas how to fix this issue.
    Thanks.
    Krishnan

    Hi Krishnan,
    <STATEMENT>
    <storedProcedureName action="EXECUTE">
    <table>realStoredProcedureName</table>
    <serialDate hasQuot="NO" isInputType="true" type="date">TO_DATE('07-15-2008 08:00:11','MM-DD-YYYY HH24:MI:SS')</serialDate>
    <serialNo isInputType="true" type="NUMERIC">123456</serialNo>
    </storedProcedureName>
    </STATEMENT>
    The storedprocedure takes two input values and has one output value.
    The first parameter of the stored procedure is serialDate and the second input parameter is serialNo.
    I am getting an exception:-
    <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'storedProcedureName' (structure 'STATEMENT'): java.lang.NumberFormatException: For input string: "TO_DATE('07"</SAP:AdditionalText>
    In the XML structure you cannot use TO_DATE function . Please pass the DATE in the correct format which the Stored procedure can accept .  Get the out put what you expected from TO_DATE function and use that value in the structure.
    Regards,
    Kishore

  • JDBC Receiver Adapter:Incorrect syntax near the keyword 'FROM'

    Hi All,
    I'm trying to get data from an SQL 2005 server using synchronous JDBC receiver adapter. I'm using PI 7.0. My outgoing message is as follows:
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_IZIN_YUKU_REQ xmlns:ns0="http://holding.com/brd/">
    - <STATEMENT>
    - <ECZ_IZIN_YUKU action="SELECT">
      <table>ECZ_IZIN_YUKU</table>
      <access />
    - <key>
      <iy_yil compareOperation="GT">1900</iy_yil>
      </key>
      </ECZ_IZIN_YUKU>
      </STATEMENT>
      </ns0:MT_IZIN_YUKU_REQ>
    I've found the following log in the trace file:
    #1.5#0014C23BCFC900630000003D000013B000042740B0A858B1#1169058702046#/Applications/ExchangeInfrastructure/AdapterFramework/Services/ADAPTER/ADMIN/JDBC#sap.com/com.sap.aii.af.app#com.sap.aii.adapter.jdbc.XI2JDBC.onInternalMessageBinary(Message)#J2EE_GUEST#0####fa10f5f0a65811db84410014c23bcfc9#XI XI2JDBC[CC_JDBC_RECI_BRD_TO_BHT/HUMANIST/]_2574##0#0#Error#1#com.sap.aii.adapter.jdbc.XI2JDBC#Plain###Error processing request, rollback: Error processing request in sax parser: Error when executing statement for table/stored proc. 'ECZ_IZIN_YUKU' (structure 'STATEMENT'): com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'FROM'.#
    Thanks a lot..

    Hi,
    Make sure the XML structure for your SQL statement is correct. Include the all the fields in the structure of XML.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_IZIN_YUKU_REQ xmlns:ns0="http://holding.com/brd/">
    <STATEMENT>
              <TECZ_IZIN_YUKU ACTION="SELECT">
                     <TABLE>ECZ_IZIN_YUKU</TABLE>
                              <ACCESS>
                                   <EMPNO></EMPNO>
                                   <NAME></NAME>
                               </ACCESS>
                                 <KEY>
                                       <iy_yil compareOperation="GT">1900</iy_yil>
                                 </KEY>
    </TABLENAME>
    </STATEMENT>
    </ns0:MT_IZIN_YUKU_REQ>
    Best Regards

  • JDBC receiver adapter to call MS SQLServer stored procedure with parameters

    We are trying to use the JDBC receiver adapter to call a stored procedure in MS SQLServer with parameters.  According to the help documentation for the JDBC receiver adapter for action=EXECUTE,  "The elements within the stored procedure are interpreted as parameters" and "The parameter names must be identical to those of the stored procedure definition".  The parameters within a MS SQLServer stored procedure are required to begin with the '@' symbol.  The element names within a XML document i.e. used to call the stored procedure can not contain a special character such as '@' in the first position.  For all of the tests we have done where the parameter name in the XML document omits the '@' character, the parameters are not being received by the stored procedure.  Is there a way around this  problem?
    Thank you,
    Harold

    Hello Harold - I am facing the EXACTLY SAME problem.Pls let me know how did you fix this problem ?
    This is the message I am passing on to the DB SP:
    <?xml version="1.0" encoding="UTF-8"?>
    <MRIRequestInbound>
       <StatementName>
          <prc_FC_InsertStagingJournalEntries action="EXECUTE"/>
          <JournalData isInput="true" type="STRING">
    <NewDataSet><Table ITEM = "" ENTITYID = "" PERIOD = "" ACCTNUM = "" DEPARTMENT = "" JOBCODE = "" AMT = "" REF = "" DESCRPN = "" ENTRDATE = "" BASIS = " " BALFOR = "N" REQUESTNUM = "" ACCTNAME = "" TYPE = "" DESCRPTN = "" GDEP_DESCRPN = "" GJOB_DESCRPTN = "" JOBTYPE = ""  /></NewDataSet>
    </JournalData>
       </StatementName>
    </MRIRequestInbound>
    Out of which,
    <NewDataSet> tag contains the value of the parameter in the SP. So, my value to the SP's parameter is :
    <NewDataSet><Table ITEM = "" ENTITYID = "" PERIOD = "" ACCTNUM = "" DEPARTMENT = "" JOBCODE = "" AMT = "" REF = "" DESCRPN = "" ENTRDATE = "" BASIS = " " BALFOR = "N" REQUESTNUM = "" ACCTNAME = "" TYPE = "" DESCRPTN = "" GDEP_DESCRPN = "" GJOB_DESCRPTN = "" JOBTYPE = ""  /></NewDataSet>
    Any clue ?
    Cheers,
    Amrish.

  • Transaction Handling - JDBC Receiver Adapter - Multiple SP Calls

    Hello,
    I have the following scenario:
    I send an XML-SQL structure with multiple statment elements (each of them calling a different stored procedure). A stored procedure raises an error back to the JDBC Receiver Adapter in case of error.
    Is it possible to have transaction handling in the JDBC Receiver to ensure:
    - Commit only after ALL stored procedures where succesful (no error risen during calls)
    - Rollback of ALL already called stored procedures in case an error has been risen
    How can I implement these requirements in the JDBC Receiver Adapter?

    One more comment, I have found the following info for JDBC Drivers:
    <i> "JDBC driver's default is to autocommit, meaning that the result of every SQL statement is permanent as soon as it is executed. This is why the course hasn't had to be concerned with transactions so far, and is perfectly acceptable in many cases."</i>
    So I think that each SP-Call is automatically commited in case autocommit on JDBC Driver Level is set to "true". Does anyone know where I can change these settings? Directly on JDBC Receiver Adapter or do I have to go to Visual Admin for those changes?

  • How to Call HTTP Sender Adapter of Other Scenar from HTTP Receiver Adapter?

    Hi,
    I have a requirement to call HTTP Sender Adapter of Other Scenario from HTTP Receiver Adapter?
    or
    call SOAP Sender Adapter of Other Scenario from SOAP Receiver Adapter?
    i.e
    SOME SENDER - > PI - > HTTP Receiver - > calling -> HTTP Sender -> PI -> SOME RECEIVER
    SOME SENDER - > PI - > SOAP Receiver - > calling -> SOAP Sender -> PI -> SOME RECEIVER
    if any one can provide me the screen shot for those SOAP / HTTP Sender or Receiver ADAPTER.
    or Point me to Some article with Screenshots .
    That would be appreciated with Point.
    Regards
    PS.

    Solved .  .

  • JDBC receiver adapter for AS400-query time out due to Escape Symbol

    Hello,
    I am uisng JDBC receiver adapter for AS 400, When I execute query, the query needs to have arguments in the open and close single ticks ('    12345' )
    My XML pay load looks like this, which is RFC sender. Look at dcudcstmr in <i><b>(' 838912')</b></i>.  When receiver gets this message the ' (single quotes are disappeared.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns1:MT_Cma_Customer_Select_Request xmlns:ns1="http://freemanco.com/xi/Get_Customer">
    - <Statement>
    - <LawsonCustomer action="SQL_QUERY">
      <access>select f1.DACMCMPNY from sap.sapcustvew f1, sap.sapcustvew f2 where f2.dcudcstmr in <i><b>(' 838912')</b></i> and (f1.dcudcstmr=f2.dcudcstmr or f2.komaster=f1.dcudcstmr)</access>
      </LawsonCustomer>
      </Statement>
      </ns1:MT_Cma_Customer_Select_Request>
    On the Receiver JDBC adapter I have tried with different combinations of Escape Symbol for Aposrophe as follows
    <b>   \
       '</b>
    As you know this is related to epcape character, I get following error all the time. Looks like the query is not able to execute in the specified time. My question is how do I get single quote as part of query.
    <b>select f1.DACMCMPNY from sap.sapcustvew f1, sap.sapcustvew f2 where f2.dcudcstmr in ( 100001) and (f1.dcudcstmr=f2.dcudcstmr or f2.komaster=f1.dcudcstmr) 2007-09-20 15:56:42 Error Unable to execute statement for table or stored procedure. 'LawsonCustomer' (Structure 'Statement') due to java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000. 2007-09-20 15:56:42 Error MP: exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000. 2007-09-20 15:56:42 Error Exception caught by adapter framework: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000. 2007-09-20 15:56:42 Error Delivery of the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000.. Setting message to status failed. 2007-09-20 15:56:42 Error The message status set to FAIL. 2007-09-20 15:56:42 Error Returning synchronous error message to calling application: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000</b>
    Any feedback or helpfull tips appreciated.
    Thank you,
    Balaji

    Raj,
    Thank you for the reponse. I am using UDF on sender to generate sql statement as you see in sender XML message. After the message reaching receiver, gets executed but no response from AS400 becasue of missing single quotes in the sql query executed.
    Sender XML sends
    <access>select f1.DACMCMPNY from sap.sapcustvew f1, sap.sapcustvew f2 where f2.dcudcstmr in <u><b>(' 838912')</b></u> and (f1.dcudcstmr=f2.dcudcstmr or f2.komaster=f1.dcudcstmr)</access>
    Receiver executes as
    select f1.DACMCMPNY from sap.sapcustvew f1, sap.sapcustvew f2 where f2.dcudcstmr in ( <b><u>838912</u></b>) and (f1.dcudcstmr=f2.dcudcstmr or f2.komaster=f1.dcudcstmr)
    As you see the single quotes are missing. Like I said in previous posting I tried with following Escape Symbol for Aposrophe.
    Let me know if you need more information.
    Thank you,
    Balaji

Maybe you are looking for

  • I had a subscription to netflix it is not showing up on my subscription list in my Itunes account when i go to manage it?

    I wnet to renew my netflix subscription on my ipad like i always do.  Thru the store on my id where it says subscriptons.  My hulu is there which i do not want acctivatied a again but my netflix is not showing up even though it show i have two subscr

  • Unable to drag any content to 2nd display monitor

    iMac 2011. Mavericks 10.9.5 I have connected the 2nd monitor to the iMac with a newly purchased mini display port to VGA adaptor. The cursor shows up on the 2nd monitor but I am not able to drag any open document or file or any content whatsoever fro

  • Stop and restart screen sharing

    When I call stop() on the ScreenSharePublisher it seems like it's not stopped in the right way or something. If I try to start it again I get this trace: ERROR:The Connection wasn't closed properly by abrupt killing of sharing instance. You need to c

  • HR BAPI Question

    I am trying to call BAPI_PERSDATA_CREATE and apparently there needs to be an entry in PA0003 (InfoType 3) for the employee before this BAPI is called. Is there a remote enabled BAPI available that will create an IT 3 record?  (I can't use HR_INFOTYPE

  • How to regenerate webservice definition

    Hi to all, Is there any way to regenerate webservice in order to reflect changes done in FM output and input parameters. Actually, I created WS from FM, in meanwhile the assignment of FM has been changed so I would like to use already existing webser