How to call a text FTP proxy service from a Java client ?

Greetings,
I've configured a text FTP proxy service which downloads files from a FTP server. It pols a directory on the FTP server and, as soon as a file respecting a given pattern apears it is downloaded. I tested the service in the test console and by putting some test files onto the FTP server. Now, I need to be able to test it from a Java client. How may I do that ? I need to write a Java client to connect to the OSB and to tell to it to use the FTP proxy in order to download a given file, from a given location and to put it in a given location on the client machine. Many thanks in advance for any help. A sample would be great !
Kind regards,
Nicolas

Ok, I understand. The crucial question here is "what is a caller that you refer to?"
Don't get me wrong, but the problem here is that you probably don't understand, what OSB is good for. OSB is an event-driven system. The event in your case is a new message in remote FTP server. You have to define what should happen when that event is fired. And that's all. You don't have to involve other client (or caller) for this case.
You should define your FTP proxy to retrieve all relevant files from FTP server and then you should route them based on their name/content/encoding/whatever to different consumers. You can also have many proxies if you want - one for each name. It's up to you. But you don't have any "callers" in either case.

Similar Messages

  • How to invoke a proxy service from a java client

    Hi all,
    how could I invoke a proxy service from a java client ?
    The proxy service type is 'any xml service' with http protocol.
    For a proxy with web service type I can export the related WSDL and generate the java client source.
    With 'any xml service' there is no associated wsdl and I'm wondering how to do that.
    Thanks
    ferp

    Hi Ferp,
    I used ClientGEN to generate client files from WSDL deployed in ALSB. You can also use Axis for client file generation.
    You need to know the WSDL URL. Generate Client files from WSDL URL.
    Sample ANT Script
    <project name="simple-web" default="mytask" basedir=".">
    <taskdef name="clientgen" classname="weblogic.wsee.tools.anttasks.ClientGenTask" classpath="C:\bea92\weblogic92\server\lib\weblogic.jar"/>
    <target name="mytask" description="Generate web service client">
              <clientgen wsdl="http://<hostname>:<port>/URL?WSDL"
         destDir="src"
         packageName="com.client.mytask"
         classpath="${java.class.path}" />
         </target>
    </project>
    Use the following JAVA Code,
    try {
         ActivationService service = new ActivationService_Impl("http://<hostname>:<port>/url?WSDL");
    client = service.getActivationServicePort();
    } catch (Exception ex) {
    // Handle Exception
    client.activateNumber();
    Let me know if you need any more information.
    Thanks,
    Suman.

  • How to call a local protocol proxy service in Fire and Forget manner

    Hi,
    I have two proxy services ProxyA(Http proxy) and ProxyB(local protocol based). I have to call ProxyB from ProxyA but dont have to wait for the response from ProxyB, so its like a aysnc fire and forget call. I tried using publish action with the Mode set to "Request" but the ProxyA keeps waiting for the response from ProxyB. Has any body implemented such kind of scenario? Thanks for your help.
    Regards,
    Anuj

    Ok, I understand. The crucial question here is "what is a caller that you refer to?"
    Don't get me wrong, but the problem here is that you probably don't understand, what OSB is good for. OSB is an event-driven system. The event in your case is a new message in remote FTP server. You have to define what should happen when that event is fired. And that's all. You don't have to involve other client (or caller) for this case.
    You should define your FTP proxy to retrieve all relevant files from FTP server and then you should route them based on their name/content/encoding/whatever to different consumers. You can also have many proxies if you want - one for each name. It's up to you. But you don't have any "callers" in either case.

  • How to call pdf forms developed in ABAP from WD Java application?

    Hi
    I have a web dynpro ABAP application that that is responsible for generating PDF forms for all other applications (WD ABAP and WD Java).
    How can I call the pdf forms generated by the WD ABAP application from WD Java application in a separate window?
    These forms are to be called on click of a "Print" button. Also, these forms are non interactive.
    Kindly let me know if you need any other information.
    Regards
    Vineet Vikram
    Edited by: vineet vikram on Jun 24, 2009 7:28 AM

    in addtion to Nikhil's response. you can write following code on action of print button:
        IWDWindow window = wdComponentAPI.
            getWindowManager().createExternalWindow(
                  "<ABAP Application URL>",
                  "<Title for window>",
                  false);
       window.open();
    to Close the application, you can use the window close or u can fire an event to close current window.
    Abhinav

  • How to call an ABAP based web service from a web page (form)

    Hi,
    I am trying to figure out how I can call my own developed ABAP based web service. I was able to successfully test it in the WS navigator and am now wondering what I need to do to embed the service call in a plain simply web page (form). Basically I'd like to create a web form allowing to specify the parameters and with a 'Submit' button pass the parameters to the web service and launch it.
    Is this possible or do I need some kind of SDK to accomplish this?
    Thanks for any hints and tips.
    Wolfgang

    Hi,
    refer the following link and this is for cosuming the web service form Web dynpro Java
    https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50d70a19-45a3-2b10-bba0-807d819daf46&overridelayout=true
    and please go throught the following link if you want to cosume it through web dynpro abap and find the answer given by the Moderator Thomas Jung
    regards
    Manohar

  • How to Authenticate the Web Service from my Java Client?

    Hi All,
    I am a newbie. I am working in Microsoft Technology. But due to a critical requirement, I am suppose to write a Java Web Service Client application. I some how managed to create the Client Application. The application works fine if the Authentication is turned off in the web service level itself. I am unable to or unaware of authentication in Java World. I have written a .NET Client application where I am able to set the Credentials but in Java world no property or method allows me to set it.
    Anybody knows how to solve this problem?
    My configuration is,
    JDK - JDK 1.5.0.16
    IDE - Netbeans 6.1
    Web Server - Tomcat 6.0
    SOAP - Native C++ SOAP
    How do I did?
    - Created a Java Web Service Client Application.
    - Added the Web Reference to the SOAP WSDL url.
    - Initialized the class object using the WSDL generated SOAP classes (Reference classes)
    My code look like,
    String result = "";
                try {
                    QName name = new QName("http://eaglesuite20/eaglesoap.wsdl", "eaglesoap");
                    eaglesuite20.eaglesoap.Eaglesoap service = new eaglesuite20.eaglesoap.Eaglesoap(new URL("http://phobos:1011/?wsdl"), name);
                    eaglesuite20.eaglesoap.EaglesoapPortType port = service.getEaglesoap();               
                    // TODO initialize WS operation arguments here
                    eagle.Request submitRequest = new eagle.Request();
                    submitRequest.setRequestType(eagle.RequestType.E_B_SCHEDULE_DEF);
                    submitRequest.setOperation(eagle.Operation.READ);
                    eagle.FilterDefinition filter = new eagle.FilterDefinition();
                    filter.setField(new JAXBElement<String>(new QName("urn:eagle", "Field"), String.class, "SHOW_SCHEDULED"));
                    filter.setValue(new JAXBElement<String>(new QName("urn:eagle", "Value"), String.class, "SHOW_SCHEDULED"));
                    filter.setOperator(eagle.EOperators.EQUAL);
                    eagle.FilterDefinitions filDefs = new eagle.FilterDefinitions();
                    filDefs.getFilterDefinition().add(filter);
                    submitRequest.setFilterDefinitions(new JAXBElement<eagle.FilterDefinitions>(new QName("urn:eagle", "FilterDefinitions"), eagle.FilterDefinitions.class, filDefs));
                    // TODO process result here
                    result = port.submitData(submitRequest);
                //out.println("Result = " + result);
                } catch (Exception ex) {
                    // TODO handle custom exceptions here
                    out.println(ex.getMessage());
                }Thanks in Advance.

    Hi
    Did you get your problem solved? Can you please help as I am getting null pointer exception when I invoke a call to web service which is secured/
    Please help!!!!!!!!! this is urgent.

  • [Best practice] How to call a service from custom Java code

    Hi all,
    I'm wondering what the best method is to call a standard service from custom Java code?
    In a specific situation iDoc script is extended with custom functions with a custom component. There's Java code mapping to these functions that is executing these functions. The iDoc script functions are called from a workflow entry script.
    In the Java code that runs when the custom iDoc functions are called, I want to call a standard Content Server service. I don't think that the m_service variable is available, so filling the binder and using m_service.executeService() probably isn't possible.
    Also, if it were possible (that is, if I want to call a standard service from my own custom service Java code), what would then be the best method to do so?
    Regards, Stijn

    Hi Sapan,
    Let me explain a bit further.
    I'm an UCM consultant trying to solve a problem that occured at a client when they installed the CS10gR35CoreUpdateBundle.
    Content items are entered into a Workflow when they are checked in. Part of one of the entry scripts of the a workflow step is that related content to the content item in the workflow is (re)submitted for conversion.
    To achive this, a custom component provides an iDoc script extension. This iDoc function (resubmitForConversion) is implemented in Java (the class extends ScriptExtensionsAdaptor).
    In this Java method, first the related content items are fetched. Then the service RESUBMIT_FOR_CONVERSION should be called for all dID's in of the related content.
    Thus, at a certain point in the custom Java code, a native Content Server service must be called. Of course the class of this Java code does not extend the Service class, so the m_service object isn't available.
    The thing is: before installed the 10gR35CoreUpdateBundle everything worked OK. This code was used to execute the service:
            Workspace workspace = CommonUtils.getSystemWorkspace();
            String cmd = binder.getLocal("IdcService");
            if (cmd == null) throw new DataException("!csIdcServiceMissing");
            ServiceData serviceData = ServiceManager.getFullService(cmd);
            if (serviceData == null) throw new DataException(LocaleUtils.encodeMessage("!csNoServiceDefined", null, cmd));
            Service service = ServiceManager.createService(serviceData.m_classID, workspace, null, binder, serviceData);
            UserData fullUserData = CommonUtils.getFullUserData(userName, service);
            service.setUserData(fullUserData);
            binder.m_environment.put("REMOTE_USER", userName);
            ServiceException error = null;
            try {
                service.setSendFlags(true, true);
                service.initDelegatedObjects();
                service.globalSecurityCheck();
                service.preActions();
                service.doActions();
                service.postActions();
                service.updateSubjectInformation(true);
                service.updateTopicInformation(binder);
            } catch (ServiceException e) {
                error = e;
            } finally {
                service.cleanUp(true);
                if (!CommonUtils.isWorkspaceConnectionInTransaction(workspace)) {
                     workspace.releaseConnection();
            }the first problem was that the CS began to complain that a transaction was started within another transaction. So I suspect that the 10gR35 update wrapped a transaction around a workflow script entry.
    With some decompiling I figured out how a service is called from iDoc with the <$executeService()$> command. So I replaced the code above with:
                  String cmd = binder.getLocal("IdcService");
                ServiceData serviceData = ServiceManager.getFullService(cmd);
                if (serviceData == null) throw new DataException(LocaleUtils.encodeMessage("!csNoServiceDefined", null, cmd));
                Workspace workspace = CommonUtils.getSystemWorkspace();
                Service service = ServiceManager.createService(serviceData.m_classID, workspace, null, binder, serviceData);
                UserData fullUserData = CommonUtils.getFullUserData(userName, service);
                service.setUserData(fullUserData);
                binder.m_environment.put("REMOTE_USER", userName);
                service.initDelegatedObjects();
                service.executeSafeServiceInNewContext(cmd, true);This solved the transaction problem but introduces another problem: !csUnableToResubmitItem,(null)!csIllegalScriptAccess,RESUBMIT_FOR_CONVERSION
    The Service Reference Guide says that the access level for RESUBMIT_FOR_CONVERION is 33 (Read, Scriptable). However, in shared/config/resources/std_services.htm the access level is specified as 2 (write).
    Thus, my question still is:
    What is the best method to call a standard Content Server service from any Java code (so without extending the Service class, or having the m_service object available)?

  • How can we call a OSB proxy service from a BPEL process?

    Hi,
    I want to call a OSB proxy service from a BPEL process. Can you please explain me the procedure?

    Get the wsdl of the OSB proxy service and create webservice parnerlink in BPEL based on this wsdl to invoke the service
    To form the wsdl url, copy the Endpoint URI  configured to the proxy service(just click on the proxy service in the console) from the sbconsole  - /ATHGPUM_GlidePathService/ProxyService/ATHGPUM_GlidePathProxyService
    Pre append <<protocol://OSB Hostname:OSB Port>>  - http://localhost:8000/   and post append with ?WSDL
    The final WSDL url look like  - http://localhost:8000/ATHGPUM_GlidePathService/ProxyService/ATHGPUM_GlidePathProxyService?WSDL
    Regards
    Albin I

  • How can i create proxy service from another proxy on different domain

    i have a demo webservice. it has many operations on proxy service's message flow. How can i create proxy service from demo's wsdl on different domain
    Edited by: fresh man on Jul 1, 2012 11:17 PM

    You can either export the WSDL in a sbconfig.jar and then import this sbconfig.jar in the new domain. Then you can create a new Proxy in new domain based on the WSDL you imported.
    Alternatively, you can open the WSDL in the old domain, copy the text content of WSDL, then open new domain sbconsole and create a new WSDL type resource and paste the content you copied from old domain WSDL here. Then you can create a new Proxy Service based on this WSDL resource you created.
    Although, may I ask why do you need to create this new Proxy Service on a different domain? If you want to create a service similar to existing Proxy Service on different domain, then you can export the existing proxy service along with any dependencies to a sbconfig.jar and them import them in any other domain.
    If you want your new Proxy Service to invoke the existing Proxy on different domain, then you need to create a Business Service in the new domain (calling domain) which can invoke your existing Proxy service in other domain.

  • OSB proxy service Calling OSB proxy service from BPEL

    Dear team,
    Wehave a requirement to call a Wsdl based OSB proxy service with sb protocol from SOA Composite from BPEL process.
    We created a wsdl based OSB proxyservice with sb protocol and deployed to OSB development server.
    We tried to export the wsdl and corresponding xsd files. sbconfig.jar got created.
    When we extracted the sbconfig file and placed the wsdl and xsd into the SOA composite.
    When we are trying to create a partnerlink, that OSB proxy service wsdl is not showing up.
    Please suggest.
    How to call OSB proxy service from BPEL..

    Hi,
    Here either you need to change the protocol from 'sb' to http or use the Direct Binding in soa-composite.
    please refer this links:
    Can a business service call a proxy service in OSB
    http://biemond.blogspot.in/2009/03/calling-osb-services-from-bpel.html
    BPEL to OSB using sb transport protocol
    Thanks,

  • Call proxy service from other proxy service with attachment

    Hi!
    I have got an email sending proxy service I would like to call this from an other proxy service and I want to send attachment in email. I can send email with attachment if i call this proxy as a webservice (e.g. from soapUI)
    But if i want to call this email proxy service from other proxy service, the attachment in email is empty. I put a log action (expression: $attachments) in the beginning of email proxy service, and I saw this in the log file:
    +<con:attachments xmlns:con="http://www.bea.com/wli/sb/context"/>+
    So the attachment is really empty...
    I use service callout. I put an insert action in request action of service callout:
    In Variable:
    attachments
    XPath:
    +.+
    Location:
    as first child of
    Expression:
    +<con:attachment xmlns:con="http://www.bea.com/wli/sb/context">+
    +     <con:Content-Type>application/octet-stream</con:Content-Type>+
    +     <con:Content-Disposition>attachment; filename="{$v_fileName}"</con:Content-Disposition>+
    +     <con:Content-Transfer-Encoding>base64</con:Content-Transfer-Encoding>     +
    +     <con:body>{$attachments/ctx:attachment/ctx:body/*}</con:body>+
    +</con:attachment>+
    Why cannot I call this email proxy service from other proxy service for sending email with attachment?
    I tried to solve this other. I called an email sending business service from this proxy service. But in this case I cannot set the body of email. If I put just one Transport Header action in publish action, I could send the email (with empty body). But If I put a replace action in publish action as well then the OSB didn't send the email and I couldn't find any error message in log file... How could I set the body of email in publish action?
    Thanks!
    Viktor

    You should be able to get the current user id from the SPListItemEventProperties object. From here you should be able to create a Claim. For example get the user by using
    user = SPWeb.Users.GetByID(properties.CurrentUserId)
    SPClaim claim = SPClaimProviderManager.CreateUserClaim(user.email, SPOriginalIssuerType.TrustedProvider, issuerIdentifier);
    https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.claims.spclaimprovidermanager.createuserclaim(v=office.14).aspx
    Blog | SharePoint Field Notes Dev Tools |
    SPFastDeploy | SPRemoteAPIExplorer

  • How to call serlvet using ftp protocal

    Hai,
    How to call servlet using ftp protocal . if any one having please send that program . because generic servlet will receive any protocal request .

    The basics are to have your Server listen to port 21.
    You would then have to parse the request information to determine what is being asked for and generate an appropriate response.

  • How can i create proxy service from wsdl on different domain

    i have a demo webservice. it has many operations on proxy service's message flow. How can i create proxy service from demo's wsdl on different domain

    Hi fresh man
    This is the Oracle Forms forum, and your query has nothing to do with Forms.
    Please post on {forum:id=75}.
    Please search first. It usually helps to search before you post.
    Regards,

  • Slow response when calling a web service from an ADF client in JDev 11g

    I have generated a web service (WS) for a stored procedure package with 3 functions. The WS has less than 1 second response times when I use the standard WS testing facility. I then created a data control for the WS selecting the default values in the JDev wizard. When I test the functions from a very basic ADF client the response times for the same functions are between 3-4 seconds i.e. very SLOW compared to the actual response time of WS. I need some advice on how to investigate this performance degredation as seen from the ADF client.
    Could the problem be that the data control was created from a web service in the same project? Maybe it is necessary to have them in separate projects or create a proxy?
    I created and tested the web service with the standard WS test tool and then simply went on to create a data control from this web service for use from a ADF client.
    Some background info:
    I saw the following warning in step 8 of the WS creation wizard:
    "The configured policy store location at "C:\Oracle\Middleware\jdeveloper\j2ee\home\gmds" is invalid. Application cannot read policies from this location. Check that the directory name is correct and the location exists."
    Also I can confirm that there is no j2ee directory in my environment.
    The application server logs the following for each call from the ADF client:
    009-apr-01 15:55:22 oracle.adf.model.connection.webservice.impl.WebServiceConnectionMessages debugGetSaajInteraction
    INFO: Creating a SaajInteraction for oracle.j2ee.ws.model.OperationImpl@1c81d2c
    2009-apr-01 15:55:22 oracle.adf.model.connection.webservice.impl.WebServiceConnectionMessages debugGetSaajInteractionResult
    INFO: Created [email protected]79edc for oracle.j2ee.ws.model.OperationImpl@1c81d2c
    2009-apr-01 15:55:22 oracle.j2ee.ws.rm.LogMessages logExceptionAsWarning
    VARNING: Internal error: oracle.wsm.policy.model.PolicyModelException: WSM-01647 : There are no policies that match the specified category wsrm and resource pattern {1}.
    2009-apr-01 15:55:22 oracle.fabric.common.AbstractSecurityInterceptor init
    INFO: AbstractSecurityInterceptor:init(), client.mode.jse==ture and isJEE==true, probably is a case of JEE client calling JSE client
    2009-apr-01 15:55:22 oracle.wsm.agent.WSMAgent init
    INFO: WSMAgent is initialized for category=management, function=agent.function.client, topologyNodePath=null, isJ2EE=true
    2009-apr-01 15:55:22 oracle.fabric.common.AbstractSecurityInterceptor init
    INFO: AbstractSecurityInterceptor:init(), client.mode.jse==ture and isJEE==true, probably is a case of JEE client calling JSE client
    2009-apr-01 15:55:22 oracle.wsm.agent.WSMAgent init
    INFO: WSMAgent is initialized for category=security, function=agent.function.client, topologyNodePath=null, isJ2EE=true
    2009-apr-01 15:55:24 oracle.wsm.common.logging.WsmMessageLogger logSevere
    ALLVARLIG: error in the Oracle WSM Policy Resolver Initialization, because incorrect configuration is passed: {0} {1}
    Edited by: user10601664 on Apr 8, 2009 7:11 AM

    Find solution. Check this thread:
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/wdjava/faq%2b-%2bmodels%2b-%2badaptive%2bweb%2bservice
    The com.sap.tc.webdynpro.model.webservice.api.IWDWSInvocationModifier interface can be implemented by an application using the Adaptive Web Service model in order to modify the web service invocation object just before it's execution. Invocation modifiers need to be registered with the executable model class for which invocation is to be modified:
    Request_NumberToWords requestMO = new Request_NumberToWords(model);
    requestMO.wdSetInvocationModifier(
      new IWDWSInvocationModifier() {
        public void doModifyInvocation(Object port) {
          HTTPControlInterface httpItf = HTTPControlFactory.getInterface(port);
          //timeout for this WS invocation is 120 sec; don't use global config. setting of WS-Runtime
          httpItf.setSocketTimeout(120000);
        public void doModifyAfterInvocation() {}
    Best regards.

  • Consuming Proxy Services from Java App

    Hello All,
    Does anyone have a sample code to consume Proxy Services of anySOAP and anyXML Type?
    Since WSDL for these types can't be generated, I am looking for some insight into how to consume these type of proxy services?
    Thx

    Quoting from other thread - "Depending on your type of proxy and type of transport, you have different options."
    I am looking for a options of calling anySOAP or anyXML type pf proxy service with http.
    Has anyone in the field implemeted this? Any insight?
    Thx.

Maybe you are looking for