Issue in accessing Client Web Service 401 authentication error

Hi,
I have a requirement where i need to call a web service from SOA composite. When i deploy the service on SOA Server and try accessing it i get below error
**oracle.fabric.common.FabricException: Cannot read WSDL "{http://www.service-now.com}ServiceNow_u_incident" from Metadata Manager.: Error in getting XML input stream: https://XXXXXXX.service-now.com/incident.do?WSDL: Response: '401: Unauthorized' for url: 'https://XXXXXXXX.service-now.com/incicdent.do?WSDL'**
If i go from broweser and hit the url it asks for my ldap / windows credential.
My question is how to i pass these credentials from Composite.
sample service
https://demo.service-now.com/incident.do?WSDL
Shirish

To pass HTTP Basic Auth from an External Reference in a composite_
Set up in the EM
1. Create the credentials in the EM
- In the EM Weblogic Domain > right click the domain name
- Choose Security > Credentials
2. Create an oracle.wsm.security map
This is where the http token details are held
- If the oracle.wsm.security does not exist create one (Create Map)
- call it oracle.wsm.security
3. Create the Key
- Click create Key
- Enter the following values
     Select Map -> oracle.wsm.security
     Key -> Key name
     Type -> Password
     Username -> << basic auth username required >>
     Password -> << basic auth password required >>
     Description -> Clear text description
Note : Make the key name specific to the service you are accessing i.e. basic.credentials.sitea.demo
Secure the Reference Partner Link
In JDeveloper
     Open the composite that needs securing
     Right click on the external reference
     Select Configure WS Policies
     For Security, click the + button
     Select the oracle/wss_http_token_client_policy entry
     Select this and click the pencil button to edit the Override Value.
     In the override value column (csf-key), enter the credential key name you wish to use. i.e. basic.credentials.sitea.demo
Deploy the service, and this will now be secured against the Basic Auth.
This does not address SSO / Windows AD integration from the client, this is where a Web Service is protected by basic auth. If you need to integrate with AD as SSO etc then you will need to configure Kerberos. That is a much bigger explaination that you will probably find on the Net.
Good luck
Edited by: rodhiggins on 28/05/2013 22:52

Similar Messages

  • How to use Axis to access a web service through Authentication  proxy

    Using axis access internat web service is success,but access a web service through Authentication proxy is failure.But other java classes connect through a proxy to the internet which works very well:
    please help me ,thank you!!!
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import javax.xml.namespace.QName;
    //this is my access webservice faliure   codes
    public class TestClient
       public static void main(String [] args) {
           try {
                System.getProperties().setProperty("http.proxySet", "true");
                System.getProperties().setProperty("http.proxyHost","proxy.com");
                System.getProperties().setProperty("http.proxyPort", "8080");
                System.getProperties().setProperty("http.proxyUser", "username");
                System.getProperties().setProperty("http.proxyPassword","password");
               String endpoint =
                        "http://nagoya.apache.org:5049/axis/services/echo";
               Service  service = new Service();
               Call     call    = (Call) service.createCall();
               call.setTargetEndpointAddress( new java.net.URL(endpoint) );
               call.setOperationName(new QName("http://soapinterop.org/", "echoString") );
               String ret = (String) call.invoke( new Object[] { "Hello!" } );
               System.out.println("Sent 'Hello!', got '" + ret + "'");
           } catch (Exception e) {
               System.err.println(e.toString());
       }I get an "(407)Proxy authorization required" error?

    I am also looking for a solution. Does any one know how to do through code instead of jvm settings?
    Thanks in advance!

  • Issue with accessing OES Web services

    Hi,
    I have a question regarding access OES web services from external application. I am trying to validate the OES WS for Authorization, but I am getting an error - "Error getting response; org.apache.commons.httpclient.NoHttpResponseException: The server failed to respond"
    Is there any specific sequence which I need to follow while accessing this web service, such as first the user needs to be authenticated and then access can be determined or like?
    Thanks in advance!!

    Hi Kevin,
    Would you be able to tell me how you generate the web service client? And when you manage to generate the client, does it automatically generate <generated_name>_Stub.xml?
    Thanks,
    Alfonso Agustinus

  • Issue with calling external web service with authentication details ...

    Hi,
         I am facing a deployment issue with Oracle ESB. I am trying to call an external Web Service with authentication from ESB SOAP Service. It is working fine with my local ESB version 10.1.3.3.0 Build PCBPEL_10.1.3.3.0_GENERIC_070615.0525; however it is getting an error at our development ESB version 10.1.3.3.1 Build PCBPEL_10.1.3.3.1_GENERIC_RELEASE.
         I am getting following error.
    An unhandled exception has been thrown in the ESB system. The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: exception during SOAP invoke: Server was unable to process request. ---> Object reference not set to an instance of an object.; nested exception is: javax.xml.rpc.soap.SOAPFaultException: Server was unable to process request. ---> Object reference not set to an instance of an object. at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.populateFaultMessage(WSIFOperation_JaxRpc.java:3086) at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeOperation(WSIFOperation_JaxRpc.java:1728) at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeRequestResponseOperation(WSIFOperation_JaxRpc.java:1473) at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.executeRequestResponseOperation(WSIFOperation_JaxRpc.java:1196) at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:867) at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:770) at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:790) at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:208) at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:127) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:118) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:95) at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1424) at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:112) at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:307) at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispat
         Could one of you please help me out to understand why it is happining.
    Thanks in advance.
    Jyotirmoy.

    Hi Mahesh,
    One you are missing is authentication token or credentials.
    Please refer to the following articles.
    http://www.cleverworkarounds.com/2014/02/05/tips-for-using-spd-workflows-to-talk-to-3rd-party-web-services/
    A Series of articles related to Web Service in SPD Workflow
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 1
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 2
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 3
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 4
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 5
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 6
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 7
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 8
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 9
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 10
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 11
    Trials or tribulation?
    Inside SharePoint 2013 workflows–Part 12
    Please don't forget to mark it answered, if your problem resolved or helpful

  • How to access SOAP web service with authentication, HTTP basic Authentication

    Dear All
    i use Flash Builder 4.5, flex 4..1, i am developing a flex client to soap webservices hosted over Glassfish 2 Java server, the web services is protected by HTTP Basic Authentication, everythime i run my code , the prombt for username and password show up, i need to pass user name and password through action script, i followed the flollowing (but was for http web service, not soap) but really did not work.
    http://stackoverflow.com/questions/490806/http-basic-authentication-wi th-httpservice-objects-in-adobe-flex-air
    http://forums.adobe.com/message/4262868
    private function authAndSend(service:HTTPService):void
            var encoder:Base64Encoder = new Base64Encoder();
            encoder.insertNewLines = false; // see below for why you need to do this
            encoder.encode("someusername:somepassword");
            service.headers = {Authorization:"Basic " +encoder.toString()};                                               
            service.send();
    Also i noticed in debug mode, always that WARNNING raised up
    Warning: Ignoring 'secure' attribute in policy file from http://fpdownload.adobe.com/pub/swz/crossdomain.xml.  The 'secure' attribute is only permitted in HTTPS and socket policy files.  See http://www.adobe.com/go/strict_policy_files for details.
    any idea ?

    Hello,
    I don't know if this could help.
    Another way to connect to a web service by SOAP and WSDL is to click on the Data/Services panel, then click on "Connect to Data/Services" and then select the "Web Service" (WSDL) icon. This could help as well.

  • Calling external web service - Proxy Authentication error

    Using Developer 10.1.3.3 and following OTN example http://www.oracle.com/technology/products/forms/htdocs/10gr2/howto/webservicefromforms/ws_10_1_3_from_forms.html.
    I have followed the above example and am trying to test the SendServiceSoapClient.java in JDeveloper. The class compiles ok but when I run it I receive the following error in the log window :
    HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 407 Proxy Authentication Required
    As I was able to create the proxy with no problems, the proxy settings in Tools->Preferences are valid. I don't understand at what point it is failing as I am able to access the wsdl in the example from JDeveloper. I have checked the system settings for the proxy (username/pwd/host etc) at run time and they are as expected.
    Can anyone make any suggestions? I have had my user details checked on our proxy server and it is not blocked from performing any actions. Is the message indicating I am being blocked from accessing the service from the suppliers end?

    I have a solution for the problem I encountered.
    My collegues who look after the proxy server and network first tried to bypass authentication for the web site www.esendex.com (where the service resides). The same error occurred when trying to call the service.
    They then set up a route on the network to send the request straight to www.esendex.com and a rule on the firewall to allow the request 'out'. This has done the trick and the request passes through!
    Unfortunately, I am not much clearer as to why our proxy server is configured to block this message type and how come it can't be changed! Hey ho, I have a solution for now!

  • Accessing XI web service from portal as client

    Hi all
    I need to access a web service which has been created on XI    
    server. I want to acess it from enterprise portal as a web service client. please provide related links to achieve this.
    thanks in advance
    vaishali

    Vaishali,
    never did this before, but some general ideas:
    Do you have an WSDL for that web service? Then simply use your NWDS and select New --> Portal Service --> From WSDL (or similar). What I mean is the following: NWDS can read WSDL files and will automatically generate a proxy for you that actually generates an ordinary portal service. This portal service then can be called by standard means in SAP EP.
    Regards,
    Dominik

  • Problem accessing https Web service from behind proxy

    Hi all,
    I have this constant timeout issue which occurs whenever I try to access the Web service from behind a proxy.
    Find below the error logs -
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: java.net.ConnectException: Connection timed out: connect
    faultActor:
    faultNode:
    faultDetail:
    {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
    at java.net.Socket.connect(Socket.java:452)
    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:324)
    at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:136)
    at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:100)
    at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:129)
    at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:389)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:87)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:144)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2688)
    at org.apache.axis.client.Call.invoke(Call.java:2671)
    at org.apache.axis.client.Call.invoke(Call.java:2357)
    at org.apache.axis.client.Call.invoke(Call.java:2280)
    at org.apache.axis.client.Call.invoke(Call.java:1741)
    I am using Tomcat 5.0.19 . Could anyone suggest a possible solution to the same?
    The system works fine when I use a http endpoint.

    Hi,
    By default, your application tries to connect to the Net directly : if you have to specify a proxy, use either these lines in your code :
    System.setProperty("http.proxySet", "true");
    System.setProperty("http.proxyHost", "proxy");
    System.setProperty("http.proxyPort", "8080");
    Or specify them in the command line with the "-D"option.
    Ex : java .... -Dhttp.proxySet=true .... MyApp
    Hope it helps.
    See ya

  • Accessing XI Web Service in Web DynPro

    Hi Experts,
             I have a scenario wherein, I will have to access a Web Service that created in XI.
    My Finding still now,
    1. I have a web service which is created in XI System.
    2. Created a Logical Destination in the Visual Administrator. We have given the wsdl URL, system ID, Client and Basic Authentication Information.
    3. When we test the Web Service in the Visual Admin, we get a Message Reponse 200, but the content type says Unknown
    4. When we test the Web Service in the SOAP Sonar Web Service Testing Tool, we are getting the correct solution
    5. After that, we tried creating an Adaptive Web Service Model, using the WSDL URL.
    6. When we deploy the application, we get the following error
    Exception on creation of service metadata for WS metadata destination 'POItems' and WS interface 'POitem_WS_OUT'. One possible reason is that the metadata destination 'POItems' has not been properly configured; check configuration
    When I tried to access a BAPI that is exposed as a Web Service by default, I end up in the following error
    Exception on execution of web service with WSDL URL 'http://mycomp01:1001/sap/bc/soap/wsdl11?services=ZBAPI_POITEM_GETLIST&sap-client=800' with operation 'ZBAPI_POITEM_GETLIST' in interface '{urn ap-com ocument ap:rfc:functions}ZBAPI_POITEM_GETLISTPortType'
    I have also tried to create a Deployable Web Service using the WSDL file in the Web Service Perspective. Once I deploy the ear file, it appears in the Visual Admin, but when I try testing it I get an error with Response Code 500
    Note: I have tried to create an Adaptive Web Service model for the following Link : http://www.webservicex.net/WeatherForecast.asmx?wsdl that is availbale in the net using a logical destination that refers to the same WSDL URL, the application is working fine.
    Server/Studio Config details
    J2EE - 7.0
    NWDS 2004s SP 12
    JDK - 1.4.2_09
    Please suggest a solution for the above problem or it would be helpful if you can give links that helps in creating a Web DynPro Application to access the XI Web Service. We have followed as per this Link :
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b2bc0932-0d01-0010-6d8e-cff1b2f22bc7
    Regards,
    Mathan MP

    Vaishali,
    never did this before, but some general ideas:
    Do you have an WSDL for that web service? Then simply use your NWDS and select New --> Portal Service --> From WSDL (or similar). What I mean is the following: NWDS can read WSDL files and will automatically generate a proxy for you that actually generates an ordinary portal service. This portal service then can be called by standard means in SAP EP.
    Regards,
    Dominik

  • How to access .asmx Web Service using JAVA? Newbie

    Hello Experts,
    Currently, I have a project where in I have to access a ,NET web service. It is made of C#. I just want to ask how will I start the accessing process? I made this simple equation on how my project is.
    Java Project + C#.Net Web Service = Integration
    1. Do i need to create a Web Service too for the Java Project? If yes, What are the necessary tools needed for the creation of this Java Web Service?
    2. The .NET Web Service is available online. (It is made by other people).
    3. Based on the equation, what is the equivalent technology for the + sign?
    4. Can you site a concrete example for accessing a web service?
    5. I'm new here. Totally I have no idea where to start.
    6. Thank you experts.
    Edited by: Benedict.Aluan on 05 30, 08 1:38 PM
    Edited by: Benedict.Aluan on 05 30, 08 1:39 PM

    Hello
    Thanks a lot for your help ...
    I am developing simple J2EE based web service client using IBM WSAD 5.1. I have used the following code to call .asmx web service in Java
    String url = "http://www.w3schools.com/webservices/tempconvert.asmx?wsdl";
         String namespace = "http://tempuri.org/";
         name = request.getParameter("txtName");
         try
              System.out.println("In Internet Service");
              ServiceFactory factory = ServiceFactory.newInstance();
              Service serv = factory.createService(new URL(url),new QName(namespace,"TempConvert"));
              System.out.println("Got Service......");
              Call obj = (Call)serv.createCall();
              System.out.println("Got Call......");
              obj.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,"");
              obj.setProperty(Call.OPERATION_STYLE_PROPERTY,"wrapped");
              obj.setTargetEndpointAddress(url);
              obj.setPortTypeName(new QName(namespace,"TempConvertSoap"));
              obj.setOperationName(new QName(namespace,"FahrenheitToCelsius"));
              obj.addParameter("param1",XMLType.XSD_STRING,String.class,ParameterMode.IN);
              obj.setReturnType(XMLType.XSD_STRING);
              System.out.println("Parameters Set.....");
              Object[] params = new Object[]{name};
              k = (String)obj.invoke(params);
              System.out.println("Result: "+k);
         catch(Exception e)
            System.out.println("Exception is : "+e);
        }But this code is throwing exception that
    Invalid Address "http://www.w3schools.com/webservices/tempconvert.asmx?wsdl"I have also tried this URL with Java Proxy. But it showing the same error.
    Plz can u tell me how to access .asmx web service ?
    Waiting 4 reply.

  • How to access the Web Service Browser

    Hi,
    I need to access the Web Service Browser to generate a Web Service Description.
    How can I do it?
    I use the follow url:
    http://<host_name>:<port_number>/sap/bc/bsp/sap/WebServiceBrowser/search.html?sap-client=<relevant_client>
    but I can't say how to determine values for the three placeholders.
    Help me please.
    THANKS

    Hi Andrea,
    you can access the web services in sap transaction SICF. Then right click on the
    service and choose "test". The hostname is the host on where the sap system
    runs.
    The port ´number can be seen in transaction SMICM -> shift + F1. Here you can see
    the portnumer assigned to the HTTP protocol.
    And the client is the sap client (standard client) for which the service is configured.
    Hope this helps.
    KR,
    Andreas

  • Visual Studio 2012: Can't access Sharepoint Web Services because of Discovery Credentials Prompt

     
    Hi.
    I've exactly the same problem that is descripted
    here, so I'll add its description here.
    My SharePoint is 2010
    I am trying to access the web services that are located in this url:
    http://<part_of_th_url_omitted>/_vti_bin/Lists.asmx. I have no problem accessing
    this URL using my broswer, that is, when I type the URL and my browser's address bar and press enter, I can see the list of the services that are available. I encounter no problem by accessing this site through my browser at all.
    However, when I try to access the services from that URL (http://<part_of_the_url_omitted>/_vti_bin/Lists.asmx),
    a Discovery Credential Dialog box prompts me for my username and password. SO what I do is I enter my username and password that I used to access the sharepoint using my browser, the problem is, the dialog box doesn't seem to accept the username and password
    that I enter as the dialog box is keep on appearing.
    Below are the detailed steps on how I go about in adding the Web Services.
    1. From the Solution Explorer, I right click on the "Service References" folder.
    2. From the context menu that appears, I Click on "Add Service Reference...". The "Add Service Reference" Dialog box will appear.
    3. From the "Add Service Reference" dialog box, I click on the "Advanced,,," button which can be seen at the bottom-left of the dialog
    box. The "Service Reference Settings" Dialog box will appear.
    4. From the "Service Reference Settings" dialog box, I click on the "Add Web Reference..." dialog box. The "Add Web Reference"
    Dialog box will appear. This is the dialog box where I can type the URL of the service that I want to access. So I type "http://<part_of_the_url_omitted>/_vti_bin/Lists.asmx".
    AFter typing that, I click on the Go button (which is the green arrow button at the right of the address bar of this dialog box).
    5. After doing that, a prompt dialog box will appear which has the title "Windows Security" and it is aking for my username and password. SO
    what I do is I enter the Username and the Password that I use in accessing the sharepoint site (http://<part_of_the_url_omitted>/_vti_bin/Lists.asmx)
    6. The prompt seems to accept the Username and Password, but after that, a new dialog box appeared with the title "Discovery Credential" and
    it says "The Service 'http://<part_of_the_url_omitted>/_vti_bin/Lists.asmx' requires a username and
    password". SO what I do is I enter again the un and pw that I use to access the sharepoint site, the one that I used inm the previous dialog box.
    7 After entering the username and the password and clicking the OK button. The dialog box reappears still asking for a username and a password, but this
    time, it shows a different message. It says "The Service 'http://<part_of_the_url_omitted>/_vti_bin/Lists.asmx/$metadata'
    requires a username and password". SO it really, what oonly changed is the URL, it has now the $metadata at the end. What do I do? I eneter the username and password again.
    8. After clicking Ok again, the dialog box reappears, now it says "The Service 'http://<part_of_the_url_omitted>/_layouts/1033/error.aspx'
    requires a username and password." Now it shows a very different username. Of ocurse, I still type in the username and password and click Ok.
    9. after doing that, the dialog box reappears again and it shows the same message as in step 6. So I do steps 6, 7 and 8 in a loop.
    10. When I finally get tired of entering the username and password, I click on cancel. The message box reappears again. So I click on cancel again. After
    doing that, I can then, surprisingly, see the list of the web services. However, not surprisingly, I still can't use it because the "Add Reference" button which I need to click in order to use the Web services is disabled. So I can only see the list
    of the services but I can't use it.

    Hi Gaston,
    I would suggest you the following thread, check whether it meet your scenario, it shows that if you have set IE options to remember the username and password, and you have enter wrong password before, this issue may happen:
    http://social.msdn.microsoft.com/Forums/sharepoint/en-US/a7f466a5-0e4a-4f75-ad29-9591e2357e10/sharepoint-web-services-visual-studio
    Thanks,
    Qiao Wei
    TechNet Community Support

  • Not able to access SOAP web service data control from adf mobile

    Hi,
    I am trying to call web services from adf mobile..
    I have created data control from external web service and it is perfectlly working on web browser..
    But why it is showing an error on emulator??
    Is there any .jar file missing in adf mobile so that it is not supporting a web service?
    Or is there any other problem? Emulator is connected to network and I am able to run WSDL in emulator's browser..
    Please help me to solve this issue..
    Thanks,
    Laxmi

    Emulator is connected to network and I am able to run WSDL in emulator's browser..
    Connecting to WSDL in the browser is not the same as connecting to WSDL in an application.
    To access a web service from an Android device enable a permission in AndroidManifest.xml that allows applications to open network sockets. Add the following uses-permission element.
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

  • Access a web service from pl/sql

    I am trying to access a web service from pl/sql. I have downloaded the code from
    http://www.oracle.com/technology/tech/webservices/htdocs/samples/dbwebservice/DBWebServices_PLSQL.html
    But when I try to execute the sql, I am getting the following error:
    SQL> @local.sql
    Package created.
    Package body created.
    No errors.
    BEGIN dbms_output.put_line(time_service.get_local_time('94065')); END;
    ERROR at line 1:
    ORA-29273: HTTP request failed
    ORA-06512: at "SYS.UTL_HTTP", line 1022
    ORA-12545: Connect failed because target host or object does not exist
    ORA-06512: at "WEB.DEMO_SOAP", line 71
    ORA-06512: at "WEB.TIME_SERVICE", line 15
    ORA-06512: at line 1
    It is failing at:
    resp := demo_soap.invoke(req,
    'http://www.ripedev.com/webservices/LocalTime.asmx',
    'http://ripedev.com/xsd/ZipCodeResults.xsd/LocalTimeByZipCode');
    But in the examples that I got from downloading source code, site used was:
    'http://www.alethea.net/webservices/LocalTime.asmx',
    'http://www.alethea.net/webservices/LocalTimeByZipCode');
    This site was not accessible. So I changed to the working site as follows, but still I
    am getting the above error.
    But I can access this site, if I type in the above address in the address bar of IE.
    Can any body help?
    I have oracle9i client installed on my machine and able to connect to server thru toad and sql plus.
    or IF any body refers me to a good website for the topic of "using webservies from pl/sql" that would be great too!

    Here is the complete code:
    time_service:
    CREATE OR REPLACE PACKAGE time_service AS
    FUNCTION get_local_time(zipcode IN VARCHAR2) RETURN VARCHAR2;
    END;
    CREATE OR REPLACE PACKAGE BODY time_service AS
    -- Location of Web service definition
    -- http://www.alethea.net/webservices/LocalTime.asmx?WSDL
    -- http://www.ripedev.com/webservices/LocalTime.asmx?WSDL
    -- http://www.xmethods.com/sd/2001/CurrencyExchangeService.wsdl
    --'http://ripedev.com/xsd/ZipCodeResults.xsd/LocalTimeByZipCode style=document');
    FUNCTION get_local_time(zipcode IN VARCHAR2) RETURN VARCHAR2 IS
    req demo_soap.request;
    resp demo_soap.response;
    BEGIN
    dbms_output.put_line('before new request..');
    req := demo_soap.new_request('LocalTimeByZipCode',
    'xmlns="http://ripedev.com/xsd/ZipCodeResults.xsd"');
    dbms_output.put_line('before add param..');
    demo_soap.add_parameter(req, 'ZipCode', 'xsd:string', zipcode);
    dbms_output.put_line('before invoke..');
    resp := demo_soap.invoke(req,
    'http://www.ripedev.com/webservices/LocalTime.asmx',
    'http://ripedev.com/xsd/ZipCodeResults.xsd/LocalTimeByZipCode');
    dbms_output.put_line('before return..');
    RETURN demo_soap.get_return_value(resp, 'LocalTimeByZipCodeResult',
    'xmlns="http://www.ripedev.com/webservices/"');
    END;
    BEGIN
    dbms_output.put_line('inside main time_service..');
    END;
    show errors
    SET serveroutput ON
    exec dbms_output.put_line(time_service.get_local_time('94065'));
    Here is demo_soap.sql:
    Rem
    Rem $Header: soapdemo.sql 21-may-2002.13:48:17 rpang Exp $
    Rem
    Rem soapdemo.sql
    Rem
    Rem Copyright (c) 2002, Oracle Corporation. All rights reserved.
    Rem
    Rem NAME
    Rem soapdemo.sql - <one-line expansion of the name>
    Rem
    Rem DESCRIPTION
    Rem A PL/SQL demo package for making SOAP RPC calls.
    Rem
    Rem NOTES
    Rem This demo package can only be used in oracle 9ir2. It utilizes 9iR2's
    Rem XDB (XMLType and HttpUriType) and 9iR1's enhancements to UTL_HTTP to
    Rem make SOAP RPC calls.
    Rem
    Rem MODIFIED (MM/DD/YY)
    Rem rpang 05/21/02 - created
    Rem
    Rem A PL/SQL demo package that makes a SOAP RPC calls.
    Rem
    CREATE OR REPLACE PACKAGE demo_soap AS
    /* A type to represent a SOAP RPC request */
    TYPE request IS RECORD (
    method VARCHAR2(256),
    namespace VARCHAR2(256),
    body VARCHAR2(32767));
    /* A type to represent a SOAP RPC response */
    TYPE response IS RECORD (
    doc xmltype);
    * Create a new SOAP RPC request.
    FUNCTION new_request(method IN VARCHAR2,
    namespace IN VARCHAR2)
    RETURN request;
    * Add a simple parameter to the SOAP RPC request.
    PROCEDURE add_parameter(req IN OUT NOCOPY request,
    name IN VARCHAR2,
    type IN VARCHAR2,
    value IN VARCHAR2);
    * Make the SOAP RPC call.
    FUNCTION invoke(req IN OUT NOCOPY request,
    url IN VARCHAR2,
    action IN VARCHAR2) RETURN response;
    * Retrieve the sipmle return value of the SOAP RPC call.
    FUNCTION get_return_value(resp IN OUT NOCOPY response,
    name IN VARCHAR2,
    namespace IN VARCHAR2) RETURN VARCHAR2;
    END;
    show errors
    CREATE OR REPLACE PACKAGE BODY demo_soap AS
    FUNCTION new_request(method IN VARCHAR2,
    namespace IN VARCHAR2)
    RETURN request AS
    req request;
    BEGIN
    req.method := method;
    req.namespace := namespace;
    RETURN req;
    END;
    PROCEDURE add_parameter(req IN OUT NOCOPY request,
    name IN VARCHAR2,
    type IN VARCHAR2,
    value IN VARCHAR2) AS
    BEGIN
    req.body := req.body ||
    '<'||name||' xsi:type="'||type||'">'||value||'</'||name||'>';
    END;
    PROCEDURE generate_envelope(req IN OUT NOCOPY request,
                   env IN OUT NOCOPY VARCHAR2) AS
    BEGIN
    env := '<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP-ENV:Body><'||req.method||' '||req.namespace||'
    SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">'||
    req.body||'</'||req.method||'></SOAP-ENV:Body></SOAP-ENV:Envelope>';
    END;
    PROCEDURE show_envelope(env IN VARCHAR2) AS
    i pls_integer;
    len pls_integer;
    BEGIN
    i := 1; len := length(env);
    WHILE (i <= len) LOOP
    dbms_output.put_line(substr(env, i, 60));
    i := i + 60;
    END LOOP;
    END;
    PROCEDURE check_fault(resp IN OUT NOCOPY response) AS
    fault_node xmltype;
    fault_code VARCHAR2(256);
    fault_string VARCHAR2(32767);
    BEGIN
    fault_node := resp.doc.extract('/soap:Fault',
    'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/');
    IF (fault_node IS NOT NULL) THEN
    fault_code := fault_node.extract('/soap:Fault/faultcode/child::text()',
         'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/').getstringval();
    fault_string := fault_node.extract('/soap:Fault/faultstring/child::text()',
         'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/').getstringval();
    raise_application_error(-20000, fault_code || ' - ' || fault_string);
    END IF;
    END;
    FUNCTION invoke(req IN OUT NOCOPY request,
    url IN VARCHAR2,
    action IN VARCHAR2) RETURN response AS
    env VARCHAR2(32767);
    http_req utl_http.req;
    http_resp utl_http.resp;
    resp response;
    BEGIN
    generate_envelope(req, env);
    -- show_envelope(env);
    http_req := utl_http.begin_request(url, 'POST','HTTP/1.0');
    utl_http.set_header(http_req, 'Content-Type', 'text/xml');
    utl_http.set_header(http_req, 'Content-Length', length(env));
    utl_http.set_header(http_req, 'SOAPAction', action);
    utl_http.write_text(http_req, env);
    http_resp := utl_http.get_response(http_req);
    utl_http.read_text(http_resp, env);
    utl_http.end_response(http_resp);
    resp.doc := xmltype.createxml(env);
    resp.doc := resp.doc.extract('/soap:Envelope/soap:Body/child::node()',
    'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"');
    -- show_envelope(resp.doc.getstringval());
    check_fault(resp);
    RETURN resp;
    END;
    FUNCTION get_return_value(resp IN OUT NOCOPY response,
    name IN VARCHAR2,
    namespace IN VARCHAR2) RETURN VARCHAR2 AS
    BEGIN
    RETURN resp.doc.extract('//'||name||'/child::text()',
    namespace).getstringval();
    END;
    END;
    show errors

  • How to set up User id and Password for Web services or authentication

    Hi ,
    I am new to web services . I have created a new Web service in SAP , and while creating Service defination , set the Authentication as LOW for server proxy .Then created End-point in SOAMANAGER with USREID/PWS requried .This WSDL i am planning to share with Third party to call from Java application.
    But my web service checks for authorization which needs to be set up to allow the user id and pws .
    So question is how do i pass my user id and pws as i do not see this WSDL with User id and pws option displayed for me when i test this using SOAP UI .I saw some of WSDL with tag "AuthHeader" with user id and pws tags in them .So how could i get them ?
    Or requirement is that my Third party should be able to access my Web service in PRD and also be able to have authorization to auth object embedded in FM inside service defination .So how is this acheived ?
    Thanks,
    Sitaraman

    Hi,
    After creation of WSDL , you will get URL lkie http://idessapdev.ad.infosys.com:8000/index.html.
    For this URL your third party system need sto add id and pwd for accessing like http://idessapdev.ad.infosys.com:8000/index.html&userid = 111&pwd= wwgw.
    this is not the exact syntax. you can check with your third party system for this URL.
    Regards,
    Lokeswari.

Maybe you are looking for

  • How can I create a rotating basketball image in Motion?

    I need to have a basketball rotate and do a full 360 degree. I took an image from Google Images and dragged into Motion and applied the sphere filter. Is that the best 3D looking basketball I can get from a 2D image? Thanks! Message was edited by: Ho

  • Lost all my music in my library when I update to 10.5.8, how can I get it back?

    When I updated to 10.5.8, I had backed up all my files and some I did as zip. files as not to take up a lot of space which I did not have. When I went to un-zip myn music Library, this is what I got. help.  If you need more information just ask. than

  • Restoring/Formatting Mac

    So I want to reformat my mac...first off I just want to know if its necessary...I've had it for 4 years now and never done a restore(which is quite incredible cause before this mac I had a windows pc and probably had to reformat once every 3 months)

  • Send email with attachment html format.

    Hello experts, I have 1 screen with 4 tables , 3  is table control , and 1 is container . I want sent e-mail which include this screen in html format. How can i do this? Thanks for the help. Avi. Edited by: avi azulay on Oct 13, 2010 10:38 PM

  • Problem with opening recent projects

    Hello all, I've been working on a project on FCP since july and I've been saving it to an external HD since then. There's been 3-4 other projects I've worked on along the way, and I've tried to keep everything organized and saved properly (I.e. I alw