Advice Required : Unusual website client request.

Hello,
This isn't a joke!
I have been asked by a client to build a website that satisfies the following criteria.
1. All webpages must end with .html
2. The webpages must not require any particular web technology behind the scenes to work.
3. It's fine if website requires javascript.
They have some good reasons for this.
1. If all the webpages end with .html then any future change in backend technology would not adversely effect search engine indexing.
2. Similar to 1 in that they don't want changes in back-end technology to require any significant change in the existing html.
I have a rough idea how to deliver this and I would welcome any advice or comments anyone may care to offer.
My plan is to...
1. Develop the server side of things using java - but not .jsp's
2. Develop the client side of things using html and javascript so ending in .html
3. Connect the server and client side using AJAX approach, so seperating client from server.
Is this a foolish approach or am I thinking along the right lines?
Is there a java technology I should use?
Thanks
Edited by: RedBoffin on Aug 27, 2008 6:50 AM

RedBoffin wrote:
Hello Steve,
Thanks for your thoughts.
re: #2. They are more concerned that there (client-side) web pages are 'clean' of any (server-side) code. I think what they mean is that say their website was made using JSP/Servlets and then (for some reason) they wanted to switch to .NET, then they want (ideally) such a change to have almost zero impact on the client-side web pages.This could mean two things:
1) The code sent to the client is pure HTML/Javascript
2) The code that makes up the View is pure HTML/Javascript
If 1) then a full use of JSP is no problem, because JSPs generate regular HTML, nothing special about it.
But the JSP would be the View, so if they want 2) then you would not be able to use JSPs. You would end up doing a lot more work and use a lot more servlet code to do what essentially JSPs already do.
>
Mapping .html as you suggest in order to continue using JSP's is really interesting. I have just set up a sandpit java web app using SSI filter mapped to .html, so that #include virtual="" can be used in the html to import headers, footers, nav links, javascript files, etc. Maybe your suggestion is a simpler approach?
What do you think?I think using JSPs for this is the better choice, because you get a lot more functionality and a lot simpler/easier to maintain code.
Coding for a maybe change to a completely different architecture is a nightmare. From the client perspective I agree, searched/bookmarked pages should the same, and with a well designed View layer, this is no problem. But the server-side should leverage the entire servlet architecture or is a waste.

Similar Messages

  • Controllers not re-directing client requests to ISE

    Please find attached a simple BYOD/ISE document I uploaded to kick start my new Wireless setup. Its all configured on my ISE sever and Controller as per doc.
    My setup:
    3600 AP's
    Internal 5508 Controller
    DMZ 5508 Controller (acts as a DHCP server for wireless clients)
    Controllers have established connectivity (mobility acnhors), as a client I can connect fine to my new SSID get a DHCP IP address back from DMZ WLC and at the moment can connect out to the Internet fine (using no WLAN Security as a test). So this part is working.
    I have now followed the document configured ISE, enabled AAA on the Internal WLC only and used the AAA override setting on WLAN as in the attached document.
    I connect to SSID expecting to be redirected to my ISE Guest Portal, nothing happens other than connecting to Internet WebPages.
    My question is, if I have followed this document correctly why is the Internal WLC not redirecting client requests to ISE, is this because my mobility anchors need to be re-configured, perhaps the AAA/ISE config needs to be applied to my DMZ WLC not internal WLC?
    I would prefer the Internal WLC to redirect the login to ISE, doesn't make sense to traverse through the DMZ Firewall onto DMZ WLC back into the Internal Network again to the ISE to authenticate.
    Or am I missing something additionally to this document to make sure clients are directed to the ISE Guest portal login.

    After you configure web authentication, if the feature does not work as       expected, complete these troubleshooting steps:
    Check if the client gets an IP address. If not, users can uncheck             DHCP Required on the WLAN and give the wireless client a             static IP address. This assumes association with the access point. Refer to the             IP addressing issues section of Troubleshooting             Client Issues in the Cisco Unified Wireless Network for troubleshooting DHCP             related issues.
    On WLC versions earlier than 3.2.150.10, you must manually enter             https://1.1.1.1/login.html in order to navigate to the web             authentication window.
    The next step in the process is DNS resolution of the URL in the             web browser. When a WLAN client connects to a WLAN configured for web             authentication, the client obtains an IP address from the DHCP server. The user             opens a web browser and enters a website address. The client then performs the             DNS resolution to obtain the IP address of the website. Now, when the client             tries to reach the website, the WLC intercepts the HTTP Get session of the             client and redirects the user to the web authentication login page.
    Therefore, ensure that the client is able to perform DNS resolution             for the redirection to work. On Windows, choose Start >             Run, enter CMD in order to open a command window, and             do a “nslookup www.cisco.com" and see if the IP address comes back.
    On Macs/Linux: open a terminal window and do a “nslookup             www.cisco.com" and see if the IP address comes back.
    If you believe the client is not getting DNS resolution, you can             either:
    Enter either the IP address of the URL (for example,                 http://www.cisco.com is http://198.133.219.25)
    Try to directly reach the controller's webauth page with                 https:///login.html. Typically this is                 http://1.1.1.1/login.html.
    Does entering this URL bring up the web page? If yes, it is most             likely a DNS problem. It might also be a certificate problem. The controller,             by default, uses a self-signed certificate and most web browsers warn against             using them.
    For web authentication using customized web page, ensure that the             HTML code for the customized web page is appropriate.
    You can download a sample Web Authentication script from             Cisco Software             Downloads. For example, for the 4400 controllers, choose             Products > Wireless > Wireless LAN Controller > Standalone             Controllers > Cisco 4400 Series Wireless LAN Controllers > Cisco 4404             Wireless LAN Controller > Software on Chassis > Wireless Lan Controller             Web Authentication Bundle-1.0.1 and download the             webauth_bundle.zip file.
    These parameters are added to the URL when the user's Internet             browser is redirected to the customized login page:
    ap_mac—The MAC address of the access point to which the wireless                 user is associated.
    switch_url—The URL of the controller to which the user                 credentials should be posted.
    redirect—The URL to which the user is redirected after                 authentication is successful.
    statusCode—The status code returned from the controller's web                 authentication server.
    wlan—The WLAN SSID to which the wireless user is                 associated.
    These are the available status codes:
    Status Code 1: "You are already logged in. No further action is                 required on your part."
    Status Code 2: "You are not configured to authenticate against                 web portal. No further action is required on your part."
    Status Code 3: "The username specified cannot be used at this                 time. Perhaps the username is already logged into the                 system?"
    Status Code 4: "You have been excluded."
    Status Code 5: "The User Name and Password combination you have                 entered is invalid. Please try again."
    All the files and pictures that need to appear on the Customized             web page should be bundled into a .tar file before uploading to the WLC. Ensure             that one of the files included in the tar bundle is login.html. You receive             this error message if you do not include the login.html             file:
    Refer to the             Guidelines             for Customized Web Authentication section of             Wireless             LAN Controller Web Authentication Configuration Example for more             information on how to create a customized web authentication window.
    Note: Files that are large and files that have long names will result                 in an extraction error. It is recommended that pictures are in .jpg                 format.
    Internet Explorer 6.0 SP1 or later is the browser recommended for             the use of web authentication. Other browsers may or may not             work.
    Ensure that the Scripting option is not blocked on             the client browser as the customized web page on the WLC is basically an HTML             script. On IE 6.0, this is disabled by default for security purposes.
    Note: The Pop Up blocker needs to be disabled on the browser if you                 have configured any Pop Up messages for the user.
    Note: If you browse to an https site, redirection does                 not work. Refer to Cisco bug ID                 CSCar04580 (registered customers only)          for more information.
    If you have a host name configured for the             virtual interface of the WLC, make sure that the DNS             resolution is available for the host name of the virtual interface.
    Note: Navigate to the Controller > Interfaces menu                 from the WLC GUI in order to assign a DNS hostname to the                 virtual interface.
    Sometimes the firewall installed on the client computer blocks the             web authentication login page. Disable the firewall before you try to access             the login page. The firewall can be enabled again once the web authentication             is completed.
    Topology/solution firewall can be placed between the client and             web-auth server, which depends on the network. As for each network             design/solution implemented, the end user should make sure these ports are             allowed on the network firewall.
    Protocol Port
    HTTP/HTTPS Traffic
    TCP port 80/443
    CAPWAP Data/Control Traffic
    UDP port 5247/5246
    LWAPP Data/Control Traffic (before rel 5.0)
    UDP port 12222/12223
    EOIP packets
    IP protocol 97
    Mobility
    UDP port 16666 (non secured)                        UDP port 16667 (secured IPSEC tunnel)
    For web authentication to occur, the client should first associate             to the appropriate WLAN on the WLC. Navigate to the Monitor >             Clients menu on the WLC GUI in order to see if the client is             associated to the WLC. Check if the client has a valid IP             address.
    Disable the Proxy Settings on the client browser until web             authentication is completed.
    The default web authentication method is PAP. Ensure that PAP             authentication is allowed on the RADIUS server for this to work. In order to             check the status of client authentication, check the debugs and log messages             from the RADIUS server. You can use the debug aaa             all command on the WLC to view the debugs from the RADIUS             server.
    Update the hardware driver on the computer to the latest code from             manufacturer's website.
    Verify settings in the supplicant (program on             laptop).
    When you use the Windows Zero Config supplicant built into             Windows:
    Verify user has latest patches installed.
    Run debugs on supplicant.
    On the client, turn on the EAPOL (WPA+WPA2) and RASTLS logs from a             command window, Start > Run > CMD:
    netsh ras set tracing eapol enable
          netsh ras set tracing rastls enable
    In order to disable the logs, run the same command but replace             enable with disable. For XP, all logs will be located in             C:\Windows\tracing.
    If you still have no login web page, collect and analyze this             output from a single client:
    debug client
    debug dhcp message enable
    debug aaa all enable
    debug dot1x aaa enable
    debug mobility handoff enable
    If the issue is not resolved after you complete these steps,             collect these debugs and use the             TAC Service Request Tool (registered customers only)          in order to open a Service             Request.
    debug pm ssh-appgw enable
    debug pm ssh-tcp enable
    debug pm rules enable
    debug emweb server enable
    debug pm ssh-engine enable packet

  • Use ACE to redirect or insert a WWW in a client request

    I am using ACE 4710s running 4.1 to load balance web traffic across our web server farms.  Redirection is configured to redirect http to https.  There is a new requirement to redirect a request that does not include the "www" in the URL to include the "www".  In other words, if a client merely types "mytesturl.com/test1" the ACE is to redirect or rewrite and insert the www so the request becomes"www.mytesturl.com/test1".  I am searching through the documentation, but thought I would pick the collective brains of the community at the same time to see who can come up with the correct answer first.  Below is a sample of the working config.
    Thanks in advance,
    mb
    rserver host RS_TEST_01
      description ***Test Producation Host***
      ip address 10.64.64.45
      inservice
    rserver redirect RD_EC
      description ***TEST Sub-Site***
      webhost-redirection https://www.test.com/EC/
      inservice
    rserver redirect http
      webhost-redirection https://%h%p 301
      inservice
    serverfarm redirect REDIRECT
      rserver http
        inservice
    serverfarm host SF_TEST
      rserver RS_TEST_01 80
        inservice
    serverfarm redirect SF_EC
      description ***Test Sub-Site***
      rserver RD_EC
        inservice
    sticky ip-netmask 255.255.255.0 address both STICKY_TEST_1
      timeout 600
      replicate sticky
      serverfarm SF_TEST
    ssl-proxy service SSL_TEST_1
      key TEST_KEY
      cert TEST_CERT
      chaingroup VERISIGN
      ssl advanced-options SSL_TERMINATION
    class-map match-any TEST_VIP_01
      description ***VIP for TEST***
      2 match virtual-address 10.64.74.45 tcp eq https
    class-map type http loadbalance match-all TEST_EC
      2 match http url /ec*
    policy-map type loadbalance first-match LB_TEST_01
      description ***Load Balancing Policy for Test***
      class TEST_EC
        serverfarm SF_EC
    policy-map type loadbalance first-match LB_REDIRECT
      description L7SLBPolicy-Redirect
      class class-default
        serverfarm REDIRECT
    policy-map multi-match NEW_WEB_POLICY
      class TEST_VIP_01
        loadbalance vip inservice
        loadbalance policy LB_TEST_01
        loadbalance vip icmp-reply active
        ssl-proxy server SSL_TEST_1
    interface vlan 474
      description ***Front End VIP interface***
      ip address 10.64.74.254 255.255.255.0
      alias 10.64.74.252 255.255.255.0
      peer ip address 10.64.74.253 255.255.255.0
      access-group input TEST_WEB
      service-policy input TEST_WEB_POLICY
      no shutdown

    Hi Michael,
    The configuration to achieve this would be something like the one below. I wrote it without trying it in the lab first, so, make sure to test it before putting it in production (specially the syntax of the regular expressions)
    rserver redirect http
      webhost-redirection https://%h%p 301
      inservice
    rserver redirect http_and_www
      webhost-redirection https://www.%h%p 301
      inservice
    serverfarm redirect REDIRECT
      rserver http
        inservice
    serverfarm redirect REDIRECT_and_www
      rserver http_and_www
        inservice
    class-map type http loadbalance match-all http_with_www
      2 match http header Host header-value www.*
    policy-map type loadbalance first-match LB_REDIRECT
      description L7SLBPolicy-Redirect
      class http_with_www
        serverfarm REDIRECT
      class class-default
        serverfarm REDIRECT_AND_WWW
    I hope this helps
    Daniel

  • Socket Adapter Request-Reply ~ Error occured in processing client request ~

    Dear Friends,
    Need your help in resolving a Issue regarding Socket Adapter Request/Reply.
    We have a requirement to recieve Message from a External Vendor using Socket based communication,to achieve this Created a Process which has Socket Adapter Inbound Synchronous Request-Reply. I have also created a sample Outbound Service to test and it was able to send & Receive Message Sucessfuly .
    When i try to Recieve a Message from the External Vendor on Port 8008 in this I am unable to receive the message(No Bpel Instance Created) message coming to the SOA Server, in the logs I can see Below Error-
    Socket Adapter ClientProcessor:run() Error occured in processing client request
    Socket Schema Translation Error.
    Error while trying to translate from native.
    Please ensure that the schemas are set up with native annotations and comply with the output XML. Contact Oracle support if error is not fixable.
    Pls. find my Input XSD Below-
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    xmlns:tns="http://TargetNamespace.com/InboundService"
    targetNamespace="http://TargetNamespace.com/InboundService"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    nxsd:version="NXSD"
    nxsd:stream="chars"
    nxsd:encoding="US-ASCII"
    >
    <xsd:element name="R1">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="C1" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    Sample Incoming Message-
    <?xml version="1.0" encoding="UTF-8"?>
    <ExitRequest>
    <ExitRequestID>1234</ExitRequestID>
    <Timestamp>28-11-2012 01:19:11</Timestamp>
    <ActiveTagData>23456</ActiveTagData>
    <DriverID>5555</DriverID>
    <LicensePlate>6546</LicensePlate>
    <DriverName> Sujit Nair</DriverName>
    <DriverDOB>06-06-2012</DriverDOB>
    <DriverEmployer>Testing</DriverEmployer>
    <DriverSex>Male</DriverSex>
    <DriverLang>ENGLISH</DriverLang>
    <DriverNationality>TEST</DriverNationality>
    <LaneID>Gate Testing</LaneID>
    <CardReaderID>07700</CardReaderID>
    </ExitRequest>
    Can anyone pls. help me on this , still not able to understand what I am doing wrong. Pls. let me know if any other details required.
    Thanks,
    Sujit Nair

    Hi,
    You don't need a NSXD (Native Format Builder) to receive a message that is XML already, and the NXSD you listed above has nothing to do with the sample incoming message. So, no surprises it is complaining "Error while trying to translate from native.".
    You have to fix the incoming message element on the Socket Adapter.
    Cheers,
    Vlad

  • Restrict client request to site by IP address. If the request is?

    Hi all,
    I have a requirement like as follows.
    Requirement:
    Restrict client request to site by IP address. If the request is from specific IP address. I mean here standard bloack address (Eg: 127.0.0.1,default subnet mask...)
    I am looking for alread predefined method from java libs....Can please any one help on this issue.
    regards
    prasad.nadendla

    Use a SecurityManager and a .policy file that only grants SocketPermissions for the required hosts.

  • Client Request/Response Context

    I'm new to Weblogic Integration and have a question regarding client response action.
    I've seen an example of a quick workflow where the webpage calls the process
    and gets a response back. In essence the workflow is synchronous.
    Now I want to include a long running process, using Worklists and involving many
    different actors. During the worklist task acceptance I want to get some feedback
    from the user. My questions is what context does the Client Request/Response
    execute in. The example in the docs shows the worklist application. Is this
    absolutely required? How about a client response to a portlet.
    Thanks,
    noah

    One of the Certification mandates logging the remote client IP AND PORT for each log-event.
    I cannot pass these from GUI client because the user may
    be on a private network. This calls for capturing the IP and PORT at GUI server end.
    Capturing remote IP is simple as SOAP library exposes the request object from which the IP can be obtained.
    The dificult part is to capture port. I addressed this problem by introducing a
    new Tomcat Service Engine, CSMServiceEngine. This engine has access to the underneath socket using which
    i obtain the client port and pass it across to SOAP layer as a x-csm-client-port HTTP theader.
    I have a custom SOAP provider, CSMSoapSPI, which obtains the port using the above x-header and the
    client IP from its request object. THese are done only for 'login' task and hence i published a new
    SOAP service: LoginCommand.
    But bcoz of upgradation of tomcat from 4.0 to 5.0.28 the invoke method in the StandardEngine(which was initially extended by class i posted) is made final with JDK 1.5 and i can no longer use the StandardEngine. Hence i tried with the Valve class.But with no luck.
    Hope this answers ur question

  • Arrowpoint Cookies, Reverse Proxy and Multiplexed Client Requests

    Hi,
    I have a reverse proxy which is performing SSL offload and making backend connections to two web servers. Between the reverse proxy and the two webservers, a CSS is in place to load balance between the web servers. There is a requirement for session stickiness on the web servers and since client IP details are lost through the reverse proxy I have used the arrowpoint-cookie method to load balance connections.
    However, the reverse proxy seems to make only a handful of connections to the servers compared to the number incoming client connections and we have noticed that stickiness is broken. Now, I would assume this is correct if arrowpoint-cookie makes a load balancing based on the first HTTP get in a tcp stream and not on a per transaction basis AND our reverse proxy is multiplexing client requests. However, I can not convince myself of how the arrowpoint-cookie method actually works.
    I wondered if anyone had any insight on this or had experienced similar issues with arrowpoint cookies?

    Hi Gilles,
    I have implemented this today, and we are still seeing issues with requests hitting the wrong server.
    A bit more info, the reverse proxy is an AXG Web Aopplication Firewall. I have been looking at this and am considering disabling connection re-use on here.
    However I am also wondering if this might be to do with the flow timeout multiplier I am using which is 5 (80 seconds). Perhaps this is too low?
    Thanks, David.

  • Jpd client request with attachments

    I'm currently attempting to wrap a custom control in a jpd file for the added benefits
    of a Java process. The problem I'm encountering is due to the fact that the control
    I'm using takes file content as input (I'm currently using the DataHandler type,
    since this is how attachments are transferred to/from the client using jws files).
    I've set the process up so that the client request has an argument of type javax.activation.DataHandler.
    When working with jws files, this was sufficient allow the service to accept
    a SOAP attachment. When I try to set this up through a process, however, I get
    the following error: "java.lang.ClassCastException: javax.activation.DataHandler".
    This error occurred when I invoked the process as a web service via the BEA-generated
    client proxy jar.
    Is there a different way of utilizing SOAP attachments with jpd files, or am I
    simply missing another step?
    Thanks.
    -Brian

    What are different jar files in your classpath. You might be missing the standard
    jar file that contains the javax.activation.DataHandler class. Please check and
    apply a proper Jar file.
    "Brian McLoughlin" <[email protected]> wrote:
    >
    I'm currently attempting to wrap a custom control in a jpd file for the
    added benefits
    of a Java process. The problem I'm encountering is due to the fact that
    the control
    I'm using takes file content as input (I'm currently using the DataHandler
    type,
    since this is how attachments are transferred to/from the client using
    jws files).
    I've set the process up so that the client request has an argument of
    type javax.activation.DataHandler.
    When working with jws files, this was sufficient allow the service to
    accept
    a SOAP attachment. When I try to set this up through a process, however,
    I get
    the following error: "java.lang.ClassCastException: javax.activation.DataHandler".
    This error occurred when I invoked the process as a web service via
    the BEA-generated
    client proxy jar.
    Is there a different way of utilizing SOAP attachments with jpd files,
    or am I
    simply missing another step?
    Thanks.
    -Brian

  • Jpd client requests with attachments

    I'm currently attempting to wrap a custom control in a jpd file for the added benefits
    of a Java process. The problem I'm encountering is due to the fact that the control
    I'm using takes file content as input (I'm currently using the DataHandler type,
    since this is how attachments are transferred to/from the client using jws files).
    I've set the process up so that the client request has an argument of type javax.activation.DataHandler.
    When working with jws files, this was sufficient allow the service to accept
    a SOAP attachment. When I try to set this up through a process, however, I get
    the following error: "java.lang.ClassCastException: javax.activation.DataHandler".
    This error occurred when I invoked the process as a web service via the BEA-generated
    client proxy jar.
    Is there a different way of utilizing SOAP attachments with jpd files, or am I
    simply missing another step?
    Thanks.
    -Brian

    Hi Brian,
    This sounds like a known bug. Could you take this issue up with our
    award winning support team [1] and reference CR129731.
    Thanks,
    Bruce
    [1]
    http://support.bea.com
    [email protected]
    Brian McLoughlin wrote:
    >
    I'm currently attempting to wrap a custom control in a jpd file for the added benefits
    of a Java process. The problem I'm encountering is due to the fact that the control
    I'm using takes file content as input (I'm currently using the DataHandler type,
    since this is how attachments are transferred to/from the client using jws files).
    I've set the process up so that the client request has an argument of type javax.activation.DataHandler.
    When working with jws files, this was sufficient allow the service to accept
    a SOAP attachment. When I try to set this up through a process, however, I get
    the following error: "java.lang.ClassCastException: javax.activation.DataHandler".
    This error occurred when I invoked the process as a web service via the BEA-generated
    client proxy jar.
    Is there a different way of utilizing SOAP attachments with jpd files, or am I
    simply missing another step?
    Thanks.
    -Brian

  • Kadmin: Missing parameters in krb5.conf required for kadmin client while in

    Hi all
    When i am going to run commands like
    kadmin addprinc -randkey
    kadmin ktadd -k
    i am receiving kadmin: Missing parameters in krb5.conf required for kadmin client while ininitializing kadmin interface
    any ideas??
    What kind of parameters are missing???
    thanks a lot

    Hi,
    It is a common problem. I used Oracle Linux to sort it out.
    Perhaps you're using the wrong command? AFAIK kadmin should be used when working remotely. You don't say where you are in relation to the server? If sitting at the server you should be using kadmin.local. For example if I issue:
    sudo kadmin.local
    I get:
    Authenticating as principal root/admin@LKDC:SHA1.EB237F611F07B2E8A636804052E8F7252BBA978F with password
    If I issue:
    sudo kadmin
    I get:
    Authenticating as principal root/admin@LKDC:SHA1.EB237F611F07B2E8A636804052E8F7252BBA978F with password
    If I issue:
    sudo kadmin
    I get:
    Authenticating as principal root/[email protected] with password.
    kadmin: Missing parameters in krb5.conf required for kadmin client while initializing kadmin interface
    A vital difference. Issuing:
    sudo kadmin.local -q list_prinicpals
    show show successfully kerberized users, services & hosts. Changing it to kadmin -q list_principals shows nothing except the error message. The above examples are for a client machine.
    If you have any questions, ask.
    Kirill Babeyev

  • Method names on "Client Request with Return" nodes

    I wasn't sure whether this question would be better here, or in the "integration"
    group. The traffic there is somewhat lighter than in here, so perhaps someone
    is more likely to read it here :) .
    I have two questions about the "method name" in a "Client Request with Return"
    node in a Java Process Definition. Apparently the method name is exposed in the
    WSDL. I can sort of understand what this method name is used for in the "request"
    node, but I fail to understand what the method name corresponds to in the "reply/response"
    node of the pair of two nodes. Why does this need to expose a method name in
    the WSDL when the point of the node is just to send back a response to the original
    request?
    Second, in the "Guide to Building Business Processes" document, in the section
    titled "Naming the Methods on Client Request with Return Nodes" (page 3-14 in
    my copy), the last sentence says "The name must be a valid Java class name".
    Is this true? That confuses me.

    What do you think is happening here? Specifically if a socket is a connected and a new one comes in. What then?
    private void listen() {
              try {
                   clientSocket = serverSocket.accept();
              } catch (IOException e) {
                   e.printStackTrace();
         }

  • How can I have my servlet accept 100 concurrent client requests?

              My servlet extends HttpServlet so it is multithreaded. Then I have written a java
              client which starts 100 concurrent threads that try to contact the servlet.
              There are always lots of threads which are refused by the Weblogic Server 6.0.
              They get a 'Connection refused' exception. Sometimes there are 50 refused connections,
              sometimes there are 0 refused connections (not very often), sometimes there are
              80 refused connections (usually).
              I have checked the 'Servlet' documentation and the 'J2EE Design Considerations
              for Weblogic Server' which recommends not to exceede the execute thread count
              number of 15. I have not changed that value, I do not even know if it still exists
              in Weblogic 6.0 as the document refers to the 5.0 version.
              Does anybody know how to solve this problem? How can I have the client requests
              waiting rather than being refused? Of course the main goal is to serve all the
              client requests, not to refuse.
              This is the code that the client thread uses to contact the servlet:
              URL url = new URL("http://localhost:7001/examplesWebApp/myServlet");
              URLConnection conn = url.openConnection();
              conn.setDoInput(true);
              conn.setDoOutput(true);
              DataOutputStream os = new DataOutputStream(conn.getOutputStream());
              os.writeBytes()
              os.writeBytes()
              Thanks for your time,
              David
              

              The key is
              KKEY_LOCALMACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
              There you may need add a value "MaxUserPort" as REG_DWORD (5000 is default), also
              change "TcpTimedWaitDelay" to small number (30 is minimum). You may have trouble
              to find them. Just add them.
              You can also use Microsoft Web Application Stress Tool to test your Weblogic applications.
              As a free test tool, it is really powerful, although not so flexible.
              I guess you write your own test tool with java.net.URLConnection. I am not sure
              about the power of this class. In my case, I wrote my stress test tools with Java
              Socket. I can test application on Weblogic 6 with 1000 threads with my own tool
              and Microsoft tool, depending on memory and CPU of the machines I use. I run my
              tests on both Windows 2000 professional and Solaris.
              Check your CPU and memory usage with task manager.
              On the other hand, you should check log message on Weblogic 6. Try to turn on
              HTTP debug by add the following in your config.xml in tag <Server>.
              <ServerDebug DebugHttp="true" DebugURLResolution="true"
              JDBCConn="true" JDBCSQL="true" ListenThreadDebug="true" Name="myserver"/>
              "David Ruana" <[email protected]> wrote:
              >
              >Xiang, I really appreciate your help. I changed my Weblogic server configuration
              >from the console but I still experience the same problems.
              >
              >I start my 100 threads, and from about the 20th onward all them get the
              >'Connection
              >refused' exception in the URLConnection::getOutputStream() function,
              >always after
              >a successful URLConnection::openConnetion().
              >
              >My system is Windows 2000 Professional (Spanish version). I tried to
              >check the
              >open client socket descriptor limit but I was not able to find the TCPIP/MAXUSERPORT
              >in the registry. Do you know how is this entry called in Windows 2000?
              >
              >At this point I am not sure whether my problems are related to the Weblogic
              >server
              >or to the operative system. I will keep trying... I would appreciate
              >any other
              >suggestion.
              >
              >Thank you very much.
              >
              >
              >
              >"Xiang Rao" <[email protected]> wrote:
              >>
              >>It is better to use Weblogic 6 console to configure Weblogic server.
              >>In the console,
              >>there is tab Servers->myServer->Congiguration->Tuning, you can find
              >execute
              >>length
              >>and backlog.
              >>
              >>If you use Windows as test client, note Windows have a 5000 open client
              >>socket
              >>descriptors limit. You need change Windows Registry (TCPIP/MAXUSERPORT)
              >>to change
              >>this parameter.
              >>
              >>On the other hand, during test, you should monitor your test via Weblogic
              >>console
              >>(myServer->Monitoring->Performance), here you can see the change of
              >wait
              >>queue.
              >>If the queue keeps increaing, you are in trouble.
              >>
              >>Since you know how to use MBean, try to write customized (servlet, for
              >>example)
              >>to collect the following data: opened socket number, open socket number,
              >>opened
              >>session number and open session number. The two "open" numbers will
              >give
              >>you some
              >>clue. Also record your CPU and memory usage.
              >>
              >>BTW, what is the output you get from your test in terms of number of
              >>requests
              >>per second, response time and number of bytes downloaded/uplodaed per
              >>second?
              >>Are your test client and Weblogic running on the same machine?
              >>
              >>
              >>
              >>"David Ruana" <[email protected]> wrote:
              >>>
              >>>By the way, this is a piece of the config.xml file where you can see
              >>>my Server
              >>>configuration. It is the configuration which is installed in the examplesServer
              >>>in the free evaluation of Weblogic 6.0. I only modified the AcceptBacklog
              >>>value,
              >>>and added the ThreadPoolSize="15" line which was missing (I copied
              >from
              >>>the petstoreServer).
              >>>
              >>> <Server AcceptBacklog="1000" AdministrationPort="0" ClusterWeight="1"
              >>> ConsoleInputEnabled="false" DGCIdlePeriodsUntilTimeout="2"
              >>> DefaultProtocol="t3" DefaultSecureProtocol="t3s"
              >>> HttpdEnabled="true" JavaCompiler="C:\bea\jdk130/bin/javac"
              >>> ListenPort="7001" Name="examplesServer" NativeIOEnabled="true"
              >>>     ThreadPoolSize="15"
              >>> SocketReaderTimeoutMaxMillis="10"
              >>> TransactionLogFilePrefix="config/examples/logs/"
              >>> TunnelingClientPingSecs="45" TunnelingClientTimeoutSecs="40"
              >>>XMLRegistry="examplesXMLRegistry">
              >>> <ServerDebug Name="examplesServer"/>
              >>> <WebServer DefaultWebApp="DefaultWebApp_examplesServer"
              >>> LogFileName="./config/examples/logs/access.log"
              >>> LoggingEnabled="true" Name="examplesServer"/>
              >>> <Log FileName="./config/examples/logs/weblogic.log" Name="examplesServer"/>
              >>> <KernelDebug Name="examplesServer"/>
              >>> <SSL Enabled="true" ListenPort="7002" Name="examplesServer"
              >>> PeerValidationEnforced="0"
              >>> ServerCertificateChainFileName="./config/examples/ca.pem"
              >>> ServerCertificateFileName="./config/examples/democert.pem"
              >>> ServerKeyFileName="./config/examples/demokey.pem" TrustedCAFileName="./config/examples/ca.pem"/>
              >>> </Server>
              >>>
              >>>
              >>>
              >>>
              >>>
              >>>"Xiang Rao" <[email protected]> wrote:
              >>>>
              >>>>You only need to change Weblogic HTTP configuration. Give the server
              >>>>a big socket
              >>>>Backlog number. Since you test with 100 threads, you can think 1000
              >>>to
              >>>>5000, i.e.,
              >>>>1000 to 5000 requests will be in queue before got served. Aslo, you
              >>>might
              >>>>need
              >>>>to change your OS TCP/IP settings (both test clients and servers),
              >>such
              >>>>as maximum
              >>>>number of sockets and timeout value(so closed sockets will release
              >>socket
              >>>>descriptors
              >>>>immediately).
              >>>>
              >>>>On the other hand, the number of executive threads can be much larger
              >>>>than 15
              >>>>(50-200 is a normal number), depending on the features of your application.
              >>>>You
              >>>>can try your stress test tools to find a reasonable number by analyzing
              >>>>the relationships
              >>>>among (throughtput, response time, number of executive threads, etc).
              >>>>
              >>>>
              >>>>"David Ruana" <[email protected]> wrote:
              >>>>>
              >>>>>My servlet extends HttpServlet so it is multithreaded. Then I have
              >>>written
              >>>>>a java
              >>>>>client which starts 100 concurrent threads that try to contact the
              >>>servlet.
              >>>>>
              >>>>>There are always lots of threads which are refused by the Weblogic
              >>>Server
              >>>>>6.0.
              >>>>>They get a 'Connection refused' exception. Sometimes there are 50
              >>refused
              >>>>>connections,
              >>>>>sometimes there are 0 refused connections (not very often), sometimes
              >>>>>there are
              >>>>>80 refused connections (usually).
              >>>>>
              >>>>>I have checked the 'Servlet' documentation and the 'J2EE Design Considerations
              >>>>>for Weblogic Server' which recommends not to exceede the execute
              >thread
              >>>>>count
              >>>>>number of 15. I have not changed that value, I do not even know if
              >>>it
              >>>>>still exists
              >>>>>in Weblogic 6.0 as the document refers to the 5.0 version.
              >>>>>
              >>>>>Does anybody know how to solve this problem? How can I have the client
              >>>>>requests
              >>>>>waiting rather than being refused? Of course the main goal is to
              >serve
              >>>>>all the
              >>>>>client requests, not to refuse.
              >>>>>
              >>>>>This is the code that the client thread uses to contact the servlet:
              >>>>>
              >>>>>URL url = new URL("http://localhost:7001/examplesWebApp/myServlet");
              >>>>>URLConnection conn = url.openConnection();
              >>>>>conn.setDoInput(true);
              >>>>>conn.setDoOutput(true);
              >>>>>
              >>>>>DataOutputStream os = new DataOutputStream(conn.getOutputStream());
              >>>>>os.writeBytes()
              >>>>>os.writeBytes()
              >>>>>...
              >>>>>
              >>>>>Thanks for your time,
              >>>>>David
              >>>>>
              >>>>
              >>>
              >>
              >
              

  • WebLogic is not responding to client request under heavy load

    Under heavy loading, our WLS 6.0 SP2 will be not be responding to client requests
    after some time, say, 1 hour. From the administration console, the request throughput
    is 0 while request waiting accumulates to over 1,000. Even the clients stop making
    request to the server, the request waiting will not drop. It seems that WLS blocked
    on some threads and unable to serve the requests (see attached thread dump for
    details).
    Our configuration is as follow:
    OS: SunOS 5.7
    Database: MS SQL Server 7.0 running on NT4 Enterprise Edition.
    (JDBC Driver is the one bundled with WLS 6.0)
    We know that using 'DriverManager.getConnection()' can cause deadlock in number
    of cases but we have gone through all the code but all of our Database connections
    are obtained through datasource. And the connection is closed properly in finally
    block.
    Moreover, the application is originally running on WLS 4.51 but no problem is
    encountered.
    Does any expert know what the problem and solution are?
    Thanks!
    [session.log]

    It appears that some threads were possibly blocked at some jDriver calls
    initially (ExecuteThread 0,10,15,23 of the default thread pool). WLS JTA
    subsequently timed out and rolled back the transactions asynchronously. The
    first rollback attempt was blocked at the jDriver level (ExecuteThread 18 of
    the default thread pool). Each subsequent rollback retry blocks an
    additional execute thread (due to a JTA bug that is fixed in WLS 6.1, but
    not 6.0 SPs) - ExecuteThread 1-9,11-26 of the default thread pool.
    Eventually, the server ran out of execute threads and became unresponsive.
    It is unclear that whether the initial blocking of threads by the jDriver is
    a jDriver issue or an application issue. Please report to BEA support at
    [email protected] for further assistance.
    Regards,
    Priscilla
    Gary Mok <[email protected]> wrote in message
    news:[email protected]..
    >
    Under heavy loading, our WLS 6.0 SP2 will be not be responding to clientrequests
    after some time, say, 1 hour. From the administration console, the requestthroughput
    is 0 while request waiting accumulates to over 1,000. Even the clientsstop making
    request to the server, the request waiting will not drop. It seems thatWLS blocked
    on some threads and unable to serve the requests (see attached thread dumpfor
    details).
    Our configuration is as follow:
    OS: SunOS 5.7
    Database: MS SQL Server 7.0 running on NT4 Enterprise Edition.
    (JDBC Driver is the one bundled with WLS 6.0)
    We know that using 'DriverManager.getConnection()' can cause deadlock innumber
    of cases but we have gone through all the code but all of our Databaseconnections
    are obtained through datasource. And the connection is closed properly infinally
    block.
    Moreover, the application is originally running on WLS 4.51 but no problemis
    encountered.
    Does any expert know what the problem and solution are?
    Thanks!

  • Advice needed on website

    Hi there.
    I have been asked to produce a website and there are a few areas that I'm wondering how I can do so I just thought I would post and see if anyone on here could possibly give me some advice. 
    The website will contain a search facility that will allow the user to search on a number of different locations across the county, by the postcode. 
    I'm not sure how to do this really. 
    Basically, there needs to be an individual page for each location and on it, they will have the name of the place, the address including postcode, an image and a few paragraphs with a description. 
    Could this all be stored in a database do you think? (I’ve never stored images in a database). 
    If so... how do I store images.
    And, when the text is in paragraphs, I presume it will all be in one field in the database, so how would it be formatted properly on the website. 
    Finally, how can I do a postcode search, that will return the locations that are ‘near’ to the postcode entered. 
    If anyone has got any advice, or can point me to a good tutorial, I would really appreciate it. 
    Thanks so much, 
    Craig

    Answering in reverse order...
    You would have to look at any major retailer's site .... They all ask for a zip code and a a radius and they will show all of the stores. I am sure there are tables somewhere that relate postal codes with one another. I have never needed them, so I can offer no further guidance. Google something like zip code proximity table, any you might find something. As I said, I don't think it's a trivial operation.
    If your database record contains one entry per zip, then you use that zip as your index and you get one record returned. When you display that record you would show the text and the image, etc for that zip. If you have multiple stores per zip, then you would return multiple records and for each one you would show that info. All would be done on one page, whether one or many records.
    Look at DW Master/Destail pages.
    It would be a little more complicated to have the child page just return the list of locations and that list could have links to the individual detail pages. This would create unnecessary pages in those cases where there was only a single entry and that could be annoying to people who wanted to go straight to the results.
    To get Google to go directly to the individual pages would be difficult. You could manually create separate pages but the maintenance overhead would, I think, be astronomical. A well-designed master page with mention of states or areas could go a long way to getting attention.
    Hope this answers your questions.
    Barry

  • "Allow AutoFill even for websites that request passwords not be saved." not appearing in Safari 7.0.3 prefs

    A December 2,  2013 Apple FAQ says that you can go to Mavericks:Safari:Preferences:Passwords and select "Allow AutoFill even for websites that request passwords not be saved."
    However, this checkbox does not appear.
    The features and management of iCloud Keychain are causing concern among users.
    I share these. For example, today I chose to let Safari produce a complex password for a Chase credit card site. Yet, when I went back to that site to sign in, I could not. Nor was that password in the list on Safari!
    This is not good. For iCloud Keychain to be trusted, it must be very reliable, and we must be allowed to manage it.
    I was forced to reset the password for Chase, and had to refuse Safari's offer to use their suggested password (as I would possibly never see it again!)

    Safari version 7.0.4
    That option is no more available.

Maybe you are looking for