Java.security.PrivilegedActionException in a web service proxy

Hello.
I have developed a simple web service with an oracle tutorial : http://www.oracle.com/technology/obe/obe1013jdev/ws/wsandascontrol.htm
I have created the proxy to test it and i get the next error:
ADVERTENCIA: impossible to connect URL: http://localhost:8888/URJCWebServices-AudioStreamSerie1-context-root/AudioStreamSerie1SoapHttpPort debido a java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
java.rmi.RemoteException: ; nested exception is:
     HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
     at audiostreamserie1proxy.runtime.AudioStreamSerie1SoapHttp_Stub.startTransmission(AudioStreamSerie1SoapHttp_Stub.java:95)
     at audiostream.AudioStreamSerie1SoapHttpPortClient.startTransmission(AudioStreamSerie1SoapHttpPortClient.java:41)
     at audiostream.AudioStreamSerie1SoapHttpPortClient.main(AudioStreamSerie1SoapHttpPortClient.java:29)
Caused by: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
     at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:174)
     at oracle.j2ee.ws.client.http.HttpClientTransport.invoke(HttpClientTransport.java:150)
     at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:176)
     at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:113)
     at audiostreamserie1proxy.runtime.AudioStreamSerie1SoapHttp_Stub.startTransmission(AudioStreamSerie1SoapHttp_Stub.java:79)
     ... 2 more
What could be the problem? i have followed the steps of the tutorial.
Thank you.
Edited by: [email protected] on 17-abr-2009 1:57

can't anybody help me?

Similar Messages

  • Java.security.PrivilegedActionException while invoking web service on OC4J

    Hi,
    I have a developed web service in Jdeveloper which is hosted on OC4J app server. I am able to invoke it properly and get results using the web service end point in browser window.
    Now I created a java proxy for this WS in Jdeveloper and tried invoking it inside another web service. I get the following error while the 1st WS is invoked:
    2010-03-09 17:15:04.607 WARNING Unable to connect to URL: <internal web service URL> due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
    10/03/09 17:15:04 java.rmi.RemoteException: ; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
    10/03/09 17:15:04      at autoauthorise.runtime.VehicleTypeSpecsWSSoapHttp_Stub.getVehicleTypeSpecs(VehicleTypeSpecsWSSoapHttp_Stub.java:91)
    10/03/09 17:15:04      at com.bt.vehtype.ws.VehicleTypeSpecsWSSoapHttpPortClient.getVehicleTypeSpecs(VehicleTypeSpecsWSSoapHttpPortClient.java:40)
    10/03/09 17:15:04      at com.bt.fleet.willow.ws.AutoAuthorise.autoAuthorise(AutoAuthorise.java:20)
    10/03/09 17:15:04      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    10/03/09 17:15:04      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    10/03/09 17:15:04      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    10/03/09 17:15:04      at java.lang.reflect.Method.invoke(Method.java:585)
    10/03/09 17:15:04      at oracle.j2ee.ws.server.ImplInvocationHandler.invoke(ImplInvocationHandler.java:126)
    10/03/09 17:15:04      at $Proxy0.autoAuthorise(Unknown Source)
    10/03/09 17:15:04      at com.bt.fleet.willow.ws.runtime.AutoAthoriseWSSoapHttp_Tie.invoke_autoAuthorise(AutoAthoriseWSSoapHttp_Tie.java:62)
    10/03/09 17:15:04      at com.bt.fleet.willow.ws.runtime.AutoAthoriseWSSoapHttp_Tie.processingHook(AutoAthoriseWSSoapHttp_Tie.java:161)
    10/03/09 17:15:04      at oracle.j2ee.ws.server.StreamingHandler.handle(StreamingHandler.java:287)
    10/03/09 17:15:04      at oracle.j2ee.ws.server.JAXRPCProcessor.doEndpointProcessing(JAXRPCProcessor.java:356)
    10/03/09 17:15:04      at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:283)
    10/03/09 17:15:04      at oracle.j2ee.ws.server.JAXRPCProcessor.doRequestProcessing(JAXRPCProcessor.java:272)
    10/03/09 17:15:04      at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:94)
    10/03/09 17:15:04      at oracle.j2ee.ws.server.JAXRPCProcessor.doService(JAXRPCProcessor.java:128)
    10/03/09 17:15:04      at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:170)
    10/03/09 17:15:04      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    Please help, I cant see any problem.
    Edited by: Ankit_Screen on Mar 11, 2010 6:27 AM

    can't anybody help me?

  • Can I  load Java classes generated by the Web Service Proxy Wizard?

    Hi gurus,
    I am very new to Oracle JDeveloper and I have mainly used it to create and debug PL/SQL procedures. My client app is written in PowerBuilder 11 (Sybase), which claims that it will create a datawindow from a web service. Well, it turned out that PB can only handle simple stuff (it works with a very simple wsdl from the internet) but can't handle more complex ones that we need to use. So I am thinking about using JDev to create the web service proxy for the web service and then load it into Oracle as a Java stored procedure so that PowerBuilder can call the procedure. JDev succsfully generated the proxy and a few Java classes. My question is, do I need to load all the classes into the database? If yes, will the reference to the package work? For example, in a JDev generated class (the soap client class), it has package MyJdev.proxy; at the top. Or, will it work if I load all the classes included in package /MyJdev/proxy into the database?
    Thank you very much for any help.
    Ben

    Thanks again, Bruce.
    What I meant by SOAPElement is that one genereated Java class has this and this class also has the setter for this like this,
    public void setSelection(javax.xml.soap.SOAPElement selection) {
    this.selection = selection;
    And here is the whole class,
    public class CaseSearchByPartyRequest implements java.io.Serializable {
    protected java.lang.String schemaVersion;
    protected java.util.Calendar messageProducedDateTime;
    protected javax.xml.soap.SOAPElement selection;
    protected Restriction restriction;
    public CaseSearchByPartyRequest() {
    public java.lang.String getSchemaVersion() {
    return schemaVersion;
    public void setSchemaVersion(java.lang.String schemaVersion) {
    this.schemaVersion = schemaVersion;
    public java.util.Calendar getMessageProducedDateTime() {
    return messageProducedDateTime;
    public void setMessageProducedDateTime(java.util.Calendar messageProducedDateTime) {
    this.messageProducedDateTime = messageProducedDateTime;
    public javax.xml.soap.SOAPElement getSelection() {
    return selection;
    public void setSelection(javax.xml.soap.SOAPElement selection) {
    this.selection = selection;
    public Restriction getRestriction() {
    return restriction;
    public void setRestriction(Restriction restriction) {
    this.restriction = restriction;
    this.selection is the request that I think I need. And here is the static main method of the soap client class genereated.
    public static void main(String[] args) {
    try {
    MyJdev.proxy.SoapClient myPort = new MyJdev.proxy.SoapClient();
    System.out.println("calling " + myPort.getEndpoint());
    // Add your own code here
    } catch (Exception ex) {
    ex.printStackTrace();
    So, if I need to send the request to the web service, do I need to create the request, correct? I have done it through AQ and Messaging Gateway and works fine by manually creating the request xml in PL/SQL, but now I need to get it to work sychronously from the UI. I believe that I need the request (SOAPElement) because that is the only way that I can supply the parameters. I have not see any setters for the parameters other than some setters for user name and password.
    Did I get something wrong here? If I don't supply the "selection", will JDev do it?
    Thanks.
    Ben

  • Java.security.AccessControlException when calling web service from applet

    I have an applet that calls a webservce (Xmethods' delayed stock quote service). When I run the applet in appletviewer, I get the following:
    [SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: java.security.AccessControlException: access denied (java.net.SocketPermission 66.28.98.121:9090 connect,resolve); targetException=java.lang.IllegalArgumentException:
    Error opening socket: java.security.AccessControlException:
    access denied
    etc.....
    My code works fine as an application, but not as an applet. (This was after I eventually had to extract the necessary SOAP .jar files into the same directory as my applet, but that's another topic...or maybe not?)
    Help!
    Regards,
    John Kirksey                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    The default security settings does not give an applet to connect to any other server apart from the one from which it was downloaded. This is your problem. To mitigate that you have to change the security setting of the applet conatiner i.e the JVM in the browser.
    Ironluca

  • Generated Web Service Client giving java.security.PrivilegedActionException

    I generated a Web Service Proxy using jdev but when I run the client I get a hand shake error. I dont get this error in eclipse but happens when I try to run it in JDev. Is there some certificate setting or KeyStore setting I need to do to make this error go away:
    Do I need to add the KeyStore or Certificate from the site I am accessing to oracle application server or jdeveloper... whats the procedure for that..
    WARNING: Unable to connect to URL: https://mytest.test.com/WebService/MyTest_1.0/soap.soap due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
    java.rmi.RemoteException: ; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
         at project7.proxy.runtime.MyTestSoapBinding_Stub.echoOfficeLocation(MyTestSoapBinding_Stub.java:11977)
         at project7.proxy.MyTestClient.echoOfficeLocation(MyTestClient.java:1276)
         at project7.proxy.MyTestClient.main(MyTestClient.java:38)
    Caused by: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
         at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:174)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invoke(HttpClientTransport.java:150)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:176)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:113)
         at project7.proxy.runtime.MyTestSoapBinding_Stub.echoOfficeLocation(MyTestSoapBinding_Stub.java:11961)
         ... 2 more
    Process exited with exit code 0.

    hi Kimberly
    It looks like you're getting some feedback in this forum thread:
    "how do you add an existing certificate or keystore to jdev to access WS"
    how do you add an existing certificate or keystore to jdev to access WS
    regards
    Jan Vervecken

  • Web service proxy and security constraint

    I've placed a security constraint on my web service and set the login-config auth-method as BASIC. When I run the Workshop test and the (Test View) browser begins to appear I am prompted for my username and password since it is protected --- great, it's working.
    Here's my problem, when I create the Java Proxy and try to access the web service using the proxy in another application I am never prompted for my username and password and thus the request fails. Anyway to fix this so I can be promted using the proxy??
    thanks in advance,
    Steve Touw

    Hi Shay Shmeltzer,
    Thanks for the reply.
    I tried in HTTP Analyzer in JDeveloper and there also it is not working. My concern is :-
    There are many other web services deployed on the same SOA server in same partition and they are working fine in HTTP analyzer and I am able to create and use the web service proxy as well. So as per my understanding there is nothing like network issues between SOA server and jDeveloper.
    1 more thing When I am creating the proxy for this web service and requesting from the proxy's main method SOA is getting proper input (which I am providing in the main method) and SOA is returning proper output I have checked the SOA instance in em. So there is no problem in SOA side. The problem is jDeveloper is not able to get back that response which SOA is returning.
    Please Help.
    -- NavinK

  • Sample web service proxy for accessing secured webservice

    Hi,
    Am trying to write a web service proxy to access a secured web service.
    How do we call the web service and pass the authentication information. I generated a service proxy in jdevelopr. in the main class i set the user name and password but was still unsuccessful.
    How do we set the "UsernameToken".
    Please see the sample header that is expected.
    <soap:Header>
    <wsa:Action>http://myactaction</wsa:Action>
    <wsa:MessageID>uuid:asdfadrewrwqr</wsa:MessageID>
    <wsa:ReplyTo>
    <wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address>
    </wsa:ReplyTo>
    <wsa:To>http://myact</wsa:To>
    <wsse:Security soap:mustUnderstand="1">
    <wsse:UsernameToken wsu:Id="SecurityToken-321321">
    <wsse:Username>mordfsafsdae</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">werwqrewrwe</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soap:Header>
    Any Sample service proxy would be a great help.
    Thanks
    -Kiran
    Edited by: user10473085 on Oct 25, 2008 1:05 PM

    Hi Kiran,
    Here are all steps You need to do
    "Securing Web Services using JDeveloper and WS-Security" http://www.oracle.com/technology/products/jdev/101/howtos/securews/index.html
    Set username and password:
    (...)myPort= new ServicePortTypeClient(); //<- Your webservice port class
    // security
    myPort.setUsername("exampleuser");
    myPort.setPassword("examplepassword");
    You don't need to write more code in java.
    I hope it helps.
    Kind regards
    Hubert M.
    Other documents:
    "Oracle® Application Server Web Services Security Guide" http://download.oracle.com/docs/cd/B31017_01/web.1013/b28976/toc.htm

  • Calling Web Service Proxy with Custom java Object as parameter

    I created a web service proxy from WSDL URL using JDeveloper 11g(.5 version)
    I need to call a webservice method which takes custom Java Object( Ex: ABC.java) as Input parameter. It creates the XSD java (ABC.java) file for that.
    @XmlElementRef(name = "abc", namespace = "http://impl.service.ns.test", type = JAXBElement.class)
    protected JAXBElement<ABC> abc;
    ABC.java has a property of type java.util.Set of a custom Java Object (Set<XYZ.class>)
    It doesn't create xsd file for XYZ.java.
    @XmlElementRef(name = "XYZ", namespace = "http://model.ns.test/xsd", type = JAXBElement.class)
    protected JAXBElement<Set> xyz;
    Please help me.

    The passing of Java objects in and out of a web service is NOT supported. variables must be xml documents defined by a XML schema. In my opinion, missing Java object and WSDL is not a good idea. -Edwin

  • Java stored proc from proxy Java classes generated from a web service?

    Hi gurus,
    I have searched "Java Stored Procedure" on this forum but could not find what I am looking for, so I have to post again.
    I need to use a web service and my client app is written in PowerBuilder 11 (Sybase), which claims that it will create a datawindow from a web service. Well, it turned out that PB can only handle simple stuff (it works with a very simple wsdl from the internet) but can't handle more complex ones that we need to use. So I am thinking about using Oracle JDeveloper(JDev) to create the web service proxy for the web service and then load it into Oracle as a Java stored procedure so that PowerBuilder can call the procedure. JDev succsfully generated the proxy and a few Java classes. My question is, do I need to load all the classes into the database? If yes, will the reference to the package work? For example, in a JDev generated class (the soap client class), it has package MyJdev.proxy; at the top. Or, will it work if I load all the classes included in package /MyJdev/proxy into the database?
    Thank you very much for any help.
    Ben

    For the java stored proc called from pl/sql, the example above that uses dynamic sql should word :
    CREATE OR REPLACE PACKAGE MyPackage AS
    TYPE Ref_Cursor_t IS REF CURSOR;
    FUNCTION get_good_ids RETURN VARCHAR2 ;
    FUNCTION get_plsql_table_A RETURN Ref_Cursor_t;
    END MyPackage;
    CREATE OR REPLACE PACKAGE BODY MyPackage AS
    FUNCTION get_good_ids RETURN VARCHAR2
    AS LANGUAGE JAVA
    NAME 'MyServer.getGoodIds() return java.lang.String';
    FUNCTION get_plsql_table_A RETURN Ref_Cursor_t
    IS table_cursor Ref_Cursor_t;
    good_ids VARCHAR2(100);
    BEGIN
    good_ids := get_good_ids();
    OPEN table_cursor FOR 'SELECT id, name FROM TableA WHERE id IN ( ' &#0124; &#0124; good_ids &#0124; &#0124; ')';
    RETURN table_cursor;
    END;
    END MyPackage;
    public class MyServer{
    public static String getGoodIds() throws SQLException {
    return "1, 3, 6 ";
    null

  • Web service proxy on security issue

    Using jdeveloper 11g R1(11.1.1.2.0)+fusion middleware em :
    1.I protected a web service with wss policy of wss_user_name_token_service_policy then deployed to in independent WLS 10.3.2
    2.Created a web service proxy with wss policy of wss_user_name_token_client_policy with csf-key being 'demo' in a ADF web project,the proxy can be invoked by a JSF page.Then deployed this client web project in same WLS.
    3.Access the JSF page then get error:racle.wsm.common.sdk.WSMException: WSM-00015 : The user name is missing. I created the key of 'demo' with correct user name and password on EM under map of oralce.wsm.security, still throw such error.
    However, using the web service data control can works right:
    4.Created a web service data control with wss policy of wss_user_name_token_client_policy with csf-key 'being' demo2 and a wrong user name and password in the ADF web project. Then created another JSF page using the web service data control.
    5.Deployed the web project in WLS.
    6.Created the key of 'demo2' with correct user name and password in map of oracle.wsm.security on EM
    6.Access the JSF page that invokes the web service data control.
    It worked right. This is what I expected that user name and password of service client should not be specified in design time but after deployment. The client app will send correct SOAP request with auth head after creating its required key on EM.
    The question is why web service proxy can not work right even create its key on EM after deployment to WLS? Seems the policy in client does not take any effective when sending request.

    This depends on the webservice types:JAX-WS or RPC-WS.
    Also the jdeveoper need enhancement

  • Problem while creating web service proxy in Jdeveloper 10.1.3

    I am using Jdeveloper 10.1.3 to create a web service proxy so that I can track my request/response in HTTP Analyzer.
    I am following the steps as mentioned in the follwoing uRL:
    http://www.oracle.com/technology/obe/obe1013jdev/ws/wsandascontrol.htm
    But I get the following warning while creating the web servcice proxy:
    Generating proxy
    WARNING: value type package prefix is ignored for the types defined in the schema that has same target namespace as the target namespace of wsdl: <my web service namepsace>
    Proxy generation finished
    After adding my code in the main methoad of proxy, I get the following error while compiling:
    WARNING: Unable to connect to URL: <my web service proxy URL> due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
    java.rmi.RemoteException: ; nested exception is:
    HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
    Please help as how to solve this.
    Edited by: user11258855 on 02-Jul-2009 03:38

    I am using Jdeveloper 10.1.3 to create a web service proxy so that I can track my request/response in HTTP Analyzer.
    I am following the steps as mentioned in the follwoing uRL:
    http://www.oracle.com/technology/obe/obe1013jdev/ws/wsandascontrol.htm
    But I get the following warning while creating the web servcice proxy:
    Generating proxy
    WARNING: value type package prefix is ignored for the types defined in the schema that has same target namespace as the target namespace of wsdl: <my web service namepsace>
    Proxy generation finished
    After adding my code in the main methoad of proxy, I get the following error while compiling:
    WARNING: Unable to connect to URL: <my web service proxy URL> due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
    java.rmi.RemoteException: ; nested exception is:
    HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused: connect
    Please help as how to solve this.
    Edited by: user11258855 on 02-Jul-2009 03:38

  • Web service proxy client with client cert cause SSLSessionNotFoundErr

    Hi,
    I tried to run web service proxy client with certification from JDeveloper 10.1.3.0.4 to call PKI enabled web service got folllowing error:
    WARNING: Unable to connect to URL: due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
    Web service deployed on OAS

    Hi,
    i am trying to invoke from JDeveloper (10.1.3) a CRM On Demand's Web Service and I hava the same problem:
    ADVERTENCIA: Unable to connect to URL: https://secure-ausomxgfa.crmondemand.com/Services/Integration due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
    java.rmi.RemoteException: ; nested exception is:
         HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
         at testerlast.runtime.Contact_Stub.contactInsert(Contact_Stub.java:96)
         at testerlast.ContactClient.contactInsert(ContactClient.java:88)
         at testerlast.ContactClient.main(ContactClient.java:69)
    Caused by: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: SSLSessionNotFoundErr
         at oracle.j2ee.ws.common.util.exception.JAXRPCExceptionBase.<init>(JAXRPCExceptionBase.java:93)
         at oracle.j2ee.ws.common.util.exception.JAXRPCExceptionBase.<init>(JAXRPCExceptionBase.java:89)
         at oracle.j2ee.ws.client.ClientTransportException.<init>(ClientTransportException.java:33)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:144)
         at oracle.j2ee.ws.client.http.HttpClientTransport.invoke(HttpClientTransport.java:121)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:169)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:111)
         at testerlast.runtime.Contact_Stub.contactInsert(Contact_Stub.java:80)
         ... 2 more
    To do the invocation I have done a proxy to consume this Web Service, with the follow main:
    public static void main(String[] args) {
    try {
    testerlast.ContactClient myPort = new testerlast.ContactClient();
    System.out.println("calling " + myPort.getEndpoint());
    myPort.setUsername(nameUser);
    myPort.setPassword(password);
    ListOfContactData llista = new ListOfContactData();
    ContactData[] contacts=new ContactData[2];
    ContactData contact=new ContactData();
    ContactInsert_Input input=new ContactInsert_Input();
    // Login WS HTTPS
    String idSesion=connexioWS_CRM.logon(URL,nameUser,password);
    // Add contact
    for (int i = 0; i < contacts.length; i++) {
    contact.setId("ProvaWSCRM"+i);
    contact.setContactFirstName("JDeveloper"+i);
    contact.setContactLastName("prove"+i);
    contact.setCellularPhone("77777777"+i);
    contact.setDescription("Add contact with Id:"+contact.getId());
    contacts=contact;
    System.out.println("Id:"+contacts[i].getId()+" firstName:"+contacts[i].getContactFirstName()+" lastName:"+contacts[i].getContactLastName());
    llista.setContact(contacts);
    input.setListOfContact(llista);
    input.setEcho("off");
    System.out.println("Pwd:"+myPort.getPassword()+" Port:"+myPort._port+" endpoint:"+myPort.getEndpoint()+" user:"+myPort.getUsername());
    myPort.contactInsert(llista,"LIC","Broadset","OFF");
    // Logout en WS (HTTPS)
    connexioWS_CRM.logoff(URL, idSesion);
    } catch (Exception ex) {
    ex.printStackTrace();
    What's wrong? Any idea?
    Thank you
    Edited by: user12085357 on 31-oct-2009 10:39

  • HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7

    All -
    I'm new to consuming web services in JDeveloper. I'm using Oracle JDEV 10.1.3.3/OC4J.  I'm using this version since it is compatible with Oracle EBS 12.1.3.  My intent is to pull data from our third party recruitment app (Success Factors) and load that data into Oracle HRIS.  I'm already doing this through a .NET application.  I'm converting it to be a Java Concurrent Program in EBS.  The code listed below is a stub call to verify I'm on the right track. I created a JDeveloper Web Services proxy project.  I'm testing it locally on my windows desktop.  When I'm able to consume the service successfully, then I'll think about moving it to the EBS server.
    I'm getting the following error when I invoke the following service:
    HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    End point is: https://api4.successfactors.com/sfapi/v1/soap?wsdl
    Any help/assistance would be much appreciated. 
    Below is my code and output of my test:
    package emsc.oracle.apps.emscper.sfapi.proxy;
    import HTTPClient.HTTPConnection;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.IsValidSession;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.IsValidSessionResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Login;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LoginResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LoginResult;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Logout;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LogoutResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.SFCredential;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.SFParameter;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Error;
    import java.io.File;
    import javax.xml.rpc.ServiceFactory;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Date;
    import javax.xml.ws.BindingProvider;
    import javax.xml.soap.SOAPException;
    import java.util.Map;
    import oracle.security.ssl.OracleSSLCredential;
    public class SFAPITest {
        // Declare members:      
        private String companyId;
        private String userName;
        private String password;
        private String developerKey;
        private Date   effDt;
        private String greaterThanEffDt;
        private String lessThanEffDt;
        // Declare constants:      
        final static private String breakLine = "+---------------------------------------------------------------------------+";
        final static private String format    = "yyyy-mm-dd";      
        private enum ReqId {
            PrimaryReq(25),
            PrimaryReqCEO(26),
            EmCarePrimary(27),
            RTI(28),
            EmCareClinical(29);
            private int reqId; 
            private ReqId() {
            private ReqId(int value) {
                reqId = value;
            public int getReqId() {
                return reqId;
        // Getters and Setters:  
        protected String getCompanyId() {
           return this.companyId;
        protected void setCompanyId(String value) {
           this.companyId = value;                 
        protected String getUserName() {
           return this.userName;
        protected void setUserName(String value) {
           this.userName = value;                 
        protected String getPassword() {
           return this.password;
        protected void setPassword(String value) {
           this.password = value;                 
        protected String getDeveloperKey() {
           return this.developerKey;
        protected void setDeveloperKey(String value) {
           this.developerKey = value;                 
        protected Date getEffDt() {
            return this.effDt;
        protected void setEffDt(Date value) {
            this.effDt = value;                 
        protected String getGreaterThanEffDt() {
           return this.greaterThanEffDt;
        protected void setGreaterThanEffDt(String value) {
           this.greaterThanEffDt = value;                 
        protected String getLessThanEffDt() {
           return this.lessThanEffDt;
        protected void setLessThanEffDt(String value) {
           this.lessThanEffDt = value;                 
        public void runProgram()
            SFAPIService mySFAPIService;
            String CompletionText = "";
            String effDtStr2 = null;
        /* Code your program logic here.
        * Use getJDBCConnection method to get the connection object for any
        * JDBC operations.
        * Use CpContext provided commit,rollback methods to commit/rollback
        * data base transactions.
        * Don't forget to release the connection before returning from this
        * method.
        /* Call setCompletion method to set the request completion status and
        * completion text.
        * Status values are ReqCompletion.NORMAL,ReqCompletion.WARNING,
        * ReqCompletion.ERROR.
        * Use Completion text message of length 240 characters. If it is more
        * than 240 then full string will appear in log file and truncated 240
        * characters will be used as request completion text.
        try
            ServiceFactory factory = ServiceFactory.newInstance();
            mySFAPIService = (emsc.oracle.apps.emscper.sfapi.proxy.SFAPIService)factory.loadService(emsc.oracle.apps.emscper.sfapi.proxy.SFAPIService.class);      
            SFAPI api = mySFAPIService.getSFAPI();
           /// SFAPI api = new SFAPI();
            //Map<String, Object> requestContext = ((BindingProvider) api).getRequestContext();
            //requestContext.put(BindingProvider.SESSION_MAINTAIN_PROPERTY, true);
            System.out.println("ServiceName => " + mySFAPIService.getServiceName().toString());
            System.out.println("End Point   => " + mySFAPIService.getServiceName().toString());
            System.out.println(breakLine);
            // Authentication: Login to SFAPI:
            SFCredential credential = new SFCredential();
            // Fake credentials being passed in for this post:   
            credential.setCompanyId("XXX");
            credential.setUsername("XXX");
            credential.setPassword("XXX");
            credential.setDeveloperKey("XXX");
            HTTPConnection httpsConnection = null;       
            OracleSSLCredential _credential = new OracleSSLCredential();      
            _credential.setWallet("\\\\\\C:\\Program Files\\Java\\jdk1.6.0_33\\jre\\lib\\security", "ParkEstes3");
            /*System.setProperty("javax.net.ssl.trustStore","C:\\\\\OraHome_1\\jdev\\jdevbin\\jdk\\jre\\lib\\security\\keystore");
            System.setProperty("javax.net.ssl.trustStorePassword","changeit");  
            System.out.println(System.getProperty("javax.net.ssl.trustStore"));*/
            // SFParameter: Define a generic SFParameter List.  This is a necessary parameter
            // to invoking calls in SFAPI:      
             /*System.setProperty("javax.net.ssl.keyStore",
             "file:\\\C:\\jdk1.4.1\\jre\\lib\\security\\client.keystore");
             System.setProperty("javax.net.ssl.keyStorePassword","welcome");         */
            /*  System.setProperty("oracle.net.wallet_location",
                          "(SOURCE=(METHOD=file)(METHOD_DATA=(DIRECTORY=\\\C:\Users\dparrish\Oracle\WALLETS)))");  // (2)                     */
            File kstore = new File("C:\\OraHome_1\\jdev\\jdevbin\\jdk\\jre\\lib\\security\\jssecacerts");
            boolean exists = kstore.exists();
            if (!exists) {
                System.out.println("Keystore does not exist");
            else {
                System.out.println("Keystore does exist");
            System.setProperty("javax.net.ssl.trustStore", kstore.getAbsolutePath());
            System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
            //System.setProperty("proxySet", "false");
            //System.setProperty("http.proxyHost", "127.0.0.1");
            //System.setProperty("http.proxyPort", "8080");
            System.out.println(kstore.getAbsolutePath());
            List<SFParameter> lst = new ArrayList<SFParameter>();
            SFParameter param = new SFParameter();
            param.setName("");
            param.setValue("");
            lst.add(param);      
            SFParameter[] sfParam = lst.toArray(new SFParameter[lst.size()]);
            Login login = new Login();
            try {
                login.setCredential(credential);
                System.out.println("1");
                login.setParam(sfParam);
                System.out.println("2");
                LoginResponse loginResponse = new  LoginResponse();
                LoginResult loginResult = new LoginResult();
                try {
                     loginResponse = api.login(login);               
                catch (Exception e ) {
                    System.out.println(e.getMessage());
                System.out.println("3");
                try {               
                     loginResult = loginResponse.getResult();
                catch (Exception e ) {
                    System.out.println(e.getMessage());
                System.out.println("4");
                IsValidSession vs = new IsValidSession();                  
                IsValidSessionResponse isValidSessionResponse = api.isValidSession(vs);
                System.out.println("5");
                if (isValidSessionResponse.isResult()) {
                     System.out.println("Session is valid");
                     System.out.println("Result => " + loginResult.getSessionId());
                     System.out.println(breakLine);              
                    Logout logout = new Logout();
                    LogoutResponse logoutResponse = api.logout(logout);
                    if (logoutResponse.isResult()) {
                         System.out.println("Logout of SFAPI Successful");
                    else {
                        System.out.println("Logout of SFAPI Unsuccessful");
                else {
                     System.out.println("Session is invalid");
                    List<Error> errors = new ArrayList<Error>();
                    for (int i = 0; i < loginResult.getError().length;  i++) {
                        errors.add(loginResult.getError()[i]);
                    for (int i = 0; i < errors.size(); i++) {
                         System.out.println("Error Indice   => " + i);
                         System.out.println("Error Code:    => " + errors.get(i).getErrorCode());
                         System.out.println("Error Message: => " + errors.get(i).getErrorMessage());
                         System.out.println(breakLine);                                                          
                    } // end for loop of SFObject errors
                } // end InvalidSession
            catch (Exception e)
                 System.out.println("Session Credential Exception");
                 System.out.println("Exception => " + e.getMessage());
                 System.out.println(breakLine);                   
        catch (Exception e)
            System.out.println("Parameter List Exception");
            System.out.println("Exception => " + e.getMessage());
            System.out.println(breakLine);
        }   // end runProgram
        // Constructor:
        public SFAPITest()  {
        } // end constructor
        public static void main (String args[]) {
            try
                SFAPITest test = new SFAPITest();        
                test.runProgram();
            catch (Exception e) {
                System.out.println("main exception => " + e.getMessage());
    } // SFAPITest
    Here is the output with trace:
    WARNING: Unable to connect to URL: https://api4.successfactors.com:443/sfapi/v1/soap due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    Session Credential Exception
    Exception => ; nested exception is:
        HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    +---------------------------------------------------------------------------+
    Process exited with exit code 0.

    The other end is throwing back a programming error.
    That might be because you are sending incorrect data and the other end fails to validate it.
    You might be able to guess based on your C# code.  But, since you are using soap one generic solution is available to you.
    - Get an http proxy interceptor like wireshark.
    - Run it while your C# app runs, collect the http requests from that.
    - Run it while running your java code, collect the http requests from that.
    Compare the two.

  • Issue with calling an external web service using web service proxy

    Hi,
    I've created several web services using JDeveloper succesfully in the past, however I'm getting an issue with one that was working ok previously. Have spoken to the developers of the external web service and they say they haven't changed anything. Also if I test the external web service through soapUI for example it seems fine so it would seem that the issue is with the autogenerated code created by JDeveloper.
    Basically I get the following exception as it sends the request to the external service:
    java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Bad Authentication header format: 'Basic realm="Integration Server" encoding="UTF-8"'
    Expected "," at position 33
    The user name/password appear correct.
    JDev version 10.1.3.42.70
    Any ideas?
    Many Thanks
    Gary
    Edited by: user10916721 on 08-May-2012 09:54

    Found the answer. Basically I had one proxy web service working and one not both linking to a middle tier written in web methods. THe issue actually ended up being with the web methods code in that the one web service (that was not working) was put together using a backwards compatability mode. Once this was switched back then started working again in JDev.

  • Error invoking esb from web service proxy

    I have created a web service proxy (with jdeveloper 10.1.3.2) to invoke my service on the ESB.
    When i try to invoke this service with the proxy, the following error message appears:
    HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message transmission failure, response code: 500
    at oracle.j2ee.ws.client.http.HttpClientTransport.invokeImpl(HttpClientTransport.java:142)
    at oracle.j2ee.ws.client.http.HttpClientTransport.invokeOneWay(HttpClientTransport.java:122)
    at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:173)
    at oracle.j2ee.ws.client.StreamingSender._sendOneWay(StreamingSender.java:131)
    at testproxy.proxy.runtime.__soap_TestIn_execute_ppt_Stub.execute(__soap_TestIn_execute_ppt_Stub.java:88)
    When i take a look in the esb console, there i can see, that the service was invoked, but it is signed with the error symbol (i'm writing data into a database and the lines to the database adapter a green, but the lines back are red. But it writes nothing into the database. If i klick on the test webservice button at the appserver, everything works fine).
    Does anybody know the reason why it don't work?
    thanks

    In the ESB Control you can view the exception that's being thrown, is the PrivilegActionException the only stack trace you have?
    Maybe you can have a look if the data that's returned from the db-adapter is interpreted correctly by the ESB? You're working with a Request/Reply ESB so you need to make sure that as well the input as the ouput that's returned by the Routing Service is properly defined.

Maybe you are looking for

  • Custom log not getting generated in weblogic 10.3.5

    We have weblogic 10.3.5 as application server and deployed DAM(Digital Assets Management ) application on it. Also we have deployed 2-3 more application which is sharing connection properties file (dfc and log4j) outside from application war in share

  • Cannot select name when creating new DC

    Hi all, It seems I encounter this kind of problems over and over again when dealing with NWDI )-: In this thread Cannot select vendor when creating new DC I couldn't select vendor. I installed a new NWDI system (version is 7.18), did all the post ins

  • Connecting a 2nd ipod to a computer

    How can my partner and I both register our ipod nanos to the same computer?

  • Exception Error 0x80040707

    Is there a fix for Unhandled Exception error Ox80040707 DLL function call crashed?

  • Sort by folder structu

    on the 6GB creative zen can i i hate it when palyers sort by artist or album. i have all my music divided into folders and would like to use it as it is without having to edit tags. is there any other mp3 palyer that can sort music by folder structur