Bad response in a Web Service on OC4J with many concurrrent clients

We have a Web Service in a OC4J container, this Web Services invoke the business services from another complex application (another ear with EJBs in the same container) with RMI connections.
We need this web service support many concurrent clients, but in our tests the performance is very bad, the web service supports ten concurrent clients in a long response time for all of them, (for one client the Web Service responses in 3 seconds / for 10 clients in 45 seconds) if we test with 20 concurrent clients, the web service can´t process at least 15 requests , the other 5 finish well
What can I do to improve the performance with many concurrent clients (100 +)

Hello,
I am quite surprised...
Could you please give us more information about your environment and behavior:
1- which version of oracleAS, WS and J2EE are you using?
2- do you have any information in the application log about possible source of error?
3- Any information about performance of the different layers?
Can you simplify the flow by creating the service in the same EAR than the EJB and void RMI calls for example?
regards
Tugdual Grall

Similar Messages

  • Running web services on OC4J with attachments problem

    Hi,
    I have problem with running Web Services with Attachment on AS 10.1.3 (SOAP: RCP/LItteral 1.1).
    I generate WS Bottom-Up from java class in Jdeveloper 10.1.3 (3673) :
    package project2;
    import javax.xml.soap.AttachmentPart;
    public class TestWS {
    public TestWS() {
    public String getText() {
    return "testWS text" ;
    public AttachmentPart getAttach() {
    AttachmentPart ap = null ;
    /* try {
    javax.xml.soap.MessageFactory mf = MessageFactory.newInstance();
    javax.xml.soap.SOAPMessage message = mf.createMessage();
    ap = message.createAttachmentPart(attachmentObj,"application/pdf");
    } catch (Exception e) {e.printStackTrace(); return null ;}
    return ap ;
    When testing WS through EM - Web services - Test Web Service, failed with exception:
    500 Internal Server Error
    java.lang.NullPointerException
    at oracle.j2ee.ws.server.WebServiceServlet.displayErrorPage(WebServiceServlet.java:742)
    at oracle.j2ee.ws.server.JAXRPCServlet.doGet(JAXRPCServlet.java:422)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    WS without attachment works fine. Any advice?
    Thx.
    Wollis

    It's probably "web services home page" bug, ws proxy client works fine.

  • Multiple web services or one with many methods? when are threads created?

    Hey guys,
    I was just wondering how do you implement your web services - if you create one wsdl location with many methods (meaning one @WebService and lots of @WebMethod), or leave one class for each method, having many wsdl locations.
    A follow-up question would be: does each web service call create a thread, even if it's different calls to the same web service?
    Thanks for answering.

    Hi,
    pure from a coder instinct I think I would prefer them to be in separate projects for better reuse and clean separation. If I need project 1 to access aclass from Project 2, I can check the dependency check box in the project properties. Is there any business requirement that makes you think having all of these in a single project will help ?
    Frank
    Btw.: I agree that JDeveloper shouldn't constraint developers from doing what they want and if this is a limitation the feel free to file a bug

  • Not able to deploy axis2 web service on oc4j 10g server

    Not able to deploy axis2 web service on oc4j 10g server, getting internal server every time I click on services link....
    Edited by: 974237 on Nov 30, 2012 4:17 AM

    Not able to deploy axis2 web service on oc4j 10g server, getting internal server every time I click on services link....
    Edited by: 974237 on Nov 30, 2012 4:17 AM

  • Erro while recieving a signed response from a web service

    i'm not sure whether this is the right forum to post this topic, but anyways i'm going fwd as i was not able to find a rite one, if any body knows, plz redirect me to that, anyways below is my issue.
    i'm using axis as a web service engine on my client side and getting a signed response from a web service.
    But while recieving the response im gettng the following error.
    Verification failed for URI "#id-13753285"
    org.apache.ws.security.WSSecurityException: The signature verification failed
         at org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:332)
         at org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:79)
         at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:279)
         at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:201)
         at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.java:159)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:190)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at com.sterlingcommerce.www.mesa.GISBindingStub.executeLightweightJDBCAdapterQuery(GISBindingStub.java:210)
         at client.MyClient.makeRequest(MyClient.java:105)
         at client.MyClient.main(MyClient.java:134)
    failed becoz of remote exception: org.apache.ws.security.WSSecurityException: The signature verification failed
    Exception in thread "main" org.apache.ws.security.WSSecurityException: The signature verification failed
         at org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:332)
         at org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:79)
         at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:279)
         at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:201)
         at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.java:159)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:190)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at com.sterlingcommerce.www.mesa.GISBindingStub.executeLightweightJDBCAdapterQuery(GISBindingStub.java:210)
         at client.MyClient.makeRequest(MyClient.java:105)
         at client.MyClient.main(MyClient.java:134)
    below are my hadler configurations and properties file
    <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver" >          
                        <parameter name="action" value="Signature"/>
                        <parameter name="user" value="signverf"/>
                        <parameter name="passwordCallbackClass" value="client.PWCallback"/>
                        <parameter name="passwordType" value="PasswordDigest"/>
                        <parameter name="signaturePropFile" value = "signatureVerifyCrypto.properties"/>
                        <parameter name="signatureKeyIdentifier" value="DirectReference"/>
                   </handler>properties file
    org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
    org.apache.ws.security.crypto.merlin.keystore.type=jks
    org.apache.ws.security.crypto.merlin.keystore.password=password
    org.apache.ws.security.crypto.merlin.keystore.alias=signverf
    org.apache.ws.security.crypto.merlin.alias.password=password
    org.apache.ws.security.crypto.merlin.file=certs/signverf/signverf_pubkeystore
    commands i used to generate keystore:
    keytool -import -alias signverf -file privCert4Sign.cer -keystore signverf_pubkeystore -storepass password
    keytool -list -alias signverf -keystore signverf_pubkeystore
    i tried goggling for this error,in one thread i got this is because of some issue in axis 1.4 which i'm using and if i try using axis 1.2, this will not come,
    for the time i'm not able to download axis 1.2 from any of the apache mirrors :( ,
    if some one can provide me the link,it will be really helpful.
    also if anyone as faced similar issue or can see whats going wrong here, please reply.
    also below is my soap response capture using tcpmon
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:Signature Id="Signature-18290758" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
    <ds:Reference URI="#id-13753285" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:Transforms xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
    </ds:Transforms>
    <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
    <ds:DigestValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">jAaM4xp/2ZOch7iqyyLynojMpV0=</ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    JiOjIFgJ2qMvzJsirbjgV7AeDWfsS0Ak3xzue1nK+LXELM3tZ/h/eFyxCLZfLk+553vJbmnlU423
    8NgjgngYcYa+bB6yTovZJKB66LdQEHLpmTX4WNteLrcVOBfHyZcJCKemF2XyaF4yX03XGAIdNnFV
    1d8wZQcBgakPIrjJGAZtwo94bYBlL/MJedBP819Ecf/N6hEmafFxHD46Xapi+HdcDjQmCqxaol/I
    bQuM3ikJJ2v+46bQNKEWavdG7lIicjUsvH3xpyzZthj26nAHV6nAOEe8tybKhKLga6KDM+3eAJNq
    3s52yZTz68n7z5AijdmhMkc7ivCxELBx5TQYsw==
    </ds:SignatureValue>
    <ds:KeyInfo Id="KeyId-20631690" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <wsse:SecurityTokenReference wsu:Id="STRId-5317380" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsse:KeyIdentifier EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">MIIDLDCCAhSgAwIBAgICBNIwDQYJKoZIhvcNAQEFBQAwTzEWMBQGA1UEAwwNcHJpdkNlcnQ0U2lnbjEMMAoGA1UECgwDYWJzMQswCQYDVQQGEwJVUzEaMBgGCSqGSIb3DQEJARYLeHl6QGFiYy5jb20wHhcNMDcwOTA0MDQzNzMxWhcNMDgwMzAyMDQzNzMxWjBPMRYwFAYDVQQDDA1wcml2Q2VydDRTaWduMQwwCgYDVQQKDANhYnMxCzAJBgNVBAYTAlVTMRowGAYJKoZIhvcNAQkBFgt4eXpAYWJjLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJSG2UR8nMAxctBlR5YSnEVeuHNFMM7t8YQX6J8GRausKPXyDT4pIfPHRaeag62K4cUhBDYBLyUmZqYTZBHpKISgYkYsXqYHoB4gif664rZvpMKw+cTpD/3WzViOeHHWfQM5/XUatLBPXzRUB78PcM9RnCEeznKUEPoWxTfl2qsR0d4CxOVzH9dHn6JCEaQQWzntH61YCw4Qm6Kq78+sLfnv7CBrg/NYewFX9JozZk7UzlmPZWCm7pp2d4UDn1KB7nLnLFxD6aMgjAikWKAU4h15ihJxu6Appc+ggAdAV/jQiaIeAtokfe2Iw1bUh8SOOR8iUa9lK0Jf6C/N9ZTnxCcCAwEAAaMSMBAwDgYDVR0PAQH/BAQDAgTwMA0GCSqGSIb3DQEBBQUAA4IBAQCKfRu1cXkwwnNZ+0brwT4iI1q/Ti/OVMWpP15Ob7bDE5rUjwpNUJXXlqKdOh7pkk1gLTiebQrMkd0ozpbi/Xdmea1xf9diCc4IApg6K9G4KACR2sLeXcKy7d4hakYqMLeaPJwBcd3V6DGiJgfP2S8Ui8rQzDpslTBM1+YaBdUVIv1/VCFO/K5I4lkPkjGDp/qDm4lXn3Mup9HG9INgklA02hPnYHWunVZm/5MZpEn4BYks+B3VqCXSAkRVD9aAuM3Tv4atblHDs3oKTV1awoVQbKkw+Eonnc/+Mex8A5sJ/8eUnQ3UPdT77U0+WcrvwFxoFP2e0J8xHW8N8b2fIr8H</wsse:KeyIdentifier></wsse:SecurityTokenReference>
    </ds:KeyInfo>
    </ds:Signature></wsse:Security></soapenv:Header>
    <soapenv:Body wsu:Id="id-13753285" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <mesa:processData xmlns:mesa="http://www.sterlingcommerce.com/mesa" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ProcessData>
    <service>Test_Web2</service>
    <b2b-protocol>http</b2b-protocol>
    <transport-instance-id>MESAHttpServerAdapter_HttpServerAdapter_node1</transport-instance-id>
    <SyncModeBP>false</SyncModeBP>
    <http-request-uri>/soap-new</http-request-uri>
    <transport-session-id>Fri Aug 31 14:04:57 IST 2007:110</transport-session-id>
    <incomingSOAPTransportMode>http</incomingSOAPTransportMode>
    <VERIFICATION_KEY/>
    <DECRYPTION_KEY/>
    <SECURITY_TOKEN_NAME>ST1</SECURITY_TOKEN_NAME>
    <SIGNING_CERTIFICATE>blrgislin13:10.11.23.37:114bb0fb841:12328</SIGNING_CERTIFICATE>
    <SIGNING_ALGO>http://www.w3.org/2000/09/xmldsig#rsa-sha1</SIGNING_ALGO>
    <SIGNING_KEY_IDENTIFIER_TYPE>3</SIGNING_KEY_IDENTIFIER_TYPE>
    <CANONICALIZATION_ALGO>http://www.w3.org/TR/2001/REC-xml-c14n-20010315</CANONICALIZATION_ALGO>
    <SIGNATURE_ENCRYPTION_ORDER>-1</SIGNATURE_ENCRYPTION_ORDER>
    <SOAP_URI>/soap-new</SOAP_URI>
    <SOAPEnvNSPrefix>soapenv</SOAPEnvNSPrefix>
    <SOAPEnvNSURI>http://schemas.xmlsoap.org/soap/envelope/</SOAPEnvNSURI>
    <messageMode>1</messageMode>
    <query_type>SELECT</query_type>
    <result_name>result</result_name>
    <pool>mysqlPool</pool>
    <row_name>row</row_name>
    <sql>SELECT * FROM MBX_MAILBOX</sql>
    <serviceMode>1</serviceMode>
    <typeName>LightweightJDBCAdapterQuery</typeName>
    <PrimaryDocument SCIObjectID="blrgislin13:10.11.23.37:114bb0fb841:19200"/>
    <ADD_SOAP_ENVELOPING>false</ADD_SOAP_ENVELOPING>
    <INSERT_SECURITY_HEADER>false</INSERT_SECURITY_HEADER>
    </ProcessData>
    </mesa:processData>
    </soapenv:Body>
    </soapenv:Envelope>
    sorry for this long mail, but we are really stuck and need to move forward,
    looking for your help.

    Hi,
    The Service Control Manager will generate an event if a service does not respond within the defined timeout period (the default timeout period is 30000 milliseconds). You could modify the registry to increase the default time-out value for the service control
    manager.
    For more detailed information, please see:
    Event ID 7011: Service Timeout
    http://social.technet.microsoft.com/wiki/contents/articles/13765.event-id-7011-service-timeout.aspx
    The Event 12362 indicates that a destination LUN could not be located or could not be restarted. You could refer to the article below to troubleshoot the issue:
    Event ID 12362 — VSS Shadow Copy Provider Operations
    http://technet.microsoft.com/en-us/library/ee264223(v=ws.10).aspx
    Best Regards,
    Mandy
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • How to disable href/id in the generated response of a web-service

    Hello All,
    Do I have any possibility to disbale href/id on the generated response of a web-service that use RPC-encoded format? My generated soap body looks like this:
    <env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <m:Response xmlns:m="http://www.myTest.com">
    <result xmlns:n1="java:com.myTest" xsi:type="n1:Response">
    <ResultObject xsi:type="n1:ResultObject">
    <firstString href="#ID_6" />
    <integerObject href="#ID_13" />
    <secondString href="#ID_6" />
    </ResultObject>
    <ResultObject xsi:type="n1:ResultObject">
    <firstString href="#ID_6" />
    <integerObject href="#ID_13" />
    <secondString href="#ID_6" />
    </ResultObject>
    <ResultObject xsi:type="n1:ResultObject">
    <firstString href="#ID_6" />
    <integerObject href="#ID_13" />
    <secondString href="#ID_6" />
    </ResultObject>
    </result>
    </m:Response>
    <xsd:int xsi:type="xsd:int" id="ID_13">10</xsd:int>
    <xsd:string xsi:type="xsd:string" id="ID_6">EUR</xsd:string>
    </env:Body>
    Do I have any possibility to instruct the serialization process so that the result to conform with an XML schema and to keep the RPC-Encoded format? In other words to get rid of href/id:s? Href/id:s are used only for objects having the same reference.
    This issue is now even more problematic since JDK 5 when for integers boxing is not necessarily and thus, the compiler translates an Integer assignment using the method:
    public static Integer valueOf(int i)
    which returns cached Integer objects for any integer between -128 and 127.
    Please give some hints (others than using boxing for integers or changing the soap format to document-literal).
    Thanks

    Hello All,
    Do I have any possibility to disbale href/id on the generated response of a web-service that use RPC-encoded format? My generated soap body looks like this:
    <env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <m:Response xmlns:m="http://www.myTest.com">
    <result xmlns:n1="java:com.myTest" xsi:type="n1:Response">
    <ResultObject xsi:type="n1:ResultObject">
    <firstString href="#ID_6" />
    <integerObject href="#ID_13" />
    <secondString href="#ID_6" />
    </ResultObject>
    <ResultObject xsi:type="n1:ResultObject">
    <firstString href="#ID_6" />
    <integerObject href="#ID_13" />
    <secondString href="#ID_6" />
    </ResultObject>
    <ResultObject xsi:type="n1:ResultObject">
    <firstString href="#ID_6" />
    <integerObject href="#ID_13" />
    <secondString href="#ID_6" />
    </ResultObject>
    </result>
    </m:Response>
    <xsd:int xsi:type="xsd:int" id="ID_13">10</xsd:int>
    <xsd:string xsi:type="xsd:string" id="ID_6">EUR</xsd:string>
    </env:Body>
    Do I have any possibility to instruct the serialization process so that the result to conform with an XML schema and to keep the RPC-Encoded format? In other words to get rid of href/id:s? Href/id:s are used only for objects having the same reference.
    This issue is now even more problematic since JDK 5 when for integers boxing is not necessarily and thus, the compiler translates an Integer assignment using the method:
    public static Integer valueOf(int i)
    which returns cached Integer objects for any integer between -128 and 127.
    Please give some hints (others than using boxing for integers or changing the soap format to document-literal).
    Thanks

  • Can Jdeveloper 10.1.3 deploy web service on OC4J 10.1.2?

    Hi all,
    Can I use jdeveloper 10.1.3 develop, and deploy web service on OC4J 10.1.2? My jdk version is 1.4.2. Thanks in advance.

    We don't have a direct connection from JDev 10.1.3 to OC4J 10.1.2 - we do have a connection to OAS 10.1.2.
    If you want to deploy to a stand alone OC4J 10.1.2 then just create the WAR file in JDeveloper - and then use the OC4J admin interface to deploy the WAR.

  • Getting response from a Web Service

    Hello, everyone,
    I want MII to show the response from a Web Service it is calling through the Web Service action.
    But when this Web Service return an error (as a Soap Fault response), MII simply does not show the response. It show it truncated, such as
    "<?xml version="1.0" encoding="UTF-8"?>
    <ReceiveMessageFromMESResponse xmlns="http://tempuri.org/"/>"
    It prevents me from showing the error message to the user.
    What can I do to have MII show me the complete response received from the called Web Servce?
    Thanks in advance!

    Hi, SB!
    Yes, this would solve the problem, but it would require changes on already-implemented, working external Web Services, which should be avoided by all means.
    SOAP Fault responses are part of the SOAP protocol. I expected MII to understand it.
    Thanks a lot for your answer!

  • Can we deploy a java web service on OC4J within EBS 12.1.3

    Hi,
    I needed some instructions if this is possible to deploy a java web service on OC4J in EBS 12.1.3.
    We don't have SOA gateway integration. The web service is simple SOAP web service.
    Is there any document that can be referred for this ?
    Thanks

    I would try a number of things:
    1) Try generating the web service artifacts by using the web service assembler tool that comes with oc4j 10.1.3 dp3. You can use either the command line or ant assembly tasks that are available with the download. There are some fairly detailed examples of using the ant tasks for web service generation at http://www.oracle.com/technology/tech/java/oc4j/1013/howtos/index.html (under the "web services" heading).
    2) Try deploying the generated ear file using the admin console. I believe that should work.
    3) If for some reason that doesn't work you can try to use the deployment ant tasks (also detailed in the how to examples).
    I believe the reason you did not deploy successfully is that even though the core service implementation class, SEI, and JAX-RPC descriptor are portable the artifacts generated in order to deploy the service to a particular application server are unique. JWSDP is tailored to the sun platform.
    Hope that helps.
    -- Jon

  • Web service handler could not called in client web service

    Hi All,
    I have two web service ServiceA & ServiceB and both implemented in weblogic.
    The ServiceA is SSL enable and protocol is https which is not published by me.
    The ServieB is my web service(wls8.1) and act as client for ServiceA.
    My problem is when i hit my service, its not able set the handler when it call ServiceA but it is invoking the service and giving application exception like authentication error.
    My service file:
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.handler.HandlerInfo;
    import javax.xml.rpc.handler.HandlerRegistry;
    import javax.xml.rpc.handler.soap.SOAPMessageContext;
    import weblogic.webservice.client.SSLAdapterFactory;
    import weblogic.webservice.client.WLSSLAdapter;
    public class HelloService {
    String wsdl = "https://188.122.123.23/RemoetService?WSDL";
    static {
    SSLAdapterFactory factory = SSLAdapterFactory.getDefaultFactory();
    WLSSLAdapter adapter = (WLSSLAdapter) factory.getSSLAdapter();
    adapter.setTrustedCertificatesFile("D:\\lib\\certs
    cacerts");
    factory.setDefaultAdapter(adapter);
    System.setProperty("weblogic.xml.encryption.verbose","true");
    System.setProperty("weblogic.xml.signature.verbose","true");
    System.setProperty("weblogic.webservice.verbose","true");
    public String sayHello(String user) {
    RemoteService_Impl service = new RemoteService_Impl(wsdl);
    RemotePortType port = service.getRemoteServicePort1();
    String namespace = service.getServiceName()
    .getNamespaceURI();
    QName portName = new QName(namespace,
    "RemoteServicePortType");
    HandlerRegistry reg = service.getHandlerRegistry();
    List handlerList = new ArrayList();
    Map map = new HashMap();
    map.put("Username", "user1");
    map.put("Password", "pwd1");
    HandlerInfo info = new HandlerInfo();
    info.setHandlerClass(WSClientHandler .class);
    info.setHandlerConfig(map);
    handlerList.add(info);
    reg.setHandlerChain(portName,(List)handlerList);
    RemoteServiceResponse = port.callMe(name);
    My Handler file:
    package com.test;
    import java.util.Map;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.handler.Handler;
    import javax.xml.rpc.handler.HandlerInfo;
    import javax.xml.rpc.handler.MessageContext;
    import javax.xml.rpc.handler.soap.SOAPMessageContext;
    import javax.xml.soap.Name;
    import javax.xml.soap.SOAPElement;
    import javax.xml.soap.SOAPEnvelope;
    import javax.xml.soap.SOAPException;
    import javax.xml.soap.SOAPHeader;
    import javax.xml.soap.SOAPHeaderElement;
    public class WSClientHandler implements Handler {
    private HandlerInfo handlerInfo;
    public WSClientAuthenticateHandler(){}
    public void init(HandlerInfo hi) {
    System.out.println("Handler init");
    handlerInfo = hi;
    public void destroy() {
    System.out.println("Handler destroy method called");
    handlerInfo = null;
    public QName[] getHeaders() {
    System.out.println("Handler Header method called");
    try {
    Map map = handlerInfo.getHandlerConfig();
    QName[] headers = handlerInfo.getHeaders();
    System.out.println(" Config :"+map);
    for(int i=0;i<headers.length;i++) {
    System.out.println(headers.getLocalPart()+" "+
    headers.toString()+" "+headers.getNamespaceURI());
    }catch(Exception e) {
    e.printStackTrace();
    return handlerInfo.getHeaders();
    public boolean handleRequest(MessageContext mc) {
    SOAPMessageContext smc = (SOAPMessageContext) mc;
    System.out.println("Calling handler class.....................");
    try {
    SOAPEnvelope se = smc.getMessage().getSOAPPart().getEnvelope();
    System.out.println("Calling handler class.....................");
    SOAPHeader soapHeader = se.getHeader();
    Name headerName = se.createName("Security","wsse","http://schemas.xmlsoap.org/ws/2002/07/secext");
    SOAPHeaderElement headerElement = soapHeader.addHeaderElement(headerName);
    SOAPElement element = headerElement.addChildElement(se.createName("UsernameToken", "wsse", "http://schemas.xmlsoap.org/ws/2002/07/secext"));
    element.addChildElement(se.createName("Username", "wsse","http://schemas.xmlsoap.org/ws/2002/07/secext")).addTextNode("testuser");
    element.addChildElement(se.createName("Password", "wsse","http://schemas.xmlsoap.org/ws/2002/07/secext")).addTextNode("testpwd");
    System.out.println("Calling handler class.....................");
    System.out.println("** Request: \n "se.toString()"\n");
    }catch(SOAPException e) {
    e.printStackTrace();
    return true;
    /** * Specifies that the SOAP response message be logged to a
    * log file before the
    * * message is sent back to the client application
    * that invoked the Web service.
    public boolean handleResponse(MessageContext mc) {
    System.out.println("Handler Response method called");
    SOAPMessageContext messageContext = (SOAPMessageContext) mc;
    System.out.println("** Response: \n"messageContext.getMessage().toString()"\n");
    return true;
    /** * Specifies that a message be logged to the log file if a SOAP fault is
    * * thrown by the Handler instance.
    public boolean handleFault(MessageContext mc) {
    SOAPMessageContext messageContext = (SOAPMessageContext) mc;
    System.out.println("** Fault: \n"messageContext.getMessage().toString()"\n");
    return true;
    Please need help here.
    Thanks in Advance,
    pps

    I have tested static client calling using handler simple above service and found the issues.
    QName portName = new QName(namespace,
    "*RemoteServicePortType*");
    The above line code has created the issues,becuase in wsdl file ( given similar wsdl file).
    <?xml version="1.0"; encoding="UTF-8"?>
    <definitions name="HelloService"
    targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <message name="SayHelloRequest">
    <part name="firstName" type="xsd:string"/>
    </message>
    <message name="SayHelloResponse">
    <part name="greeting" type="xsd:string"/>
    </message>
    *<portType name="RemoteServicePortType">*
    <operation name="sayHello">
    <input message="tns:SayHelloRequest"/>
    <output message="tns:SayHelloResponse"/>
    </operation>
    </portType>
    <binding name="Hello_Binding" type="tns:*RemoteServicePortType*">
    <soap:binding style="rpc"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="sayHello">
    <soap:operation soapAction="sayHello"/>
    <input>
    <soap:body
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:examples:helloservice"
    use="encoded"/>
    </input>
    <output>
    <soap:body
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:examples:helloservice"
    use="encoded"/>
    </output>
    </operation>
    </binding>
    <service name="Hello_Service">
    <port binding="tns:Hello_Binding" name="*RemoteServicePortType1*">
    <soap:address
    location="http://host1:8080/soap/servlet/rpcrouter"/>
    </port>
    <port binding="tns:Hello_Binding" name="*RemoteServicePortType2*">
    <soap:address
    location="http://host2:8080/soap/servlet/rpcrouter"/>
    </port>
    <port binding="tns:Hello_Binding" name="*RemoteServicePortType3*">
    <soap:address
    location="http://host3:8080/soap/servlet/rpcrouter"/>
    </port>
    <port binding="tns:Hello_Binding" name="*RemoteServicePortType4*">
    <soap:address
    location="http://host4:8080/soap/servlet/rpcrouter"/>
    </port>
    </service>
    </definitions>
    From the above WSDL, I have four port name (port binding="tns:Hello_Binding" name="*RemoteServicePortType1*) which is not matching with PortType (portType name="*RemoteServicePortType*")
    even i have iterated from getPorts() method and used to invoke the service.But handler was not calling when i invoke.
    Please guide me here how i specify correct portname which can call Handler class also.
    Thanks in advance,
    pps

  • How to Create web service using JMS with PUB/SUB pattern.

    Hi All,
    I need to expose web service using JMS with PUB/SUB pattern.
    if you have any source for this.
    I tried to use @WLJmsTransport annotation but unable to get it done.
    I have configured all JMS server, topic, and connection factory.
    Thanks.

    Hi, I am having web sample web service program which is simple one.
    But I need to Modify this to JMS enable.
    Can any one help me?
    Thanks.

  • Is it possible to connect to a web Service(JAX-RPC) with a middlet?

    Is it possible to connect to a web Service(JAX-RPC) with a middlet?

    Hi
    Check this article: http://developers.sun.com/sw/building/codesamples/j2me-client/index.html
    Mihai

  • Unknown site error while deploying web services using OC4J

    Hi,
    I have been testing the deploying webservices examples using demo.zip on OTN site.
    I have trouble in binding the web application name to stand alone OC4J.
    I am running stand alone OC4J server fine. I verified the website http://localhost:8888, which is running fine.
    If I issue the command
    java -jar admin.jar ormi://localhost:23791 admin password1 -bindwebapp demo_ejb_web_service HelloService_web http://localhost:8888/ sejb_webservices
    I get error
    oracle.oc4j.admin.internal.DeployerException: Unknown site: http://localhost:8888/
    What is the http-web-site address that needs to be given for binding web app, if I am running local standalone OC4J with no default port changes?
    Thanks,
    Mohan

    Eric,
    Thanks for the response. But, still I am not able to bind web-application to OC4J.
    Here is how my server.xml has defined the web-site tag:
    <web-site default="true" path="./http-web-site.xml" />
    My http-web-site.xml has following web-site tag:
    <web-site port="8888" display-name="OC4J 10g (10.0.2) HTTP Web Site">
    <default-web-app application="default" name="defaultWebApp"/>
    <web-app application="default" name="dms0" root="/dms0" access-log="false" />
    <web-app application="default" name="dms0" root="/dmsoc4j" access-log="false" />
    <web-app application="default" name="admin_web" root="/adminoc4j"/>
    <access-log path="../log/http-web-access.log"/>
    </web-site>
    I used the following command to bind the example web service:
    java -jar c:\XtendTools\oc4j\j2ee\home\admin.jar ormi://localhost admin password1 -bindWebApp demo_ejb_service HelloService_web default-web-site /sejb_services
    I get "oracle.oc4j.admin.internal.DeployerException: Unknown site: default-web-site" error.
    I tried to use following names as http-web-site, but nothing works.
    "http://localhost:8888"
    "dms0"
    "adminoc4j"
    I downloaded stand alone OC4J 10.1.2 from OTN and tried these samples.
    Your help will be appreciated.
    Thanks,
    Mohan

  • Bad Response error from Amazon service .... how to set access id.......

    Hi,
    I need to some help on creting WebService Proxies for Amazon WebService.
    I just created a proxy for Amazon web service.When i run it... I am getting Bad Response Error
    Details Below
    Code Snippet
    public class AmazonSearchPortClient {
    private String awsAccessKeyId = null;
    // private String associateTag = null;
    private demo2.proxy.AmazonSearchPort _port;
    public AmazonSearchPortClient(String awsAccessKeyId) throws Exception {
    ServiceFactory factory = ServiceFactory.newInstance();
    this.awsAccessKeyId=awsAccessKeyId;
    _port = ((demo2.proxy.AmazonSearchService)factory.loadService(demo2.proxy.AmazonSearchService.class)).getAmazonSearchPort();
    * @param args
    public static void main(String[] args) {
    try {
    demo2.proxy.AmazonSearchPortClient myPort = new demo2.proxy.AmazonSearchPortClient("MYKEY");
    System.out.println("calling " + myPort.getEndpoint());
    KeywordRequest kwr = new KeywordRequest();
    kwr.setType("Java");
    //kwr.setA
    ProductInfo pinfo = myPort.keywordSearchRequest(kwr);
    pinfo.getDetails();
    /*KeywordRequest("Hello","1","books","D3HW0PG66IPLAM",
    "heavy","D3HW0PG66IPLAM","");*/
    // Add your own code here
    } catch (Exception ex) {
    ex.printStackTrace();
    * delegate all operations to the underlying implementation class.
    public ProductInfo keywordSearchRequest(KeywordRequest keywordSearchRequest) throws java.rmi.RemoteException {
    return _port.keywordSearchRequest(keywordSearchRequest);
    When i run the code.. i got the below exception....
    java.rmi.RemoteException: ; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 410 Gone
         at amazonwebclientprj.proxy.runtime.AmazonSearchBinding_Stub.keywordSearchRequest(AmazonSearchBinding_Stub.java:560)
         at amazonwebclientprj.proxy.AmazonSearchPortClient.keywordSearchRequest(AmazonSearchPortClient.java:48)
         at amazonwebclientprj.proxy.AmazonSearchPortClient.main(AmazonSearchPortClient.java:35)
    Caused by: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 410 Gone
         at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:172)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invoke(HttpClientTransport.java:148)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:175)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
         at amazonwebclientprj.proxy.runtime.AmazonSearchBinding_Stub.keywordSearchRequest(AmazonSearchBinding_Stub.java:543)

    You're getting HTTP 410:
    The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. Clients with link editing capabilities SHOULD delete references to the Request-URI after user approval. If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead. This response is cacheable unless indicated otherwise.
    The 410 response is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that resource be removed. Such an event is common for limited-time, promotional services and for resources belonging to individuals no longer working at the server's site. It is not necessary to mark all permanently unavailable resources as "gone" or to keep the mark for any length of time -- that is left to the discretion of the server owner.
    Looks like the URL in your proxy is not right.
    John

  • How to create secure EJB web service in Oc4J using JDeveloper?

    We are going to develop a EJB web service running in OC4J using JDeveloper 10.1.3.3.
    By using the JDeveloper feature, we can simply create the web service by using the "Web Service Endpoint Interface" in the session bean.
    However, unlike the web service created from Java class, I can't find any option to change the security setting of this web service. We tried adding annotation like @DenyAll for testing, but there has no effect and related method can still be called without WS-Security header.
    Now, we can only change the security setting via the web console after deployment (select the web service, then enable security in administration page, and then edit security configuration to change the inbound policies for authentication). It works in our local machine, but it may not work in the production environment as we cannot touch the em console.
    May I know if there has any way to include the security setting inside the project?
    Thanks in advance.

    If I am not wrong, you might be probably talking about this :
    http://docs.oracle.com/cd/B40099_02/books/EAI2/EAI2_WebServices33.html#wp179056
    In order to implement the SOAP header, you would have to :
    (1) Define SOAP header in the wsdl of the service.
    (2) Add a new soap binding in the wsdl, which contains soap header and soap body.
    I think, this should get you going..

Maybe you are looking for

  • How to run 64-bit native code with Java Web Start

    This question has probably been asked many times, but I couldn't find anything in my searches. How can I get Java Web Start on a Solaris client (Solaris 10 in this case, with JRE 1.5) to run a java application that includes a 64-bit native code libra

  • Cs4 opens cs3 files with errors

    Here's a big heads up for anyone considering upgrading to cs4 - don't!  I've been working on a cs3 project and decided to upgrade to cs4 for the extras in the 3D toolset.  All the Adobe propoganda implies this can be achieved no problem, as did soemo

  • Can anyone suggest a course of action for this:

    Process:         rapportd [161] Path:            /Library/Rapport/bin/rapportd.app/Contents/MacOS/rapportd Identifier:      rapportd Version:         ??? (???) Code Type:       X86 (Native) Parent Process:  launchd [136] Date/Time:       2013-09-24 0

  • Accordion Menu to display image

    Hey guys, I am in desperate need of some knowledgeable direction. Many thanks  up front for any help!!!!! Situation: I am designing my company's resume page: 3 or 4 names within 6 different departments in an accordion menu. Currently: I have a two le

  • I have a mac g5 with version 10.4.11 and wanted to know how to upgrade to version 10.5.8?

    I have a mac g5 with version 10.4.11 and wanted to know how to upgrade to version 10.5.8?