SOAP WITH UTL_HTTP ON HTTPS WEB SERVICE

Hi all! I'm new there and experimenting with the consumption of web services from database.

I'm trying to consume a service soap (simple) utl_http via https web with no luck in the Oracle 11 g Release 11.2.0.1.0 - 64 bit Production database.

When you try to consume a web service soap utl_http over http, I have a great solution. But things goes bad when change the http secure (https) Protocol.

There are a lot of examples and articles out there on how to do it, but there is nothing, not an integrated solution explained step by step.

I would like to write the steps that I followed then maybe someone will find what am I missing or what I'm doing wrong.

1 grant the user permissions of utl_Http.

2 Confure ACL with

BEGIN

DBMS_NETWORK_ACL_ADMIN. ASSIGN_ACL (LCD = > 'utl_http.xml',)

Home = > 'oracle-www.m-base.org/Sounds.html');

END;

/

COMMIT;

and check the ACL with

SELECT *.

Of user_network_acl_privileges;

and

SELECT *.

OF dba_network_acls;

3 export certifications of sites web service and import them into the portfolio (https://oracle-base.com/articles/misc/utl_http-and-ssl). Try a to time with different types of key - extensions (with key chains or not)

4. When you try to consume the service web soap over HTTPS with SOAP UI everything works fine, but I get with utl_http

ORA-28857: unknown error SSL

I think keystore loaded successfully, but there is one thing missing in my puzzle. Also, I find this portfolio when run SELECT * FROM v$ encryption_wallet has a closed state.

WRL_TYPE WRL_PARAMETER STATE

fileE:\oracle\admin\HOSPITAL\WalletCLOSED

The web service is trying to run is a simple add you can fid it https://oracle-base.com/webservices/server.php/ws_add

Please help me to find out what am I do wrong.

Thank you in advance.

Working on my db...

Then try to patch your database...

Tags: Database

Similar Questions

  • XPath with XML from a Web Service

    Hello

    I've been tweaking data traction of a webservice and have managed to get the results that I need so I'm now at the stage where I want to do something useful with the XML that is returned, so I played with Xpath.

    I understand I can use Xsearch to draw the nodes of the XML object rather than having to write the XML to a file and then look in the file. The problem I have is that when I use Xsearch it does not extract data I'll be waiting.

    Here is the XML that is returned by the web service, which I attribute to the variable xmlReturned:

    <? XML version = "1.0" encoding = "utf-8"? >

    " < envelope soap: xmlns:soap = ' http://schemas.xmlsoap.org/SOAP/envelope/ "" xmlns: xsi = " " http://www.w3.org/2001/XMLSchema-instance "container =" " http://www.w3.org/2001/XMLSchema ">

    < soap: Body >

    " < GetChildLocationsResponse xmlns =" http://tempuri.org/VillarentersWebService/villa_search ">

    < GetChildLocationsResult >

    < RequestedParentID > 3924 < / RequestedParentID >

    < VRF / >

    < ChildLocations >

    < location >

    < LocationRef > 10 < / LocationRef >

    the Argentina < LocationDescription > < / LocationDescription >

    < ParentID > 3924 < / ParentID >

    < / location >

    < location >

    < LocationRef > 30 < / LocationRef >

    Brazil < LocationDescription > < / LocationDescription >

    < ParentID > 3924 < / ParentID >

    < / location >

    < / ChildLocations >

    < / GetChildLocationsResult >

    < / GetChildLocationsResponse >

    < / soap: Body >

    < / envelope soap: >

    So, when I use:

    < cfset locDescription = XmlSearch (xmlReturned, "//LocationDescription") / >

    < cfdump var = "#locDescription #" >

    I expect to see an array of 2 elements, the Argentina and the Brazil. What I actually get is an empty array. I tried using a Xpath Checker convenient online at http://www.zrinity.com/xml/xpath/index.cfm and I get the same result. I tried a little research different but every time the table is empty.

    Does anyone know why it is not pulling the knots required in the table? Am I missing something simple here?

    Or you could represent the namespaces in your xpath xmlsearch properties.

    Here is the first link that I got from a Google search for"namespace xmlsearch.

    http://www.aftergeek.com/2006/08/xmlSearch-XPath-and-XML-namespaces-in.html

  • Via HTTPS Web service call

    Hi all

    I use Weblogic 9.2 with the default configuration of the keystore & SSL. The Web service client is generated using the 'Clientgen' Ant task, I can invoke Web service using http without problems, but when you use https, it is always rejected, basically I know not what system for the customer properties, here is my last desperate attempt:
    System.setProperty("weblogic.webservice.verbose", "true");
    System.setProperty("java.protocol.handler.pkgs", "weblogic.net");
    System.setProperty("weblogic.security.SSL.trustedCAKeyStore", "config/DemoIdentity.jks");
    System.setProperty("weblogic.security.SSL.ignoreHostnameVerification", "true");
    System.setProperty("weblogic.security.SSL.TrustKeyStore", "DemoTrust");
    System.setProperty("weblogic.webservice.client.ssl.strictcertchecking", "false");
    System.setProperty("ssl.debug", "true");
    
    PaymentGateway service = new PaymentGateway_Impl();
    PaymentGatewayPort port = service.getPaymentGatewayPort();
    Stub.class.cast(port)._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, "https://192.168.56.3:7002/ws/PaymentGateway?WSDL");
    Stub.class.cast(port)._setProperty(Stub.USERNAME_PROPERTY, "weblogic");
    Stub.class.cast(port)._setProperty(Stub.PASSWORD_PROPERTY, "weblogic");
    
    ISODocument isoDoc = new ISODocument();
    isoDoc.setMti(new Integer(200));
    port.balanceInquery(isoDoc);
    And here is the exception that is thrown in the client:
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: SSL license found
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Not in server, Certicom SSL license found
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Ignoring not supported JCE Mac: SunJCE version 1.5 for algorithm HmacSHA1
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Will use default Mac for algorithm HmacSHA1
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Ignoring not supported JCE Mac: SunJCE version 1.5 for algorithm HmacMD5
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Will use default Mac for algorithm HmacMD5
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Ignoring not supported JCE KeyAgreement: SunJCE version 1.5 for algorithm DiffieHellman
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Will use default KeyAgreement for algorithm DiffieHellman
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Will use default KeyAgreement for algorithm ECDH
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Using JCE Cipher: SunJCE version 1.5 for algorithm DESede/CBC/NoPadding
    Apr 16, 2010 8:18:14 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Using JCE Cipher: SunJCE version 1.5 for algorithm DES/CBC/NoPadding
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Using JCE Cipher: SunJCE version 1.5 for algorithm AES/CBC/NoPadding
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Using JCE Cipher: SunJCE version 1.5 for algorithm RC4
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Using JCE Cipher: SunJCE version 1.5 for algorithm RSA
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Using JCE Cipher: SunJCE version 1.5 for algorithm RSA/ECB/NoPadding
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: SSL Session TTL :90000
    <!-------------------- REQUEST FROM CLIENT ---------------->
    URL        :  https://192.168.56.3:7002/ws/PaymentGateway?WSDL
    Headers    :
      Authorization: [Basic d2VibG9naWM6d2VibG9naWM=]
      SOAPAction: [""]
      Content-Type: [text/xml]
    
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><env:Header></env:Header><env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><m:balanceInquery xmlns:m="http://www.telkomsel.com/PaymentGateway"><iSODocument xmlns:n1="java:com.visitek.pgi.models" xsi:type="n1:ISODocument"><amount xsi:nil="true"></amount><audit_number href="#ID_2"></audit_number><bank_code xsi:type="xsd:string">000151</bank_code><currency_code href="#ID_2"></currency_code><data href="#ID_2"></data><encrypted_pin href="#ID_2"></encrypted_pin><expiration_date href="#ID_2"></expiration_date><institution_code href="#ID_2"></institution_code><institution_data xsi:type="xsd:string">62812006002616</institution_data><local_tracking_id xsi:type="xsd:string">080722163229082127.0.0.1:9595</local_tracking_id><mti xsi:type="xsd:int">200</mti><network_information_code xsi:type="xsd:short">0</network_information_code><original_data_element href="#ID_2"></original_data_element><pan_null_true xsi:type="xsd:string">yes</pan_null_true><pos_entry href="#ID_2"></pos_entry><primary_acc_number xsi:nil="true"></primary_acc_number><response_code href="#ID_2"></response_code><response_terminal_number href="#ID_2"></response_terminal_number><service_code xsi:type="xsd:int">6016</service_code><settlement_date href="#ID_2"></settlement_date><terminal_number href="#ID_2"></terminal_number><transaction_code xsi:type="xsd:int">380000</transaction_code><transaction_data href="#ID_2"></transaction_data><transaction_date href="#ID_2"></transaction_date><transaction_sequence href="#ID_2"></transaction_sequence><transaction_time href="#ID_2"></transaction_time><transaction_timestamp href="#ID_2"></transaction_timestamp></iSODocument></m:balanceInquery><xsd:string xsi:type="xsd:string" id="ID_2"></xsd:string></env:Body></env:Envelope>
    <!-------------------- END REQUEST FROM CLIENT ------------>
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Trusted CA keystore: config/DemoIdentity.jks
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Filtering JSSE SSLSocket
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: SSLIOContextTable.addContext(ctx): 24864323
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: SSLSocket will NOT be Muxing
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: write SSL_20_RECORD
    Apr 16, 2010 8:18:15 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: isMuxerActivated: false
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: 25567987 SSL3/TLS MAC
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: 25567987 received HANDSHAKE
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: HANDSHAKEMESSAGE: ServerHello
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: isMuxerActivated: false
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: 25567987 SSL3/TLS MAC
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: 25567987 received HANDSHAKE
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: HANDSHAKEMESSAGE: Certificate
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Cannot complete the certificate chain: No trusted cert found
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: Validating certificate 0 in the chain: Serial number: -151503846264256045339669576782538934945
    Issuer:C=US, ST=MyState, L=MyTown, O=MyOrganization, OU=FOR TESTING ONLY, CN=CertGenCAB
    Subject:C=US, ST=MyState, L=MyTown, O=MyOrganization, OU=FOR TESTING ONLY, CN=paymentd
    Not Valid Before:Wed Mar 12 15:39:27 GMT+07:00 2008
    Not Valid After:Mon Mar 13 15:39:27 GMT+07:00 2023
    Signature Algorithm:MD5withRSA
    
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE: validationCallback: validateErr = 16
    Apr 16, 2010 8:18:16 PM weblogic.diagnostics.debug.DebugLogger debug
    FINE:   cert[0] = Serial number: -151503846264256045339669576782538934945
    Issuer:C=US, ST=MyState, L=MyTown, O=MyOrganization, OU=FOR TESTING ONLY, CN=CertGenCAB
    Subject:C=US, ST=MyState, L=MyTown, O=MyOrganization, OU=FOR TESTING ONLY, CN=paymentd
    Not Valid Before:Wed Mar 12 15:39:27 GMT+07:00 2008
    Not Valid After:Mon Mar 13 15:39:27 GMT+07:00 2023
    Signature Algorithm:MD5withRSA
    
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Warning> <Security> <BEA-090542> <Certificate chain received from 192.168.56.3 - 192.168.56.3 was not trusted causing SSL handshake failure. Check the certificate chain to determine if it should be trusted or not. If it should be trusted, then update the client trusted CA configuration to trust the CA certificate that signed the peer certificate chain. If you are connecting to a WLS server that is using demo certificates (the default WLS server behavior), and you want this client to trust demo certificates, then specify -Dweblogic.security.TrustKeyStore=DemoTrust on the command line for this client.> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <Validation error = 16> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <Certificate chain is untrusted> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <SSLTrustValidator returns: 16> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <Trust status (16):  CERT_CHAIN_UNTRUSTED> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <NEW ALERT with Severity: FATAL, Type: 42
    java.lang.Exception: New alert stack
         at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
         at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown Source)
         at com.certicom.tls.record.handshake.ClientStateReceivedServerHello.handle(Unknown Source)
         at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown Source)
         at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown Source)
         at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source)
         at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source)
         at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
         at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
         at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown Source)
         at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown Source)
         at com.certicom.tls.record.WriteHandler.write(Unknown Source)
         at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
         at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
         at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
         at java.io.FilterOutputStream.flush(FilterOutputStream.java:123)
         at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:153)
         at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:367)
         at weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37)
         at weblogic.net.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:705)
         at java.net.URLConnection.getContentType(URLConnection.java:479)
         at weblogic.webservice.binding.http11.Http11ClientBinding.receive(Http11ClientBinding.java:230)
         at weblogic.webservice.core.handler.ClientHandler.handleResponse(ClientHandler.java:64)
         at weblogic.webservice.core.HandlerChainImpl.handleResponse(HandlerChainImpl.java:238)
         at weblogic.webservice.core.ClientDispatcher.receive(ClientDispatcher.java:246)
         at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:147)
         at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:473)
         at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:459)
         at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:306)
         at com.visitek.pgi.client.PaymentGatewayPort_Stub.balanceInquery(PaymentGatewayPort_Stub.java:48)
         at com.visitek.test.pg.TestPGWebservice.testWebserviceSSLInvocation(TestPGWebservice.java:70)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at junit.framework.TestCase.runTest(TestCase.java:164)
         at junit.framework.TestCase.runBare(TestCase.java:130)
         at junit.framework.TestResult$1.protect(TestResult.java:106)
         at junit.framework.TestResult.runProtected(TestResult.java:124)
         at junit.framework.TestResult.run(TestResult.java:109)
         at junit.framework.TestCase.run(TestCase.java:120)
         at junit.framework.TestSuite.runTest(TestSuite.java:230)
         at junit.framework.TestSuite.run(TestSuite.java:225)
         at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    >
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <write ALERT, offset = 0, length = 2> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <close(): 19097823> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <19097823 read(offset=0, length=8192)> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <19097823 read returns -1> 
    <!-------------------- RESPONSE TO CLIENT --------------->
    URL           : https://192.168.56.3:7002/ws/PaymentGateway?WSDL
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <19097823 read(offset=0, length=8192)> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <19097823 read returns -1> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <19097823 read(offset=0, length=8192)> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Debug> <SecuritySSL> <000000> <19097823 read returns -1> 
    <Apr 16, 2010 8:18:16 PM GMT+07:00> <Info> <WebService> <BEA-220025> <Handler weblogic.webservice.core.handler.ClientHandler threw an exception from its handleResponse method. The exception was:
    javax.xml.rpc.JAXRPCException: java.io.EOFException: Response contained no data.> 
    I'm completely extraneous to this thing HTTPS & SSL & I googled around only to find partial responses. My plan is to use a custom identity, but I first want to make sure that the use of the default work.

    Any help would be greatly appreciated.


    Kind regards

    Setya

    Hello

    To call your web service via the SSL protocol, the simplest is to use only the following code snippet:
    You used the threshold:
    System.setProperty ("weblogic.security.SSL.trustedCAKeyStore", "* config/DemoIdentity.jks" *);

    instead of DemoIdentity.jks, you provide the full path and the file name of the DemoTrust.jks file as below:

    System.setProperty ("weblogic.security.SSL.trustedCAKeyStore", "* D:/wls103/wlserver_10.3/server/lib/DemoTrust.jks*");

    Hope this will solve the problem.

    Thank you
    Sandeep

  • Why short use SOAP based instead of REST web services

    I have a very basic question about why short uses web services SOAP based instead of RESTING the REST is very light?

    Kumar,

    To a large extent, the choice of the web service protocol is orthogonal to how short Server communicates with Studio (aka short discovered Information).  EID has been designed as a set of tightly coupled of capabilites and we not usually expect users to develop a custom front-end that would require a knowledge of the workings of.

    Ryan S. - EID PM

  • HTTPS Web services

    Im not familiar enough with the webservices to understand this question so Im hoping someone can give me a helping hand. Im trying to consume a Web service that is available over https URL and we are experiencing any questions just get connected to the WSDL file. When I try to telnet server I get a connection error has failed. So I had our SA open the firewall to our IP address, but still get the same message. Is there anything else I should do on our server in order to make this connection? Also, should I choose have SSL disabled while I'm stable in our development environment? Does make that much difference in what I see during testing? I prefer to leave just because that's the way it will operate in our production environment... All advice is appreciated.

    My money is still on that it is a certificate problem. To install the certificate, simply visit the remote URL in a browser and that allows to save the certificate locally. Then, add it to your certificate store as described in the link I gave in the last email.

    Dave Watts, CTO, Fig Leaf Software

    http://www.figleaf.com/

    http://training.figleaf.com/

  • Connect to the HTTPS web service

    When you try to build the secure web service partner link (URL starts with https://...) I got an error about the lack of certificate? How to provide the cert file < I have a good, but do not know how to enter Web Logic server.

    http://download.Oracle.com/docs/CD/E12840_01/WLS/docs103/secmanage/identity_trust.html

  • Dynamic LOV with data to the Web Service Control

    Hi all

    I am currently working on JDeveloper 11.1.1.9.

    I want to implement a form of creation, for two of my form fields do correspond to LOV.

    The first is a LOV returned by a method of the web service (see back picture1) call, it works perfectly (see picture0).


    picture0:

    Capture1.PNG

    The other is represented by the nested list of the object returned by this method ( see picture1to taskPurposeList).


    Picture1:

    Capture.PNG



    By choosing a value in first af:selectOneChoice , I want to access the nested list in the second af:selectOneChoice.

    I have tried to map the second field directly to this list, but it is not updated (see image2).



    Capture2.PNG


    You have an idea on how to apply it?


    Thank you very much


    Leslie

    Hi all, sorry for taking the trouble,.

    I finally found the solution after several days of reflection and try.

    It is, when you select a value in the select list is not to update the current row of the iterator.

    Only, I've defined the current line of my iterator (mapped to the first list) parent according to the selected code in the list and update the second list like this:

    DCIteratorBinding taskTypeLOVIterator = ADFManagedBeanUtil.findIterator ("TaskTypeLOVIterator");

    Rank [] allRows = taskTypeLOVIterator.getAllRowsInRange ();

    for (line: allRows) {}

    {if ((Row.GetAttribute("ID").) {(Equals (valueChangeEvent.getNewValue ()))}

    taskTypeLOVIterator.getRowSetIterator () .setCurrentRow (row);

    }

    }

    AdfFacesContext.getCurrentInstance () .addPartialTarget (soc2);

    Setting the current row of the iterator parent automatically updated the second list.

    Thank you

    Leslie

  • A project with two styles of web services (JAX - RPC and JAX - WS)

    Hi theres.

    How did the same project doesn't support two styles of different web services?

    First time I have create a proxy web service using the wizard, the second step is to choose between JAX - RPC and JAX - WS. After that, this step is removed from the wizard and all the subsquent web services are supposed to be the same style as the first.

    Can someone explain to me why?

    Thanks in advance,
    Manuel Leiria

    Hello

    Yes, I think to remember that are taken in charge for a unique style only. If you need another too, then you create a new project.

    Frank

  • How to fill a ComboBox with data from a Web service

    I have a simple application that contains a DataGrid control that gets its data from a web service. I prefer to put these data in a ComboBox instead of a DataGrid control. My web service returns objects.

    Someone has an idea how to do?

    < mx:DataGrid id = dataProvider = "{ws.getProjects.lastResult"dgProjects"}" > "
    ... < mx:columns >
    ... < mx:DataGridColumn dataField = "projectID" headerText = "ID of project" width = "100" / >
    ... < mx:DataGridColumn headerText = "Project name" dataField = "projectName" / >
    ... < mx:DataGridColumn headerText = "Doc UNID" dataField = "docUNID" visible = "false" / >
    ... < / mx:columns >
    < / mx:DataGrid >

    Exactly what I needed.

    Thank you very much!!!

  • Help with utl_http and https API

    Hi all
    I am trying to write a pl/sql procedure to call the google translate API. I paid for a key and the url itself works without any problem, but I'm fighting to get my call from pl/sql.

    I created a function on my server as suggested by Billy Verreynne here: Re: error on HTTPS using UTL_HTTP

    It was extremely helpful as I can now see the url that goes to google.

    This is the code I use to call the function of Billy is:
    set serveroutput ON
    select * from TABLE(webbrowser('https://www.googleapis.com/language/translate/v2?key=mykeyblahblah&q=Automobile&source=en&target=ja')); 
    (1) my first question: Why am I get invited to enter variable bind by sqldeveloper? These are hard-coded in the url, I'm passing, so I don't know why I get invited to these.

    By Billy function, which is getting sent to google:
    HTTP: GET https://www.googleapis.com/language/translate/v2?key=mykeyblahblahAutomobile=Automobileen=enja=ja
    I'm getting ORA-29268: error the client HTTP 400 - Bad request, obviously from the url get passed to google makes no sense, i.e. the ampersands are get and removed the bind variable I entered replace the names of the parameters.

    (2) so my second question, what am I doing wrong and how can I get the URL to keep signs and identifiers in parameters?

    The first thing that is obvious is that I have a lot to learn here. There seems to be that many tutorials online to UTL_HTTP and even the docs of Oracle are a little sparse.

    For what it's worth my portfolio is ok and the proxy are set that correctly, so I know I'm getting to google, I'm just passing through a bad url.

    This isn't the last function, I'm just trying to take the baby steps so I just call the pl/sql API and retrieve a readable result. If anyone can help point me in the right direction, I would be very grateful.

    If it helps, here's the function I created using the code of Billy:
    create or replace
    function WebBrowser( url varchar2 ) return TStrings pipelined is
    --
    -- BASIC PL/SQL WEB BROWSER TEMPLATE
    -- supports http, https and proxy servers
     
            -- fixed constants
            C_NO_PROXY_FOR  constant varchar2(4000) := 'localhost';
            C_WALLET        constant varchar2(4000) := 'file:/blahblah';
            C_WALLET_PASS   constant varchar2(4000) := 'Welcome';
     
            -- Proxy settings that can be made arguments in the WebBrowser() call
            proxyServer     varchar2(30) := 'www-proxy.com';
            -- not all proxy servers use authentication, but many corporate proxies do, in
            -- which case you need to specify your auth details here
            -- (make it nulls if not applicable)
            proxyUser       varchar2(50) := NULL;
            proxyPass       varchar2(50) := NULL;
     
            -- our local variables
            proxyURL        varchar2(4000);
            request         UTL_HTTP.req;
            response        UTL_HTTP.resp;
            buffer          varchar2(4000);
            endLoop         boolean;
    begin
            -- our "browser" settings
            PIPE ROW( 'Setting browser configuration' );
            UTL_HTTP.set_response_error_check( TRUE );
            UTL_HTTP.set_detailed_excp_support( TRUE );
            UTL_HTTP.set_cookie_support( TRUE );
            UTL_HTTP.set_transfer_timeout( 30 );
            UTL_HTTP.set_follow_redirect( 3 );
            UTL_HTTP.set_persistent_conn_support( TRUE );
     
            -- set wallet for HTTPS access
            PIPE ROW( 'Wallet set to '||C_WALLET );
            UTL_HTTP.set_wallet( C_WALLET, C_WALLET_PASS );
     
            -- configure for proxy access
            if proxyServer is not NULL then
                    PIPE ROW( 'Proxy Server is '||proxyServer );
                    proxyURL := 'http://'||proxyServer;
     
                    if (proxyUser is not NULL) and (proxyPass is not NULL) then
                            proxyURL := REPLACE( proxyURL, 'http://',  'http://'||proxyUser||':'||proxyPass||'@' );
                            PIPE ROW( 'Proxy URL modified to include proxy user name and password' );
                    end if;
     
                    PIPE ROW( 'Proxy URL is '|| REPLACE(proxyURL,proxyPass,'*****') );
                    UTL_HTTP.set_proxy( proxyURL, C_NO_PROXY_FOR );
            end if;
     
            PIPE ROW( 'HTTP: GET '||url );
            request := UTL_HTTP.begin_request( url, 'GET', UTL_HTTP.HTTP_VERSION_1_1 );
     
            -- set HTTP header for the GET
            UTL_HTTP.set_header( request, 'User-Agent', 'Mozilla/4.0 (compatible)' );
     
            -- get response to the GET from web server
            response := UTL_HTTP.get_response( request );
     
            -- pipe the response as rows
            endLoop := false;
            loop
                    exit when endLoop;
     
                    begin
                            UTL_HTTP.read_line( response, buffer, TRUE );
                            if (buffer is not null) and length(buffer)>0 then
                                    PIPE ROW( buffer );
                            end if;
                    exception when UTL_HTTP.END_OF_BODY then
                            endLoop := true;
                    end;
     
            end loop;
            UTL_HTTP.end_response( response );
     
            return;
     
    exception when OTHERS then
            PIPE ROW( SQLERRM );
    end;
    Thank you!
    John

    John K. says:

    (1) my first question: Why am I get invited to enter variable bind by sqldeveloper? These are hard-coded in the url, I'm passing, so I don't know why I get invited to these.

    No bind variable. As bathtubs say these are substitution variables. Something that SQL * more supported for several year and something that is incorporated as a feature of some GUI for Oracle customers.

    Substitution variables are generally used in the installation scripts. You run a script (since SQL * the command-line) and passes command line parameter - these parameters are variables + & 1 + for the parameter 1, + & 2 + for the 2nd, etc..

    The script can then use these in the DDL statements (that do not support the bind variable) - e.g. create user & 1 identified by & 2....

    The customer to DEFINE in SQL command * more active/disable/configure the use of substitution variables. The default character to identify the variable substitution is "+ & +". So your problem with the URL being mutilated by your customer.

    I always use SET DEFINE OFF to disable the calendering customer my sending code on the server for execution. Another option is to use a different character to identify the substitution variables. The installation script Oracle Apex (quite large and quite complex) has the problem of the use of '&' in the code and need to also use substitution variables, as. So the installation uses the "+ ^ + ' character. I suggest to disable the substitution, or affecting a unusual as tank ' ^ ' or ' ~ '.

  • How to connect to an Adobe Javascript(Folder Level Script) SAP Web Service and retrieve the response in a table of the Adobe Javascript/AcroJS. Could you please it explain with an example. I have two required input parameters that must be filled.

    How to connect to an Adobe Javascript(Folder Level Script) SAP Web Service and retrieve the response in a table of the Adobe Javascript/AcroJS. Could you please it explain with an example. I have two required input parameters that must be filled.

    I s generic SOAP example/tutorial on my blog: get a serial number in a form using SOAP - KHKonsulting LLC

    The web service uses only a single parameter, but you should be able to adapt the code to two arguments without problems.

  • How can I create a query with the data control to the web service?

    I need to create a query with the order of web service data, WSDL, it is query operation, there is a message of parameter with possible query criteria and a return message contains the results. I googled but can't find anything on the query with the web service. I can't find a criterion "named" to the data control of web service as normal data control. Blog of Shay, I saw the topics on the update with the data of web service command. How can I create a query with the data control to the web service? Thank you.

    Hello

    This might help

    * 054.     Search form using control data WS ADF and complex of entry types *.

    http://www.Oracle.com/technetwork/developer-tools/ADF/learnmore/index-101235.html

  • Get a file of 1 MB to a web service

    Hello

    I'm trying to get a file of 1 MB, call a web service from a 10.2.0.5. Everything works well except the conversion of the SOAP to an XMLTYPE response. I get the error ORA-00932-> ERRO:-ORA-00932: inconsistent data types: expects a return value is an instance of a user defined class Cabriolet Java to an Oracle type got an object that cannot be converted. When I get a smaller file conversion works perfectly. No idea how to solve this problem?

    Here is my code:
    DECLARE
    sys l_service. UTL_DBWS.service;
    sys l_call. UTL_DBWS. Call;

    l_wsdl_url VARCHAR2 (32767).
    l_namespace VARCHAR2 (32767).
    sys l_service_qname. UTL_DBWS. QName;
    sys l_port_qname. UTL_DBWS. QName;
    sys l_operation_qname. UTL_DBWS. QName;

    l_xmltype_in SYS. XMLTYPE;
    l_xmltype_out SYS. XMLTYPE;
    -retx ANYDATA;
    l_return CLOB.
    W_log VARCHAR2 (4000);
    BEGIN

    DBMS_JAVA. SET_OUTPUT (2000000);

    l_wsdl_url: = ' http://10.250.41.206:8082 / ConversionService? WSDL ";
    l_namespace: = "http://tempuri.org/";

    l_service_qname: = SYS. UTL_DBWS.to_qname (l_namespace, "ConverterClassServImplementation");
    l_port_qname: = SYS. UTL_DBWS.to_qname (l_namespace, "BasicHttpBinding_IConverterClassService");
    l_operation_qname: = SYS. UTL_DBWS.to_qname (l_namespace, "ConvertDocument");



    l_service: =.
    SYS. () UTL_DBWS.create_service
    wsdl_document_location = > urifactory.geturi (l_wsdl_url).
    service_name = > l_service_qname);

    l_call: =.
    SYS. UTL_DBWS.create_call (service_handle = > l_service,)
    port_name = > l_port_qname,
    operation_name = > l_operation_qname);

    SYS. UTL_DBWS. SET_PROPERTY (l_call, 'SOAPACTION_USE', 'TRUE');
    SYS. UTL_DBWS. SET_PROPERTY (l_call, 'SOAPACTION_URI', 'http://tempuri.org/IConverterClassService/ConvertDocument');
    SYS. UTL_DBWS. SET_PROPERTY (l_call, 'ENCODINGSTYLE_URI', "http://schemas.xmlsoap.org/soap/encoding/");
    SYS. UTL_DBWS. SET_PROPERTY (l_call, 'OPERATION_STYLE', 'cpp');


    l_xmltype_in: =.
    sys. XmlType ("<?") XML version = "1.0" encoding ="utf - 8"? >
    < ConvertDocument xmlns = "http://tempuri.org/" >
    < convert_pipe xmlns: a = "http://schemas.datacontract.org/2004/07/Glintths.Files.ReportConverter.Task.ConverterClassService" xmlns:i = "http://www.w3.org/2001/XMLSchema-instance" >
    < a: ConversionType > Xml2Doc < / a: ConversionType >
    < / convert_pipe >
    <binaryDataToConvert>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8UmVwb3J0RGF0YSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4NCiAgPERlYnVnPmZhbHNlPC9EZWJ1Zz4NCiAgPEhhc0F1ZGlvPmZhbHNlPC9IYXNBdWRpbz4NCiAgPENhblNpZ24+ZmFsc2U8L0NhblNpZ24+DQogIDxQYXJhbWV0ZXJzPg0KICAgIDxTaW1wbGVQYXJhbWV0ZXI+DQogICAgICA8VHlwZT5DT05URU5UPC9UeXBlPg0KICAgICAgPExhYmVsPlRpcG9Eb2VudGU8L0xhYmVsPg0KICAgICAgPEluZGV4PjA8L0luZGV4Pg0KICAgICAgPFZhbHVlPm9sYW11bmRvPC9WYWx1ZT4NCiAgICA8L1NpbXBsZVBhcmFtZXRlcj4NCiAgPC9QYXJhbWV0ZXJzPg0KPC9SZXBvcnREYXRhPg==</binaryDataToConvert>
    < dicExtraIfno xmlns: a = "http://schemas.datacontract.org/2004/07/Glintths.Files.ReportConverter.Task.ConverterClassService" xmlns:i = "http://www.w3.org/2001/XMLSchema-instance" >
    < a: DictionaryInstance xmlns: b = "http://schemas.microsoft.com/2003/10/Serialization/Arrays" >
    < b:KeyValueOfstringstring >
    < b:Key > DOC_TEMPLATE_PATH < / b:Key >
    < b: Value > C:\Interfaces\WindowsService\Tasks\Files\Glintths.Files.ReportConverter\Glintths.Files.RC.Tests\Glintths.Files.RC.Tests\bin\Debug\tpl_doc.doc < / b: Value >
    < / b:KeyValueOfstringstring >
    < / a: DictionaryInstance >
    < / dicExtraIfno >
    < / ConvertDocument >
    ');


    W_log: = "INVOKE";
    l_xmltype_out: = SYS. UTL_DBWS. Invoke (call_handle = >, l_call = > l_xmltype_in);


    W_log: = 'CRY of RELEASE. "
    SYS. UTL_DBWS.release_call (call_handle = > l_call);
    W_log: = 'SERVICE RELEASE ';
    SYS. UTL_DBWS.RELEASE_SERVICE (service_handle = > l_service);



    Thank you
    Good bye

    I'm not familiar with the UTL_DBWS package myself. I use the UTL_HTTP to make Web services.

    I think your problem is probably the answer is greater than 32K and therefore must be obtained in pieces. In my code, it's a bit like this...

      PROCEDURE p_soap_request(p_username IN VARCHAR2, p_password IN VARCHAR2, p_proxy IN VARCHAR2) IS
        soap_request  VARCHAR2(30000);
        soap_respond  CLOB;
        http_req      utl_http.req;
        http_resp     utl_http.resp;
        resp          XMLType;
        soap_err      exception;
        v_code        VARCHAR2(200);
        v_msg         VARCHAR2(1800);
        v_len number;
        v_txt Varchar2(32767);
      BEGIN
        IF p_proxy IS NOT NULL THEN
          UTL_HTTP.SET_PROXY(p_proxy);
        END IF;
        -- Define the SOAP request according the the definition of the web service being called
        soap_request:= ''||
                       ''||
                       '  '||
                       '    '||
                       '      '||p_username||''||
                       '      '||p_password||''||
                       '    '||
                       '  '||
                       '';
        http_req:= utl_http.begin_request
                  ( 'http://www.website.net/webservices/GetDetailsService.asmx'
                  , 'POST'
                  , 'HTTP/1.1'
                  );
        utl_http.set_header(http_req, 'Content-Type', 'text/xml');
        utl_http.set_header(http_req, 'Content-Length', length(soap_request));
        utl_http.set_header(http_req, 'Download', ''); -- header requirements of particular web service
        utl_http.write_text(http_req, soap_request);
        http_resp:= utl_http.get_response(http_req);
        utl_http.get_header_by_name(http_resp, 'Content-Length', v_len, 1); -- Obtain the length of the response
        FOR i in 1..CEIL(v_len/32767) -- obtain response in 32K blocks just in case it is greater than 32K
        LOOP
            utl_http.read_text(http_resp, v_txt, case when i < CEIL(v_len/32767) then 32767 else mod(v_len,32767) end);
            soap_respond := soap_respond || v_txt; -- build up CLOB
        END LOOP;
        utl_http.end_response(http_resp);
        resp:= XMLType.createXML(soap_respond); -- Convert CLOB to XMLTYPE
      END;
    
  • Web services and Sessions

    Hello

    Is it possible to maintain a session on the server for the duration of a series of web service for an individual consumer requests?

    What I want to do, it is something like this:
    1. the consumer to invoke the Web service with a name of user and password combination in the SOAP header.
    2. the web service authenticates the user on the database and inserts a session id in the SOAP header.
    3. the consumer makes another call to the webservice for some data, and if the session id matches the session stored on the server, the web service returns data for this and all subsequent applications that have the id correct session stored in the SOAP header.

    Does anyone know if there is any way I can do this or do I must write the data to a database and the text for each call?

    The first links of Google when I searched for the service coldfusion web
    cookies.

    http://tjordahl.blogspot.com/2006/06/how-to-set-cookies-in-ColdFusion-SOAP.html
    http://tjordahl.blogspot.com/2006/06/how-to-get-Web-service-response.html

  • How to get out of scheduled using web service api report

    Hello

    By using the api service report I can run the report query and get the result and save it in a file. But as I'm under the report directly I don't see report running history in BIP UI. (Or there is a way to do what I don't know.)

    So I create a task report and the request for a change it and then call using the api planning service and it works properly gives me a return identification work and I see the history for a job at the BIP UI.

    But I can't find a api that gives me the result of this work.

    All of the suggestions.

    I use eclipse, cfx to generate stubs, and it's a simple java program with access to the web service

    Obtained, he works as below.

    1. Call scheduleReport on SchedulerService to schedule a report and get the scheduled_job_id.
    2. Call getAllScheduledReportHistory on SchedulerService using scheduled_job_id to get the work history that includes the work of the child created by the Scheduler for above child_job_id scheduled_job_id.
    3. Call getScheduledJobInfo on SchedulerService using child_job_id to check whether the job has finished if it is wait for a while, then try again until the work is either successful or failed. The api returns object JobDetails
    4. If the job is successful then check if xmlDataIsAviable for the above job details. If Yes, then call getXMLData on SchedulerService using child_job_id which gives a byte array, write this array of bytes on the disk using the java.io library
    5. Call getScheduledReportOutputInfo on SchedulerService using child_job_id for the information of reportOutput, which is a list of cases
      more than one output format is specified in the report definition to the bi pub. Scan the list for the output_id for the data to the desired output format.
    6. Call getDocumentData on SchedulerService using the output_id above, which gives an array of bytes of report data, and save it using the java.io library

    If you want to avoid voting in step 3 you can configure a httpserver in bi publiher, which is basically a servlet url of a Web application deployed on a server

    Select Server Name URL Default Delete
    BiPubReportsWebApp http://hostname:PortName/webappnameWebApp/servleturi

    and when planning the report in step 1, you can specify these options in the ScheduleRequest element

    scheduleRequest.setNotificationServer (notificationHttpServerName) / /notificationHttpServerName = BiPubReportsWebApp

    scheduleRequest.setNotifyHttpWhenFailed (true);

    scheduleRequest.setNotifyHttpWhenSkipped (true);

    scheduleRequest.setNotifyHttpWhenSuccess (true);

    scheduleRequest.setNotifyHttpWhenWarning (true);

    So when the work is done bi publisher will make a post to you request httpservlet with jobid, reporturl, jobstatus, so you can use this jobid (which corresponds to the id of child labour) to perform steps 4 and following

    Another thing to note is step 6 gives the byte array return which may be huge in big reports and you can go outofmemeory in this case

    (1) request to the server to save the xml data and output on the server and returns the path where these files have been saved by using downloadXMLData and downloadDocumentData to the SchedulerService, and then tokensize the string to get the last piece

    (2) call downloadReportDataChunk of the report (in a loop) service to get the data for the xml data and the document into segments giving him the name of the file in step 1, a start index and chunksize

    While (offset! = - 1) {}

    LOG.debug ("Getting chunck number :->" + counter + "index :->" + beginIdx);

    ReportDataChunk reportDataChunk = getReportDataChunks (tmpFileNameOnServer, beginIdx, util.chunkSize);

    data = reportDataChunk.getReportDataChunk ();

    output. Write (Data);

    beginIdx = beginIdx + util.chunkSize;

    offset = reportDataChunk.getReportDataOffset ();

    counter ++;

    }

    public ReportDataChunk (String starts, int beginIdx, int size) getReportDataChunks survey com.oracle.xmlns.oxp.service.v2.reportservice.OperationFailedException_Exception,

    {com Oracle.xmlns.OXP.service.v2.ReportService.AccessDeniedException_Exception}

    ReportDataChunk reportDataChunk is getReportServicePort () .downloadReportDataChunk (starts, beginIdx, size, getUsername(), getPassword());.

    Return reportDataChunk;

    }

    Note: when you schedule a report using schedulereport pub bi api back you a job id but matching so that it creates a Collard work with a different id that does the job and this childjobid is given when using the method of notification httpserver.

Maybe you are looking for

  • How to make back to Firefox as it was a few weeks before a large number of features has been lost

    Firefox functioned very well at some point. After several upgrades he lost the feature so much that I need to go back to IE. However, I have added dozens of bookmarks, which are not in IE, so I need to switch back. I'm fed up with it now. A feature t

  • HP pavilion 2289se g6: win7 64-bit drivers for hp pavilion g6-2289se

    Hello I bought the Hp laptop with the back. Please help me find the drivers for win7 professional 64-bit. Product name: HP Pavilion G6-2289se Product number: D3G91EA #ABV Serial number: (deleted content) Thank you Zdzislaw

  • Format a number of figures in the two digits

    Hello A typical problem which is the formatting of all the numbers in a number 1 2 3 4 5 6 7 8 9 to the 01 02 03 04 05 06 07 08 09. I read str ( func without finding option right format.) What is the best way to make this work? Thank you

  • For HP 3056a TWAIN driver

    I just bought a HP3056a and I would like to be able to scan directly from the application Adobe Acrobat Pro (version 9).  When I try, I get the error "...". the selected scanner was not found. "My understanding is the Acrobat wants a twain driver th

  • 23 flash drive fails to update Firefox with Win XP

    I read a lot of remedies.  No work.  Firefox has disabled the currently installed version and a lot of things different need of Flash player to work.  It is very aggravating.