Custom webdav adapter

Hello everybody!
I found that Java Proxy (I posted it here) is not so useful such as File Adapter. So, I'm planing to make custom webdav adapter. However, I've never try to do it before. I red help about adapter development. But, it still not so clear. Could anybody, please, give some advices or examples how to make adapters?

Thanks Ajay,
we already have Oracle ERP Connector that is provisioning to oracle ERP resource,we have to write another connector that will help to check ITResource and user information filed in OIM for that we r writing java task, but we r facing problem to access these attribute for this we r hadcodeing ProcessDefination name and access from com.thortech.xl.vo.workflow.WorkflowDefinition getWorkflowDefinition(String workflowDefName) method.
This method will retrieve the definition of a workflow based on the provided workflow definition key. and don't want to hardcode workflowDefName.

Similar Messages

  • Runtime Error Custom Module Adapter 7.31

    Hi experts.
    We've developed a custom module adapter to be used in HTTP_AAE sender adapter. The deployement is successfull, the module is started but we are facing this error at runtime:
    Error in processing caused by: com.sap.aii.adapter.http.api.HttpAdapterException: ERROR_IN_MODULECHAIN, null
    ¿Any idea what can be happening?
    We are working with version 7.31 SP 10 Java only stack installation.
    Thanks a lot.
    Kind regards.
    Christian.

    Hi Amit.
    Thank u so much but your response.
    Regarding your quesion, yes I have done it.
    Regards.
    Christian.

  • Reg :: Exception in custom java adapter module in sap pi

    Hi Experts,
                  I have included custom  java adapter module in SAP PI. I get the below error in sender communication channel  monitoring.
    Error: javax.ejb.TransactionRolledbackLocalException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/xml/utils/URI$MalformedURIException; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/xml/utils/URI$MalformedURIException; nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/xml/utils/URI$MalformedURIException; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/xml/utils/URI$MalformedURIException
    I have included in External jar files in EJB project  also..Will that cause the above exception?
    Kindly suggest your solution.
    Thanks
    Priya

    Hi !
    have a look
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f013e82c-e56e-2910-c3ae-c602a67b918e
    and this thread also
    Throw Error in Module Adapter EJB
    Thanks!

  • Biztalk custom File Adapter

    Hi,
    Recently i have faced this below issue. please guide me if any one already faced similar issue. i am using Biztalk server 2013
    "Could not stop the BizTalk Service BizTalk Group : BizTalkServerApplication 
    service on Local Computer. 
    Error 1053: The service did not respond to the stop or control request in a 
    timely fashion
    when i checked event log, i am getting like
    "A timeout was reached (30000 milliseconds) while waiting for the BizTalk Service BizTalk
    Group "
    this is came after i deployed the custom file adapter.
    Actually i took the sdk samples[File Adapter] from biztalk server location path , for doing zero byte file receving process.
    I made few lines of code for promoting few properties.
    then, i used registry file to register the assemblies.
    Now i am able to receive the zero byte files and send the same file to some other location vai send port. It is woking perfectly. 
    but when i tried to restart the host instance , i am getting the above error. i am not sure why it is coming.
    i am sure about that i am getting this error if i am used custom file adaper. since if i run other  biztalk application , i dont have any issue. but if i run , the custom file adapter application . i am able to recreate this issue.
    Also, i debugged, and find out which place i am getting
    this.batch.SubmitMessage(file.Message, file.UserData); this is the method call to push the msg to biztalk db. I think some references object are not removed. when i verified the method call, it goes several event handler function. i am unable to follow that.
    Can any one help me is there any this i need to do in custom file adapter?

    Hi,
    No.it is not hanging in debugger. I am able to process the message . after that stopped the application as well, that means all the received locations are disabled. 
    but when i tried to restart the host instance, Host instance not stopping even when the application was stopped at that time.
    Also i find out one more step. if i just start and stop the application . there is no issue while restarting host instance.
    but after started the app, i tried to put one file in received location [custom file adapter], then the file is picked and the message is send to messagebox DB and send to send port. now i stopped the app, and try to restart the host instance , that time
    i am getting error.
    but if i wait for 1 more minute , service will automatically started. i don't understand this behavior.
    These are the exact below steps i did that in custom file adapter. i followed this url to do the custom file adapter http://ninocrudele.me/2012/07/05/biztalk-and-zero-byte-file/
    1. I took the SDK file adapter samples[runtime, design time and adapter management] in Biztalk installation path.
    2. add few lines of code in PickUpFilesAndSubmit
    // If we couldn’t lock the file, just move onto the next file
    IBaseMessage msg = CreateMessage(fileName, renamedFileName);
    //new code
    MemoryStream ms = new MemoryStream();
    msg.BodyPart.Data.CopyTo(ms);
    msg.BodyPart.Data.Position = 0;
    //new code end
    if ( null == msg )
    continue;
    if ( null == renamedFileName )
    files.Add(new BatchMessage(msg, fileName, BatchOperationType.Submit));
    else
    files.Add(new BatchMessage(msg, renamedFileName, BatchOperationType.Submit));
    //new code
    if (ms.CanSeek)
    ms.Position = 0;
    msg.BodyPart.Data = ms;
    //new code end
    3. build the 3 dlls.
    4. make the path change in the provided registry file and add the entry to the registry.
    5. add the adapter in admin console.
    6. create one application , create one receive port and send port. In the receive port, i used the custom file adapter.
    7. start the application and place one file in receive port . now the file is received and send to send port.
    8. now i  am trying to restart the host instance. that time i am getting the error which i above mentioned. but if i wait for 1 more minute , service will automatically started. i dont understand this behavior.
    Please help me , i facing this issue last few days . i tried maximum .but no clue.  it would be great if you guys provide if i need to check some thing else in the code part .
    Thanks
    Vinoth

  • Custom JCA Adapter / Application Error - Message.setErrorInfo() ??

    Hi All,
    I was looking for how to create a sensible Application Error in a custom JCA adapter and was excited to find the following page in the PCK info on Adapter Development:
    http://help.sap.com/saphelp_nw04/helpdata/en/3c/53d6409ff68631e10000000a1550b0/frameset.htm
    The part of interest being:
    <i>
    The following methods are available to enable you to read error information in the form of an ErrorInfo object from the message, or to set the error information in a message.
    Message.getErrorInfo()
    Message.setErrorInfo()
    If the synchronous response message is an application-error message instead of an application response, it must call setErrorInfo(myErrorInfo) for receiver adapters.</i>
    However, I can't find these methods, or indeed the "ErrorInfo" object anywhere in the AF classes - does anyone know it's whereabouts? Or is the above page just out of date? If so, what is the new approach for creating Application Level Errors in a custom JCA Resource adapter (not Exceptions - I can do that)
    Many thanks,
    Chris

    Well, you can get the latest jars from the SMP (Service Marketplace) directly.  These jars are in the <i>XI ADAPTER FRAMEWORK CORE 3.0</i> component.  Basically, http://service.sap.com/swdc  then Support Packages and Patches->SAP NetWeaver->SAP NETWEAVER->SAP NETWEAVER 04->Entry by Component->J2EE Adapter Engine (PI/XI).   There you'll see the XI ADAPTER FRAMEWORK CORE 3.0 link.
    OR here is the direct link for the SP19 (latest) of <a href="https://smpdl.sap-ag.de/~swdc/012002523100009492712006D/SAPXIAFC19P_4-20000272.sca?_ACTION=DL_DIRECT">SAPXIAFC19P_4-20000272.sca</a>
    Within this is <i>aii_af_lib.sda</i> which has the jars.  You can use winzip or winrar to open .sca, .sda files.
    Regards,
    Jin

  • Bursting Engine with custom WebDAV Delivery Manager Java Program

    I have developed A custom WebDAV delivery manager and need to call it when the using the bursting engine. Is there a sample that can show me where to palce the information. I have logged a tar but they asked me to post here to see about getting an example of a bursting control file that can solve my problem. I have created a bursting java program per the users guide chapter 10 and the chapter 11 plus the XMLP blogger for the delivery manager program.
    Thanks in advance,
    Joe

    At present , you can not access the splited XML Data from any of the event. but here is the workaround to reference the required information from XML data.
    Suppose you need Element1, Element2, Element2 elements information to push the file to WebDav.
    Reference these elements in the file name as variable and parse the resulting output file name in your Java Class. You can also rename the output file with appropriate name before push it to WebDav.
    <xapi:filesystem output="c:\burst\output\ACH Remittance #${C_CHECK_NUMBER}_${Element1}_${Element2}_${Element3}.pdf" />
    Example :
    <xapi:filesystem id="123222" output="d:\burst_test\${EMPNO}_${ENAME}_${MGR}_${EMAIL}" />
    The resulting Output file name would be like.. [email protected]
    Thanks.

  • CEP Custom File Adapter

    Good Day!
    I'm new to CEP. I would like to ask how can I develop a custom file adapter wherein it tries to get only new lines added into the file.
    I'm trying also to integrate this with BAM for reporting. Any tutorials out there which I can refer upon?
    Thanks!
    Regards,
    Jeff

    Hi Jeff,
    You create your qwn adapter by creating a bean or an event bean.
    If your adapter needs to send events to the EPN (for example the new lines that you read from the file) then you need to create an event bean.
    Your event bean will needs implement the StreamSource API. If you want to read the file periodically then you will need to create a loop. One way to do this is using the RunnableBean API.
    So your adapter code should look something like that:
    public class FileAdapter implements StreamSource, RunnableBean{
        StreamSender sender;
        boolean suspendFlag = false;
        @Override
        public void setEventSender(StreamSender sender) {
            this.sender = sender;
        @Override
        public void run() {
            while(!getSuspendFlag()){
                // read the file
                // implement your logic
                // create an event instance
                sender.sendInsertEvent(event);
        @Override
        public synchronized void suspend() throws Exception {
            suspendFlag = true;
        private synchronized boolean getSuspendFlag(){
            return suspendFlag;
    As for BAM:
    One way is to put the events that your EPN produces to a queue. It is very common practice for the BAM to read messages from a queue. Since BAM is deployed on weblogic and since weblogic can also act as a JMS server, you can put the queue on the BAM weblogic.
    However, if this queue needs to be highly available, or if the load on it is going to be very high, it recommended to put it on separate weblogic or weblogic cluster.
    Hope this helps,
    Regards

  • How to install custom Resource Adapter

    Hi I have writen the java class for the Custome Resource adapter and I loaded the .class file into web-inf classes folder.I followed the installation steps given in the deployement document.In that I am not understanding one step i.e "Install .class file and help file into IDM" How can we do this and How to get the particular resource under Managed Resources tabe of Configure tab./its very urgent for me any kind of help is appriciable.

    Ok, since it is urgent, do it the way Sun/Waveset inserts the adapters.
    1.) Alter your java code to have
    package com.waveset.adapter;
    As your package line.
    2.) Compile the adapter to a class file.
    3.) Grab the idm.jar file from $WSHOME/WEB-INF/lib and copy it to e.g /tmp
    4.) unjar it. jar -vxf idm.jar
    5.) copy the your adapter class file to /tmp/com/waveset/adapter
    6.) jar the archive. jar -cvf idm.jar /tmp/com
    7.) Make a backup of the original idm.jar, and copy the new to the old position replacing the old jar-file. Bounce your app-server.
    8.) Log in as configurator or an administrator with equal capabilities. And add the custom adapter using the previous procedure... although, use the adaper class path
    com.waveset.adapter.YourCustomAdapter
    9.) Go to debug pages and put tracing on the same class file, and tail -f the app-server std out.
    10.) try to configure the adapter. Note any eventual error messages. Post error messages on the forum along with the std out log.
    If your adapter code works, it should work... if not your problems are elsewhere.
    Please not that this set up is not recommended for production environment and if you apply service packs etc this fix will break!

  • Custom JCA Adapter integration with BPEL

    The stock FTP Adapter provided with BPEL does not have a feature I require, so I am creating a custom JCA FTP adapter that does only one thing: when it is invoked, it polls a directory for any existing files, and then returns the number of files in that directory.
    The Adapter Developer Cookbook ( http://www.oracle.com/technology/products/integration/adapters/pdf/Adapter%20Development%20cookbook.pdf ) is about as clear as mud, and hasn't been updated for 10.1.3.
    Are there any other resources that explain how you go from having your .java source files for your JCA adapter to having a working custom adapter in BPEL?

    Hello Tlwi,
    I guess you already figured out of writing custom JCA adapter, do you mind sharing your thoughs or document you may have. I tried to follow the cookbook, but was really looking for sample template code which I can change to make my own adapter.
    Thanks,
    Chintan

  • Empty file to process in customer J2EE adapter module

    Hi All,
    if i give an empty text file to a sender communication channel, then no message is generated by XI.
    i want to generate a dummy XML if empty file is given.
    so is it possible to make a customer-specific J2EE adapter module - then deploy it - then if in sender comm channel this adapter module is written before SAPAdapter module, then should XI generate a dummy XML for this empty file.
    i am asking this because i developed a J2EE adapter module, then deployed it, then tried to invoke it  from sender comm channel but this J2EE adapter module is not getting invoked - this i can tell because i have written the following lines only in Java class process method:
    <i>Message msg_audit = (Message)inputModuleData.getPrincipalData();
    AuditMessageKey amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
    Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"FileCheck: Module called");
                                                 return inputModuleData;</i>
    but still in the audit log only 3 messages of entire file content converted to XML format, empty doc so no sending of message and deleting of empty file are coming.
    <b>Can anybody suggest whether is it possible to process an empty text file to generate a dummy XML in sender communication channel in XI.</b>
    Thanks,
    Rajeev Gupta

    Hi All,
    When i write this code:
    try
                                                                obj = inputModuleData.getPrincipalData();                                                  
                                                                msg_audit = (Message)obj;
                                                                amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
                                                                Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,"FileCheck: Module called");
                                       <i>File f = new File("/components/XITEMP/sample/PWC/check.txt");                                                            
                                                                          if (f.canWrite())
                                                                                         PrintStream ps;
                                                                                         FileOutputStream fos =new FileOutputStream(f);
                                                                                         File f1 = new File("/components/XITEMP/sample/PWC/check1.txt");
                                                                                         ps = new PrintStream(fos);
                                                                                         if (f1.exists()==false)
                                                                                              f1.createNewFile();                                                                    
                                                                                         ps.println("Testing");
                                                                                         ps.close();
                                                                                         fos.close();                                                            
                                                                               else
                                                                                    File f2 = new File("/components/XITEMP/sample/PWC/check2.txt");          
                                                                                    if (f2.exists()==false)
                                                                                              f2.createNewFile();                                                                    
                                                                               }               </i>                                        
    it works fine......it creates the file check1.txt
    but when i place the italiced code in this format:
         try
                                                                obj = inputModuleData.getPrincipalData();                                                  
                                                                msg_audit = (Message)obj;
                                                                amk = new AuditMessageKey(msg_audit.getMessageId(),AuditDirection.OUTBOUND);
                                                                Audit.addAuditLogEntry(amk,AuditLogStatus.SUCCESS,"FileCheck: Module called");
                                                           catch (Exception e)
                                                                     try
                                                                          File f = new File("/components/XITEMP/sample/PWC/check.txt");                                                            
                                                                          if (f.canWrite())
                                                                                         PrintStream ps;
                                                                                         FileOutputStream fos =new FileOutputStream(f);
                                                                                         File f1 = new File("/components/XITEMP/sample/PWC/check1.txt");
                                                                                         ps = new PrintStream(fos);
                                                                                         if (f1.exists()==false)
                                                                                              f1.createNewFile();                                                                    
                                                                                         ps.println("Testing");
                                                                                         ps.close();
                                                                                         fos.close();                                                            
                                                                               else
                                                                                    File f2 = new File("/components/XITEMP/sample/PWC/check2.txt");          
                                                                                    if (f2.exists()==false)
                                                                                              f2.createNewFile();                                                                    
                                                                     catch(Exception ex)
    it doesnot create the file check1.txt......
    Can anybody suggest why in the exception block this italiced code is not working........means it is working in try block of try{}catch{} block.......but it is not working in catch block of try{}catch{try{}catch{}}
    Thanks,
    Rajeev Gupta

  • Tracing in a Custom Biztalk Adapter

    Hi,
    we have developed a custom adapter in BizTalk for BTS 2013  using the BizTalk Adapter Framework(BAF) approach.
    I want to understand how we can implement some tracing in the Adapter code.
    Essentially, once deployed to production, if the adapter fails for some reason, I would like to enable a switch to trigger tracing.
    Has anyone done anything on this lines?
    please assist.
    regards,
    MS

    You can consider implement BizTalk CAT Instrumentation Framework Controller tracing code in your custom adapter.
    Microsoft product team uses this in BizTalk extensively. CAT has been used virtually by all major infrastructure components inside the BizTalk runtime, including
    EPM, transport adapters, Message Agent, etc.
    Once it’s been implement in your code, it provides the full operational flexibility enables switching the tracing on and off as well as changing the trace level
    dynamically, making it easy to perform detailed tracing in production environments without requiring reboots or application restarts.
    Performance wise, there is no other tracing component can beat this as of now.
    Read more about this component from MSDN blog:
    Best Practices for Instrumenting High Performance
    BizTalk Solutions
    Download the code from CodePlex:
    http://btscatifcontroller.codeplex.com/
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Call an standard adapter inside a custom made adapter.

    Hello,
    I need to add a user to a group inside Active Directory. For this I needed to get some extra info (that I got via an adapter). Now I need to call
    the 'ADCS Add User to Group' adapter which comes with the AD connector. How can I do this? Some thoughts :
    - I can copy the source-code from this adapter and append it to my adapter
    - maybe I can modify my process definiton and make in some way (how?) that first my custom adapter is called and
    next the standard adapter.
    - Is there a way to call an adapter directly inside my adapter?
    Thanks in advance

    Ahhhh I see. Hmm you can't call the adapter like I was thinking then, essentailly you are thinking of one process task adapter calling another.
    Could you not update the users process form (probably the "groups" child form in this case) with the data that you get from your code and then that will trigger the group update automatically? The only other thing I think you could do would be to duplicate the group update adapter in your adapter but this could have the result of creating group memberships that are not seen on your AD child form and you really want the child process form to show all of a users group memberships.
    My approach would probably be to update the child form from the recon insert and allow the existing workflow to automatically update the group membership in AD.
    Ian

  • Tutorial for customizing an adapter

              Hello
              Is there a tutorial or detailed guide to how an adapter can be created/customized.
              I get as far as using the generateadaptertemplate tool to get a clone of the
              sample adapter but I'm not sure how to proceed from here to customize the adapter
              to do what i want.
              Thanks
              

    hi,
    1. as mentioned by ohter guys - it's best to start with sample adapter - you don't need the book as it's very general and does not give any details on:
    - how to use locking
    - how to work with multiple clusters
    2. you can use the sample zip adapter which sap provided during one of the techeds - I uses this one when developing my first adapter
    3. maybe there is no need to develop a new adapter but you can enhance any of the existing
    Regards,
    Michal Krawczyk

  • How To Get A Custom WebDAV To Run in Windows Server 2008 R2 with IIS 7.0

    I am trying to create a WebDAV application using the below link as my starting point.
    http://sourceforge.net/projects/webdav/
    I got it working just fine in IIS6 but can't seem to get it to work in IIS7.  Does anybody know if there are any unique configuration settings that need to be made to make it work in IIS7?
    The problem appears to be with the authentication.  When I attempt to connect via Network Folder using http I get a 401 challenge dialog and it won't accept any credentials.
    The website is running under a yy service account and has no problem accessing the database, but once it attempts to access the file using http it throws the 401 error.
    Below is the web.config that is attaching the http handler to process all the verbs
        <system.webServer>
            <modules>
                <add name="FileWebDAVModule" type="Sphorium.WebDAV.Examples.FileServer.FileWebDAVModule, Sphorium.WebDAV.Examples.FileServer" />
            </modules>
            <handlers>
                <clear/>
                <add name=".NET Runtime" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
    resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
            </handlers>
        </system.webServer>

    Try here: http://forums.iis.net/1042.aspx/1?Extensibility
    Visual C++ MVP

  • Is it possible to create a custom Module Adapter?

    I have a standard COM interface to some existing test code. The existing code have methods for step-configuration and documentation/reporting.
    I know that TestStand can call COM servers with IDIspatch interface, but I would be happy if I could make an adaptor that could call our code directly and use all(!?) of the existing features.
    With my knowledge about TestSTand I can't see why it shouldn't be possible, I just can't find any descriptions.

    hello janderngen -
    The TestStand ActiveX Adapter allows it to communicate directly to ActiveX libraries and applications in order to call methods and access properties. There are examples of building servers in VB and VC++ available in our Example Program Database showing how to create a method to be called by TestStand. I would need more information about your project to see what you are attempting that cannot be done via the current ActiveX adapter.
    About the adapters in general, they are a built in component of the TestStand Engine, so are not customizable at this time by end users. TestStand continues to modify and add to its language interface adapters as the software market grows and changes, so we are open to suggestions and requests.
    -Regards,
    Elaine R.
    National Instruments
    http://www.ni.com/ask

Maybe you are looking for

  • How to open an URL from Forms in blocking mode?

    Can anyone tell me if it is possible to open a website from within forms in blocking mode? The reason why I have to use blocking mode is that the user has to take some action in the website and has to end that session explicitly with a button on the

  • Dock disappears when waking from screen saver

    I have had this happen a couple of times. It's an intermittent problem that I haven't found a pattern for yet. When coming out of screen saver, the dock has vanished. The dock process doesn't show as hung and seems to be behaving normally. If I kill

  • Change Storage Bin Number in 309 movement type

    Hi Gurus, I have problems with creation TO for movement type 309(material to material posting), when i want to create the TO for that movement type, i can't change the destination bin.. The destination bin field in that TO is disable, how to make tha

  • Template and ABAP code

    Hi ppl, I am a bit confused.If i have to make some field to only 'display'(so that the user has no choice to edit),how can i do it? -Who provides these templates??These templates that we publish are written in ABAP,right? -Can we create our own templ

  • Element level encryption in soa composite

    Hi All, Need urgent help for implementing field level encryption in my interface. This interface takes request from Siebel for Payment Gateway Credit Card authorization . We have 3 BPEL processes , BPEL A- acceptes request  from Siebel, BPEL B routes