Web Service Implementation Heavily Based on The Singleton Pattern

Dear all
I have recently joined a project that is 2/3 through development of a medium sized application providing synchronous and asynchronous implementations for a number of Use Cases exposed as Web Services. The design is one that I have not come across before and am keen to understand.
Web Service calls enter the application through a singleton, which in other respects is a POJO. This class manages a number of instance variable references to other classes responsible for implementing each Web Service method, including data access using Hibernate. Since the top level singleton class is, well, a singleton, I understand this to mean that all of the other classes maintained as instance variables will themselves only ever have one object instantiated (assuming of course that no other thread of execution instantiates them except our singleton WS entry point). To my way of thinking this turns the whole of the Web Service implementation into a kind of singleton application. This strikes me as a procedural programming idiom that happens to be implemented using Java, since Objects with state are not being used. I have not yet asked the question "why?" of my new colleagues but I would like to ask you what the consequences of this design are likely to be. Particularly considering that this application will be expected to handle concurrent servicing of Web Service requests - and so be thread-safe. Can it be thread safe? Are there likely performance implications? Forgive my ignorance is what I describe known as a Singleton Web Service?
Regards
David

Web Service calls enter the application through a
singleton, which in other respects is a POJO. I'm confused about this sentence. Is the application somehow separate from the web service? Is the application acting as a service to this web service? How is the application being hosted? Does it run in a container as well?
This
class manages a number of instance variable
references to other classes responsible for
implementing each Web Service method, including data
access using Hibernate. If all the references are stateless, preferably interfaced-based, you aren't likely to have thread issues.
Since the top level
singleton class is, well, a singleton, I understand
this to mean that all of the other classes maintained
as instance variables will themselves only ever have
one object instantiated (assuming of course that no
other thread of execution instantiates them except
our singleton WS entry point). To my way of thinking
this turns the whole of the Web Service
implementation into a kind of singleton application.You keep using web service and application. Are we just talking about a web service implementation here?
This strikes me as a procedural programming idiom
that happens to be implemented using Java, since
Objects with state are not being used. You are correct, sir. If services are stateless, and they should be, then they aren't exactly rich objects with state and behavior. It's very procedural, indeed.
I have not
yet asked the question "why?" of my new colleagues
but I would like to ask you what the consequences of
this design are likely to be. Particularly
considering that this application will be expected
to handle concurrent servicing of Web Service
requests - and so be thread-safe. Can it be thread
safe? If the web service is indeed stateless, then it should be thread-safe.
Are there likely performance implications?Maybe. Best to measure if those arise to see if the web service is the cause.
Forgive my ignorance is what I describe known as a
Singleton Web Service?I don't know if it's been given a pattern name. If it's a Singleton, then that's true. If it's a service, that applies. If it's deployed on the web, I'd say the label fits.
%

Similar Messages

  • Web service data control based on SOA flow

    Hello,
    I have an ADF application developed with JDev 11.1.1.2.0. This application uses some web service data controls based on a SOA flow that receives a complex data type as an input parameter and also returns a collection of complex data type.
    I have a page that has some comboboxes boundto the input parameters for the flow, a button that is bound to an operation exposed by the web service and a table binded to the return of the web service.
    The problem is that when i press the button, multiple instances of the SOA web services are created.
    Can you please help with this problem?
    Thanks,
    Daniela

    Daniela,
    Are you executing the method programatically from bean? Can elaborate on what you mean by
    The problem is that when i press the button, multiple instances of the SOA web services are created. Also, check out this blog on executing the method programatically by constructing the parameters to be passed.
    https://blogs.oracle.com/aramamoo/entry/executing_put_operation_of_rest
    -Arun

  • OAAM web services implementation class for WebSphere 6.1

    Hi All,
    My client is running OAAM 10.1.4.5 and looking to migrate to WebSphere 6.1. I'd like to replace the (default) Apache Axis web services implementation class with a custom-built WebSphere 6.1 implementation class. Does anyone have any code they'd been willing to share?
    Regards,
    Steven

    It is may be because BO is not ready for Java 2 and you can find more info about readyness of applications at
    http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/csec_rsecmgr2.html
    I am not sure if BO is prepared for the very fine-grain access control programming model that Java 2 security is capable of enforcing.
    May be some one from PG should be able to answer readyness of BO with Java2.
    -Gokul.

  • How we can limit the number of concurrent calls to a WCF service without use the Singleton pattern or without do the change in BizTalk Configuration file?

    How can we send only one message to a WCF service at a time? How we can limit the number of concurrent calls to a WCF service without use the Singleton pattern or without do the change in BizTalk Configuration file? Can we do it by Host throttling?

    Hi Pawan,
    You need to use WCF-Custom adapter and add the ServiceThrottlingBehavior service behavior to a WCF-Custom Locations.
    ServiceThrottlingBehavior.MaxConcurrentCalls - Gets or sets a value that specifies the maximum number of messages actively processing across a ServiceHost. The MaxConcurrentCalls property specifies the maximum number of messages actively
    processing across a ServiceHost object. Each channel can have one pending message that does not count against the value of MaxConcurrentCalls until WCF begins to process it.
    Follow MSDN-
    http://msdn.microsoft.com/en-us/library/ee377035%28BTS.10%29.aspx
    http://msdn.microsoft.com/en-us/library/system.servicemodel.description.servicethrottlingbehavior.maxconcurrentcalls.aspx
    I hope this helps.
    Rachit
    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.

  • Stateful web service implementation in Flex 2

    Hello Gurus,
    We are trying to invoke a web service located on a remote
    server using MXML to create a purchase order. One of the
    requirements is that we pass a cookie from our end to this web
    service for authentication and session management purposes. Can
    anyone throw some pointers on passing cookie information to
    webservices from MXML or ActionScript?
    A little bit of research resulted in the following link:
    http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/lcds/wwhelp/wwhimpl/common/html/ wwhelp.htm?context=LiveDocs_Parts&file=rpc_26.html
    An extract from the above document states the following:
    "Stateful web services
    Flex uses Java server sessions to maintain the state of web
    service endpoints that use cookies to store session information.
    But unfortunately there are no examples on how to pass the
    cookie information itself. Any pointers are appreciated . Thanks
    much!

    This issue caused me much confusion and delay, so I hope that what I am about to say is correct.  When Flex calls a web service that requires a stateful connection, the web service "cookie" is stored in the browser.  Flash automatically attempts to access this cookie value, and returns it to the web service when additional web service operations are called.  The cookie value will be placed in the "Request Headers".
    A couple issues that gave me fits:
    1.  Safari browser on Mac had default "/preferences/Privacy/Block cookies" set to "From third parties and advertisers".  This was preventing the cookie from being sent.  I had to change this setting to "never".
    2.  I work inside the Flash API.  Testing my movie never passed the cookie value back, and I have not figured out how to do this when compiling for Flash Player.
         - NOTE: I am able to test compiling as an Adobe Air App just fine.  I did this to get my web service calls/parsing of returned info correct first.  Cookie issue and Cross Domain issues are not issues in Adobe Air, so I find this is a good place to get the web service working.  After working compiling as Adobe Air, switch to compile for Flash Player to fine tuning other issues.
    3. Cross Domain issues.  Lots of posts on this.  Pay close attention.
    Thanks!

  • Serializing a class that implements the Singleton pattern

    Hello,
    I am relatively new to Java and especially to serialization so the answer to this question might be obvious, but I could not make it work event though I have read the documentation and the article "Using XML Encoder" that was linked from the documentation.
    I have a class that implements the singleton pattern. It's definition is as follows:
    public class JCOption implements Serializable {
      private int x = 1;
      private static JCOption option = new JCOption();
      private JCOption() {}
      public static JCOption getOption() { return option; }
      public int getX() { return x; }
      public void setX(int x) { this.x = x; }
      public static void main(String args[]) throws IOException {
        JCOption opt = JCOption.getOption();
        opt.setX(10);
        XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("Test.xml")));
        encoder.setPersistenceDelegate(opt.getClass(),  new JCOptionPersistenceDelegate());
        encoder.writeObject(opt);
        encoder.close();
    }Since this class does not fully comply to the JavaBeans conventions by not having a public no-argument constructor, I have create a class JCOptionPersistenceDelegate that extends the PersistenceDelegate. The implementation of the instantiate method is as follows:
      protected Expression instantiate(Object oldInstance, Encoder out) {
           Expression expression = new Expression(oldInstance, oldInstance.getClass(), "getOption", new Object[]{});
            return expression;
      }The problem is that the resulting XML file only contains the following lines:
        <java version="1.5.0_06" class="java.beans.XMLDecoder">
            <object class="JCOption" property="option"/>
        </java> so there is no trace of the property x.
    Thank you in advance for your answers.

    How about this:
    import java.beans.DefaultPersistenceDelegate;
    import java.beans.Encoder;
    import java.beans.Expression;
    import java.beans.Statement;
    import java.beans.XMLEncoder;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    public class JCOption {
        private int x = 1;
        private static JCOption option = new JCOption();
        private JCOption() {}
        public static JCOption getOption() { return option; }
        public int getX() { return x; }
        public void setX(int x) { this.x = x; }
        public static void main(String args[]) throws IOException {
          JCOption opt = JCOption.getOption();
          opt.setX(10);
          ByteArrayOutputStream os = new ByteArrayOutputStream();
          XMLEncoder encoder = new XMLEncoder( os );
          encoder.setPersistenceDelegate( opt.getClass(), new JCOptionPersistenceDelegate() );
          encoder.writeObject(opt);
          encoder.close();
          System.out.println( os.toString() );
    class JCOptionPersistenceDelegate extends DefaultPersistenceDelegate {
        protected Expression instantiate(Object oldInstance, Encoder out) {
            return new Expression(
                    oldInstance,
                    oldInstance.getClass(),
                    "getOption",
                    new Object[]{} );
        protected void initialize( Class<?> type, Object oldInstance, Object newInstance, Encoder out ) {
            super.initialize( type, oldInstance, newInstance, out );
            JCOption q = (JCOption)oldInstance;
            out.writeStatement( new Statement( oldInstance, "setX", new Object[] { q.getX() } ) );
    }   Output:
    <?xml version="1.0" encoding="UTF-8"?>
    <java version="1.5.0_06" class="java.beans.XMLDecoder">
    <object class="JCOption" property="option">
      <void property="x">
       <int>10</int>
      </void>
    </object>
    </java>

  • How to create a service entry sheet based from the PO

    how to create a service entry sheet based from the PO
    Gurus,
    I am creating a service entry sheet from the PO but I am getting an error of u201CPlease maintain services or limits Message no. SE029- Diagnosis(You cannot enter data until the PO item has been maintained correctly) u201C
    The document type of the PO is standard NB, account assignment category is Q- (Proj make to order) and the item category is D(service). Then I am trying also create a PR using account assignment category is Q- (Proj make to order) and the item category is D(service) but still cannot proceed, a message asking me to enter a service entry number. What I know the process is create a PO(maybe based from PR) then post the GR then create a service entry sheet in ML81N but I cannot proceed. Just creating a PR or PO using those mentioned account assignment and item category and getting an error of need to enter a service entry sheet number.
    Please help.thanks!

    HI,
    Process for Creating Service Entry Sheet
    Transaction Code :    ML81N
    1)To open the respective Purchase Order, Click on the u2018Other Purchase Orderu2019, then enter the Purchase Order No.
    2)Click on the u2018Create Entry Sheetu2019 icon(3rd Icon on Top-Left)
    3)Give Short Text (e.g. R/A Bill No. 1) and top service entry sheet number also generated.
    4)Click u2018Service Selectionu2019 Icon on the Bottom of the Screen.
    5)For the 1st Time, when we are making Service Entry Sheet for a respective Purchase Order, we need to u201CAdopt Full Quantityu201D by clicking the Check box next to it, then Enter.  (*For the next time, no adoption is required, just continue)
    6)Select the respective Services by clicking on the Left Hand Side, then Click u2018Servicesu2019 (Adopt services) icon on the Top.
    7)Give the completed Quantity, then Click u2018Acceptu2019 icon(a green flag on the top)
    8)Save .
    9)Service Entry Sheet is SAVED and account posting made.
    Hope, it is useful for you,
    Regards,
    K.Rajendran

  • Web Service Tester works perfectly but the Web service is not.

    I have a web service developed in EDQ that works as expected when I check using Web Service tester.
    However when the upstream server sends the request to this web service, the response it gets is not as expected. "
    This difference is only for a particular rule.(if Street Address Line 1 is 'Holiday', then the Customer Status should become 'C')
    All the other rules are working s expected.
    What can this difference be due to?
    Thanks and Regards.
    Ravi

    The only logical explanation is that the client sending the request is sending different data. Perhaps it may be something subtle such as trailing whitespace (with the process you have constructed not coping with this)?
    Mike

  • How configure a primavera web service to return data from the second database?

    Hi everyone,
    We have P6 with first WS deployed on a single server weblogic domain. The first WS return data from the first database instance.
    Then deployed advanced second WS on a separate weblogic domain server with a different port. Configured second WS with <WS2_INSTALL_HOME>/bin/dbconfig.sh, creating a new branch of a configuration that specifies a different second instance of the database. However, this configuration is ignored and second web services return data from the first database.
    We have one domain, which including next servers:
    Name / Host / Port / Deployments
    P6 / localhost / 0001 / P6(v8.3), p6ws1(v8.3)
    p6ws2 / localhost / 0002 / p6ws2(v8.3)
    Now we have two different file BREBootstrap.xml.
    P6 BREBootstrap.xml:
    <Database>
    <URL>jdbc:oracle:thin:@db1:1521:db1</URL>
    <UserName>pubuser</UserName>
    <Password>anycriptopass1</Password>
    <Driver>oracle.jdbc.OracleDriver</Driver>
    <PublicGroupId>1</PublicGroupId>
    </Database>
    <CfgVersion>8.330</CfgVersion>
    <Configurations>
    <BRE name="P6 Config_DB1" instances="1" logDir="anydir/P6EPPM/p6/PrimaveraLogs"/>
    </Configurations>
    p6ws2 BREBootstrap.xml:
    <Database>
    <URL>jdbc:oracle:thin:@db2:1521:db2</URL>
    <UserName>pubuser</UserName>
    <Password>anycriptopass2</Password>
    <Driver>oracle.jdbc.OracleDriver</Driver>
    <PublicGroupId>1</PublicGroupId>
    </Database>
    <CfgVersion>8.330</CfgVersion>
    <Configurations>
    <BRE name="P6 Config_DB2" instances="1" logDir="anydir/P6EPPM/ws2/PrimaveraLogs"/>
    </Configurations>
    ‘P6 Config_DB1’ and ‘P6 Config_DB2’ including Database property for 1 and 2 database respectively.
    How to configure a second web service to return data from the second database?
    Thanks in advance!
    Regards,
    Dmitry

    OK, so I got this to work this morning with Username Token Profile (with little help from Oracle Support).
    I followed your steps 1-4 but in step 2 I didn't add the -Ddatabase.instance=2 because I want to check to see if my code could swap between different instances.
    It appears for Username Token Profile to use Database Instance, you need to set it in the soap header.
    So my soap request looks like this:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <s:Header>
            <DatabaseInstanceId xmlns="http://xmlns.oracle.com/Primavera/P6/WS/Authentication/V1">2</DatabaseInstanceId>
            <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <u:Timestamp xmlns:u='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd' u:Id='uuid-327b6ed1-b26d-4a61-81d5-e326174c1961-3'>
                    <u:Created>2014-10-23T04:28:01.152Z</u:Created>
                    <u:Expires>2014-10-23T04:29:01.152Z</u:Expires>
                </u:Timestamp>
                <o:UsernameToken u:Id='uuid-327b6ed1-b26d-4a61-81d5-e326174c1961-3' xmlns:u='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'>
                    <o:Username>admin</o:Username>
                    <o:Password Type='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText'>password</o:Password>
                    <o:Nonce EncodingType='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary'>vJBQhCc28bAeszej7gOaiC2tVCQ=</o:Nonce>
                    <u:Created>2014-10-23T04:28:01.152Z</u:Created>
                </o:UsernameToken>
            </o:Security>
        </s:Header>
        <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <ReadProjects xmlns="http://xmlns.oracle.com/Primavera/P6/WS/Project/V2">
                <Field>ObjectId</Field>
                <Field>Id</Field>
                <Field>Name</Field>
                <Field>Status</Field>
                <Field>StartDate</Field>
                <Field>FinishDate</Field>
                <Field>DataDate</Field>
                <Filter>Id = 'EC00515'</Filter>
            </ReadProjects>
        </s:Body>
    </s:Envelope>
    This request pulled the project from the second instance.
    V/r,
    Gene

  • Implementing the Singleton pattern

    Has anyone implemented the singleton pattern in Forte? A singleton is simply ensuring that there is one unique instance of a class. In other OO languages I would create a class method which would use a class variable to hold onto the unique instance. Since forte doesn't have either of these (class methods or variables), I'm not sure how to do it. I thought of using named objects, but it seems like a heavy implementation. Any ideas.

    An SO with its shared=TRUE and anchored=TRUE?
    Venkat J Kodumudi
    Price Waterhouse LLP
    Internet: [email protected]
    Internet2: [email protected]
    -----Original Message-----
    From: [email protected] [SMTP:[email protected]]
    Sent: Monday, February 02, 1998 1:09 PM
    To: Venkat Kodumudi
    Subject: Implementing the Singleton pattern
    To: [email protected] @ Internet
    cc:
    From: [email protected] @ Internet
    Date: 02/02/98 12:36:02 PM
    Subject: Implementing the Singleton pattern
    Has anyone implemented the singleton pattern in Forte? A singleton is
    simply
    ensuring that there is one unique instance of a class. In other OO
    languages I
    would create a class method which would use a class variable to hold
    onto the
    unique instance. Since forte doesn't have either of these (class
    methods or
    variables), I'm not sure how to do it. I thought of using named
    objects, but it
    seems like a heavy implementation. Any ideas.

  • DIO Pass or Fail Tests: LabVIEW would have to determine the expected result or results (1 or 2 of a possible 25) based on the output pattern send out (1 of 65K).

    I am trying to come up with a plan to write a LabVIEW VI to do the following test. Can you give me a few ideas how to do this in LabVIEW. I am a new to LabView. I think I how to read and write I/O ports and do comparisons. I need a little guidance on the error checking. In simple terms the test will go like this:
    I have 16 digital inputs and 16 outputs.
    The 16 outputs are turned on in a specific pattern (i.e. 1001000101011101) and then the 16 inputs (i.e. 1000101111111111) are read in after a time delay. The inputs are checked to see if they match the expected results. If they do it's a pass if not it's a f
    ailure. This seems pretty straightforward. And I think I have an idea how to do it. Here's the problem. The inputs are changed sequentially so that all possible combinations are tried. The test needs to determine if the resulting input pattern is correct based on the outputs that were sent out. 16 outputs give 65K possible tests. For each tests there would be 1 or 2 possible results with a total of 25 results for the entire 65K possible tests. LabVIEW would have to determine the expected result or results (1 or 2 of the 25) based on the output pattern send out (1 of 65K). Then it would have to compare the actual input pattern received to see if it's a pass or fail?
    Any ideas how I can approach this?

    The 16 outputs are simulating inputs to the device under test, (simulating remote switches and contacts). The object of the test is to test every possible combination to ensure that nothing unexpected happens at the output. The device under test is a logic motor control system and we want to make sure (among other things) that we don’t start or stop the motor when its not suppose to. How can only two tests do that?
    I think you are describing how to create an array with the results. But I still don’t know how to determine what the result should be and if it is correct.
    I’ve identified 25 possible valid states the motor controller can be in.
    I’ve also identified the correct outputs that determine each of the 25 states.
    I’ve also
    identified the possible valid states you can go to from each (previous) state, You can only get to a valid new state from a previous state if the right combination of inputs is applied (we hope).
    If you know what state you are in when start and you know the valid states you can go to and the inputs required to get there, you should be able test the system against that. You verify this by checking the outputs against what they should be. With 65K possible inputs combination, checking them all manually would be quite is a task. Putting this into LabView is my task.

  • Why the singleton pattern used rather than static things?

    class Single
        private Single() {}
        private void print() { System.out.println("Foo~"); }
        private static Single one = new Single();
        public static void print() { one.print(); }
    class Stat
        public static void print() { System.out.println("Foo~"); }
    }What's the different?? What is the benefit of the singleton one?

    There is no practical difference - because, in fact, that is not the singleton pattern!
    A singleton would look like:
    class Singleton {
        private Singleton() {}
        public void print() { System.out.println("Foo~"); }
        private static Singleton instance = new Singleton();
        public static Singleton getInstance() { return instance; }
    }The benefit of this pattern is, that your client code doesn't have to know that there is only one instance (getInstance could return another instance for every call) or of which actual type it is (getInstance could return an instance of any Subclass of Singleton).
    See http://c2.com/cgi/wiki?SingletonPattern for more information on the pattern.

  • Is there an Web Services implementation (JSR172) for Pocket Pc?

    Hi,
    I'm currently using IBMs J9 MIDP2.0 jvm but can't seem to figure out where to find an web services (jsr172) implementation for PocketPC. Does it even exist? Does IBM provide one?
    I have tried to update WSDD, and this way I managed to download Web Services, bur for x86 and Palm only.
    I've also downloaded the reference implementation from Sun, but this is said to support CLDC 1.0.4 only, stability is not guaranteed on CLDC1.1.
    Thank you,
    Regards Andreas

    It's not an easy question to answer. So many other variables.
    Mac or PC, high speed cable versus lower connection speeds. Network traffic and the speed of your server also play a big part in your visitors experience.
    Add to those your desire to play back a file type that requires the viewer to have a very fast computer. I'd guess that less than a third of the computers in use can properly play most HD files (even the small sized ones).
    Your Mac is a monster! What you view on it isn't close to what I would see on my Mac mini.
    I would suggest you first figure out a display size of your file. Think small.
    I (personally) would avoid H.264 unless you know your target audience would only be using "high end" equipment. Hard to pick your audience for a Web based file.
    There are html "tricks" that can change the display size of your source movie. If you used a 480X360 (4:3 aspect) source you could "bump up" the display to 800X600 without too much loss in visual quality. Those "tags" are scale="tofit" and the to fit size is your height and width used in the html code (not the source file). Saves bandwidth and gives a better user experience.
    Since your file will be "downloaded" (not streamed) you could instruct your visitors to do some other work while your file downloads. Neck stretches, clean their monitor or pour another cup of coffee.
    If your goal is HD your visitors must know that these files are huge and that they take a very modern computer with plenty of horsepower.
    Your only other option is to reduce the file to more "standard" definition.

  • Error While Activating BI Web service data source based on MDM XI.

    Dear experts,
    Need help with an error that i am getting for a BI data source based on XI MDM. An extra field was added in the data source as part of business requirement and it works fine in dev environment but when we transported the changes to Q environment it is always giving following error.
    The web-service based communication structure in the data source in QA is not getting updated with the new field in the target system.
    Any inputs or pointers would be appreciated.
    Thanks,
    Abhishek

    Many thanks for your help.  This solved the issue for our .NET code, however the leak is still present in the report designer.  I was also wondering if you could help further: because of the limits on the java memory process is there a way to ensure that a separate java process is started for each report that is loaded in my report viewers collection?  Essentially the desktop application that i have created uses a tab control to display each type report, so each tab goes through the following code when displaying a report and closing a tab:
    Is there a way to ensure that a different Java process is kicked off each time that I display a different report?  My current code in c# always uses the same Java process so the memory ramps up.  The code to load the report and then dispose of the report through closing the tab (and now the Java process) looks like this:
        private void LoadCrystalReport(string FullReportName)
          ReportDocument reportDoc = new ReportDocument();
          reportDoc.Load(FullReportName, OpenReportMethod.OpenReportByTempCopy);
          this.crystalReportViewer1.ReportSource = reportDoc;
        private void DisposeCrystalReportObject()
          if (crystalReportViewer1.ReportSource != null)
            ReportDocument report = (ReportDocument)crystalReportViewer1.ReportSource;
            foreach (Table table in report.Database.Tables)
              table.Dispose();
            report.Database.Dispose();
            report.Close();
            report.Dispose();
            GC.Collect();
    Thanks

  • Web Service encoding response improperly using the plugin and ssl

    We are having a problem with the response from a document style web service. The response is xml but the elements come back as "&lt element &gt" instead of <element>. The return variable is of type String.
    Our setup is Iplanet(6.1) frontend using the wl-proxy plugin
    to Weblogic 8.1. The webservice is using https. If we use port 7001 (not https) instead of https 443 it works fine.
    It appears to me that the plugin when used with ssl has a bug.
    In help would be greatly appreciated. This situation did not occur using wls6.1. When we migrated to 8.1 that is when it started happening.
    Other screnarios tested: When going right at weblogic 8.1 using ssl no problem.

    Hi
    When you have generated the client proxy classes from NW DS you can then include the .jar file into your applets code. Then, to actually execute the web service you can use the following code (for example)
    String logicalPort = "<logical port defined in WSDL>";
    <generate service interface> service = new <generated service implementation>();
    <generated proxy class> port = (<generated proxy class>)service.getLogicalPort(logicalPort, <generated proxy class>.class);
    String param = "myval";
    String result = port.<method>(param);
    where everything in the <> represents the relevant client classes that have been generated by NW DS. Bear in mind that you can either create deployed proxies or standalone proxies. Deployed proxies get deplyed to the J2EE server and need to be looked up via JNDI. The implementation classes are not included as part of the proxy generation.
    Standalone proxies are created with the implementation classes included and can therefore be included in ANY java application.
    I hope this helps
    Darrell

Maybe you are looking for

  • Determinin​g how a LabVIEW Applicatio​n was launched

    Does anyone know of a way to programmatically determine how to a particular LabVIEW application was started? My setup will involve multiple LabVIEW executables. One of these is the main, top level, program. The others are basically script libraries t

  • Photoshop Elements 12 editor won't open.

    I get the Adobe sign-in menu when I try to open it asking me if I want to buy or try a 30-day trial.  I can open the Organizer (by going into the program files).  I have been using PSE 12 on my MAC for several months--no problem.  Do I need to reload

  • How can I get cursor keys to work properly in Excel under Mavericks?

    I recently upgraded from Snow Leopard to Mavericks on a 24" iMac, with  wired Apple USB keyboard and mouse. The cursor keys do not work properly in Excel 2011 - instead of navigating through the spreadsheet, they move the spreadsheet up, down, or sid

  • Can IPS and AntiBot work in Active - Active Mode

    Hi, When we propose two firewalls in Active - Active mode with IPS module and Anti-Bot Licences, will the firewall along with IPS and Anti-Bot work in Active - Active mode? If not, how do the other OEM's claim that they are able to run their UTM in A

  • Folio preview error: 'exportArticleFolio'

    Hi, I am using Indesign CC. Creating digital publishing article. Have no errors, no missing links. I had been using and previewing the file fine up until I exported a pdf version of it. After that, the preview would load and then a pop up would come