Calling a service of OSB (Type of Service: any Service of XML) of BPEL

Recently I had the question in an Interview:

How an OSB services (of the Type of Service: Any Service of XML) can be called from a BPEL service?

This OSB service is not exposed as a WSDL.

Protocol: http

Endpoint URI: / TestOSBProject1/ps/SyncReadPS

Host: localhost

Port: 7001

URL: http://localhost:7001 / TestOSBProject1/ps/SyncReadPS

When I hit this URL I get the message--> " " "this XML file does not appear to be any information of style associated with it. "The document tree is shown below."

WSDLURL: http://localhost:7001 / TestOSBProject1/ps/SyncReadPS? WSDL

When I hit this URL I get the message-> ' "error 500 - internal error of the Service- this service is not associated with a WSDL file".

Is there some way yo call this service from BPEL?

URL: http://localhost:7001 / TestOSBProject1/ps/SyncReadPS

When I hit this URL I receive the message--> " "this XML file does not appear to be any information of style associated with it. "The document tree is shown below."

What is the adapter using your when you call http://localhost:7001 / TestOSBProject1/ps/SyncReadPS

Binding HTTP of the user while calling OSB Service(of Service Type: Any XML Service)


Thank you

Tags: Fusion Middleware

Similar Questions

  • call a service of OSB http basic authentication

    Hi all

    There is an external Web service that requires http basic authentication.
    How to call this webservice of OSB?
    I use OSB 11 g R1.

    Thank you.

    Published by: 835266 on February 9, 2011 07:35

    Google.com-> 'oracle service bus basic http authentication'

    http://download.Oracle.com/docs/CD/E13159_01/OSB/docs10gr3/security/model.html

  • German characters problem when calling Web Services via UTL_HTTP

    Dear members,

    I try to call the services of SAP CRM Web of Oracle PL/SQL. I used following code which works very well.
    -- call web service using Oracle UTIL_HTTP packages
    DECLARE
      http_req utl_http.req;
         http_resp utl_http.resp;
         lv_request VARCHAR2(32767);
         lc_response CLOB;
         lv_buffer VARCHAR2(32000);
         lv_name          VARCHAR2(256);
         lv_hdr_value     VARCHAR2(1024);     
         l_xml XMLType;          
    BEGIN     
         utl_http.set_persistent_conn_support(true);
         utl_http.set_transfer_timeout(600);
         
         http_req:= utl_http.begin_request
                                       ( url => 'http://xyz3ni92.server.xyz.com:8045/sap/bc/srt/xip/sap/crm_bupa_custid_qr/011/customersbycrmid/http_binding'
                                       , method => 'POST'                              
                                       );
         lv_request := '<?xml version="1.0" encoding="UTF-8"?>'
         ||'<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:glob="http://sap.com/xi/CRM/Global2">'
       ||'<soap:Header/>'
       ||'<soap:Body>'
          ||'<glob:CustomerCRMByIDQuery>'
             ||'<MessageHeader>'
                ||'<ID schemeID="?" schemeAgencyID="?" schemeAgencySchemeAgencyID="?"></ID>'
                ||'<UUID></UUID>'
                ||'<ReferenceID schemeID="?" schemeAgencyID="?" schemeAgencySchemeAgencyID="?"></ReferenceID>'
                ||'<ReferenceUUID></ReferenceUUID>'
             ||'</MessageHeader>'
             ||'<BusinessPartnerSelectionByBusinessPartner>'
                ||'<UUID schemeID="?" schemeAgencyID="?"></UUID>'
                ||'<InternalID>2200117598</InternalID>'
             ||'</BusinessPartnerSelectionByBusinessPartner>'
          ||'</glob:CustomerCRMByIDQuery>'
               ||'</soap:Body>'
         ||'</soap:Envelope>';     
         /*set username and password*/
         utl_http.set_authentication (
                   r => http_req,
                   username => 'WS_USER',
                   password => 'WS_PASSWORD',
                   scheme => 'Basic',
                   for_proxy => false);     
                   
         utl_http.set_header(http_req, 'Content-Type', 'application/soap+xml;charset=UTF-8'); 
         utl_http.set_header(http_req, 'Content-Length', LENGTHB(lv_request));
         utl_http.write_text(http_req, lv_request);
         /*Make HTTP call*/
         http_resp:= utl_http.get_response(http_req);
         
         /*read response text from response*/
         BEGIN
                   LOOP
                             utl_http.read_text(http_resp, lv_buffer);
                             lc_response := lc_response || TO_CLOB(lv_buffer);
                   END LOOP;
         EXCEPTION
                   WHEN OTHERS THEN
                        -- ora-29266 end-of-body reached
                        IF SQLCODE <> -29266 THEN
                                  RAISE;
                        END IF;
         END;
         utl_http.end_response(http_resp);     
         l_xml := XMLType(lc_response);
         /*Log response for testing*/
         DELETE FROM webservice_log;
         INSERT INTO webservice_log (seq_id,xml_response) VALUES (sqe_Webservice_Log.NEXTVAL,l_xml);
    EXCEPTION WHEN OTHERS THEN
              RAISE;
    END;
    However, if there are any German character in SAP, then they are replaced by UNWANTED data when they come to Oracle.

    If I invoke continues the same web service tools like SOAP-UI, then German characters do very well. I've also drawn web service queries and answers of the side SAP, and there response shows fine. When it comes to Oracle, they are themselves corrupt.

    I'm sure it's something to do with the character, but I am not able to find where and what should I fix/change.

    Thank you for your help in advance.

    DB: Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production
    NLS_DATABASE_PARAMETERS
    PARAMETER                      VALUE                                  
    ------------------------------ ----------------------------------------
    NLS_LANGUAGE                   AMERICAN                                 
    NLS_TERRITORY                  AMERICA                                  
    NLS_CURRENCY                   $                                        
    NLS_ISO_CURRENCY               AMERICA                                  
    NLS_NUMERIC_CHARACTERS         .,                                       
    NLS_CHARACTERSET               AL32UTF8                                 
    NLS_CALENDAR                   GREGORIAN                                
    NLS_DATE_FORMAT                DD-MON-RR                                
    NLS_DATE_LANGUAGE              AMERICAN                                 
    NLS_SORT                       BINARY                                   
    NLS_TIME_FORMAT                HH.MI.SSXFF AM                           
    NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM                 
    NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR                       
    NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR             
    NLS_DUAL_CURRENCY              $                                        
    NLS_COMP                       BINARY                                   
    NLS_LENGTH_SEMANTICS           BYTE                                     
    NLS_NCHAR_CONV_EXCP            FALSE                                    
    NLS_NCHAR_CHARACTERSET         AL16UTF16                                
    NLS_RDBMS_VERSION              11.2.0.1.0   
    Kind regards
    Hari

    added other details by: Hari_639 on April 24, 2013 18:45

    I'm not really experienced with utl_http, but maybe you'll read on SET_BODY_CHARSET in the documentation.
    ISO-8859-1 is the default characterset, until you specify the characters in the attribute content_type and text media.
    But your media type is not text, then perhaps affecting the body charset UTF - 8 can help.

    concerning

  • OSB11g - I need to call a service at intervals of time-any option?

    Hey Geeks,

    I need to call a service at regular intervals - offers OSB the same?

    Here's a way to do it, not very sophisticated but it will work.
    1 put the infinite attempts on the JMS queue (no limit of attempts) and significant a delay between attempts (you may need to tweak it based on performance tests but 5 minutes seems a fair value).
    2. using the factory of XA connections to access the queue for messages can be cancelled
    3. in the Proxy service that reads messages from the queue, first make a call for audit of system B in the request pipeline status, if the queue length is less than the recommended limit and then route the message to the system B. If the queue length is more than limit and you want to delay the sending of the message, then triggers an error in the Service of the Proxy and the message will be restored in the JMS queue and retried after 5 minutes (or any value that you put in the new attempt to delay the creation of the queue).
    4. in addition, since there will be cases where messages are queued to the top, and if you do not want to try more than one message at a time, then set a work with a wire constraint Manager Max to the desired number of threads on the JMS Proxy and also reduce the Maximum Messages per setting of session Connection Factory default value of 10 to 1.

    Another approach would be to create a planner to call the process.
    1. create a planner for the BSO
    See here:
    http://blogs.Oracle.com/jamesbayer/entry/weblogic_scheduling_a_polling
    3. create a simple Java class that reads the message from the JMS queue synchronously
    2 when the Scheduler calls the OSB Proxy service, check the queue length in system B by calling the web service of State of system B.
    3. If the length of the queue is within the limit then make a legend of Java to the synchronous consumer class and retrieves the message from the Proxy of OSB
    4 to get the message to system B

  • Calling Web services

    Please give me exactly code snippet for calling Web services.

    Welcome on the support forums.

    You can find some samples using the search tool.
    There is no 'exact snippet", just a few general samples using ksoap2 or heels.

  • I got a so-called windows services call, to solve the problems they had received through error reports.

    I got a so-called windows services call, to solve the problems they had received through error reports. I was instructed to enter an address in the term to start the process, but I did not trust the call. Was - this legitimate?

    Original title: windows services

    Of course it's a scam designed to extract money from your

  • ADF Mobile | call web service from Java. non-reflecting values in the AMX page

    Hi all

    I am using JDEv11124 with ADF Mobile extensions39.62.64.

    My use case is as follows.

    1. my application has 2 Pages a. Login home b.

    2. in the user login Page between user name and click on the "submit" button.

    3. on the homepage I displayed the company they joined.

    4. in the "submit" button is clicked, action defined in the support bean method will be called.

    5. by supporting the action bean method, I'll call the method of the Web Service to validate the entered user name, if the entered user name is valid, that I have to post its company name in the home page.

    6. I am moving back from the web service of datacontrol in Home.amx page

    7. calling web services from Java as follows:

    GenericType = result

    (GenericType) AdfmfJavaUtilities.invokeDataControlMethod ("Comp", null, "getCompany",

    pNames, params,

    PTypes);

    System.out.println ("after the call to the service" + result.getAttributeCount ());

    8. in the Java class, I get the response correctly (as the company designating the username entered as 'SOCIETY'), where when I navigate to the home page, I don't see any results for the method return (name of the company that dropped like OutputText in Home.amx)

    Did I miss something for this. or something more that I need to do to make it work?

    Please suggest.

    Thank you

    Vieira

    Hi all

    I was able to achieve this by executing my method in bean support.

    This code is as follows:

    AdfELContext adfELContext = AdfmfJavaUtilities.getAdfELContext ();

    MethodExpression me =.

    () AdfmfJavaUtilities.getMethodExpression

    "#{bindings.retreiveLocationInformation.execute}".

    (, Object.class, Class [] {}) new;

    me. Invoke (adfELContext, new Object [] {});

    Thanks to Luc Bors WebLog Luc Bors Weblog: ADF Mobile: implementation of "Pull to refresh" model

    Kind regards

    Vieira

  • Hello. How can I call customer service of the Thailand?

    Please, help call the service the customer of the Thailand. I have applied to the service to the customer already and not even the number of investigation, but the customer service person has me logged in for 2 weeks already.

    Sofia, that I apologize for the experience you had with the support, but I just reviewed case notes, and it is said that the refund has been processed.

    This may take 4-5 business days for the refund to credit your account.

  • Trying to cancel my subscription but can continue to will return to bike and returns through the cancellation process - tells me I need to call customer service but no phone number is available.

    Trying to cancel my subscription but can continue to will return to bike and returns through the cancellation process - tells me I need to call customer service but no phone number is available.

    Hello Marilyn,.

    Please sign in to your Adobe account and then go to the link below:

    Contact the customer service

    Reference: cancel your creative cloud membership

    Kind regards

    Sheena

  • Can I extract data from AR invoice of merger Financials with a call of Service Web ADF?

    Can I recover data AR invoice of merger Financials (SAAS) by using a call to Service Web ADF?

    How that is done?

    Thank you!

    Arie

    Hi Arie

    There is no available web services to query the data from invoices AR.

    Hope this helps

    Thank you!

    Vik

    http://blogs.Oracle.com/fadevrel

  • Error object VO when calling Web Service.

    Hello
    I created a page with 5 field lookup with three buttons and text.

    The features are:

    1. as the page loads I call Web Service to set the values in the fields.
    2. when the user is entering new values or changed the old values and click on the 'save' button, new web service is called for that store values.

    Problem is when changing the value of choice of message. For the choice of the message that I created a VO lookup_code and sense.

    When I click on 'save' button it shows me error
    Attribute set for LookupCode in view object EncryptionModeVO1 failed
     
    Kind regards
    Ajay

    Well, you use certain methods (like setattributevalue, setrendered etc.) in processformrequest that goes against the standards. You must use SPEL approach wherever possible.

    You can hide the exception of developer mode. See thread Re: OAF: masking errors and Exceptions at the top of page OFA for details, but keep in mind that these errors may be valid in some cases.

    Thank you
    Shree

  • Web services with xml file

    Hello

    How read xml file using web services?

    Here's my cfc web services: (I just want to see how to read the xml file)

    < cfproperty >

    < name cffunction = "getBooks" access = "remote" returntype = "string" output = "no" >

    < cfargument "xmlObject" type = name = "xml" required = "yes" >

    < cfset BookResponse = "" > "".

    < cfset var arrIndx = "" > "".

    < cftry >

    < = cfloop '1' to = "#ArrayLen (arguments.xmlObject.XmlChildren)" # "index ="arrIndx">"

    < cfset BookResponse = arguments.xmlObject.XmlChildren [arrIndx]. XmlName >

    < / cfloop >

    < cfcatch type = "any" >

    < cfset BookResponse = ' #cfcatch.message # #cfcatch.detail # ' >

    < / cfcatch >

    < / cftry >

    < cfreturn BookResponse >

    < / cffunction >

    < / cfproperty >

    Here my code to test web services:

    1. define the XML

    <!-installation of the XML to work with->

    < cfsavecontent variable ="XMLFile"><? XML version ="1.0"? >

    < root >

    < header >

    < user > 1 < / user >

    < / header >

    < book >

    0321330110 < isbn >< / isbn >

    < title > Macromedia ColdFusion MX 7 Certified Developer Guidestudy / < /title >

    < author > BenForta / < / author >

    < / book >

    < header >

    < user > 2 < / user >

    < / header >

    < book >

    0596004206 < isbn >< / isbn >

    < title > Learning XML, secondedition / < /title >

    < author > ErikRay / < / author >

    < / book >

    < header >

    < user > 3 < / user >

    < / header >

    < book >

    0782140297 < isbn >< / isbn >

    < title > ColdFusion Developer's GuideMX / < /title >

    < author > RaymondCamden / < / author >

    < / book >

    < / root >

    < / cfsavecontent >

    2 call web services

    < cfinvoke

    method = "getBooks".

    returnvariable = "rawXMLBookList."

    " webservice =" http://localhost/Hoteleria/WebServices/books.cfc?wsdl "> "

    < name cfinvokeargument = "xmlObject" value = "#XMLFile #" >

    < / cfinvoke >

    <!-< cfset XMLDocResult = XmlParse (rawXMLBookList) >

    < cfdump var = "#XMLDocResult #" >-->

    < cfdump var = "#rawXMLBookList #" >

    3 error: Element XMLOBJECT. XMLCHILDREN is undefined in ARGUMENTS.

    I also try using XMLParse without success.

    Any ideas?

    Thank you

    Sorry about that. It worked for me!

    What about doing it on the basis of chains, as follows:

    Books.CFC

    #arguments.xmlString #.

    testPage.cfm


    1

    0321330110

    Certified Macromedia ColdFusion MX 7 Developer Study Guide

    Ben Forta

    2

    0596004206

    Learning XML, second edition

    Erik Ray

    3

    0782140297

    ColdFusion MX Developer's Handbook

    Raymond Camden

    <>

    method = "getAuthors".

    returnvariable = "authorList.

    "WebService ="http://localhost/Hoteleria/webServices/books.cfc?wsdl ">

  • Problems with the Web Service using XML in Flex

    Hello

    I use a ColdFusion CFC, which is configured to generate an XML string. It runs on ColdFusion MX 6.1 and is configured as a remote web service. I tested the call and it returns the string XML fine when it is called from another method of Flex unfounded. My problem is this simple Flex application to call the same function via a service web, I wrote below. I cannot get to the exit results, keeps showing as NULL. I can't use the HTTP of Flex appeal for remote access because I'm not under MX7. Does anyone know what is wrong with my code? BTW, I would do the work of cross - domain.xml file to call the cfc, let me know if you want to test and I can add your domain name. Thank you!

    <? XML version = "1.0" encoding = "utf-8"? >
    "" < mx:Application xmlns:mx = ' http://www.adobe.com/2006/mxml ' layout = "absolute" >

    <! - set Web Service to get the XML data of course catalog - >
    < mx:WebService
    ID = "cd".
    "WSDL =" http://training.wonderware.com/components/courses.cfc?wsdl "
    Load = "CD.getCourseCatalogXML.Send ()" "
    showBusyCursor = "true" fault = "Alert.show (event.fault.message), 'Error' ' result =" cdResult (event) ">"
    < mx:operation name = "getCourseCatalogXML" resultFormat = "e4x" >
    < mx:request >
    < IDCalendrier > 3 < / IDCalendrier >
    < / mx:request >
    < / mx:operation >
    < / mx:WebService >

    < mx:Script >
    <! [CDATA]
    Import mx.controls.Alert;
    Import mx.rpc.events.ResultEvent;
    Import mx.rpc.events.FaultEvent;

    [Bindable]
    public var outputString:String

    public void cdResult(event:ResultEvent):void
    {
    outputString = event.result as String
    }
    []] >
    < / mx:Script >

    < mx:Canvas horizontalScrollPolicy = "off" verticalScrollPolicy = "off" >
    < mx:Text width = '100% ' paddingLeft = "4" paddingRight = paddingTop "4" = "4" >
    < mx:text > OUTPUT: {outputString} < / mx:text >
    < / mx:Text >
    < / mx:Canvas >

    < / mx:Application >

    Thank you very much! I do not have the notion that the HTTPService is indded just an HTTP call. So yes that it a much simpler way to call just ColdFusion to return the XML string to the application. No reason to use Flash Remoting or CFCS etc... and certainly not a web server. This made the turn that I called a HTTPService now what charges by coldfusion page that returns XML and bam, works well with e4x result etc... Thanks tracy!

  • Message access control in the OSB proxy service when the Service Type is the Any SOAP Service

    Hello

    We have a proxy OSB service where the Service Type is 'no matter what SOAP Service'. We use Auth.xml to authenticate messages to achieve this proxy service.

    It is, ca we apply Message this proxy access control so that only user A is allowed to sent message has and only user B is allowed to message sent B?

    Us know if the proxy OSB service is based on a wsdl, then we can apply access control message for each operation in the Security tab - and thus specify which user can access the operation. But unfortunately, we have not a wsdl, because this service proxy is a proxy gateway and must accept any SOAP message reaches.

    For example, if the user name in the SOAP header is msgAUser, get is accepted.

    "< soapenv:Envelope xmlns:soapenv ="http://schemas.xmlsoap.org/soap/envelope/">"

    < soapenv:Header >

    "< xmlns:wsse wsse: Security ="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">."

    < wsse: UsernameToken >

    < wsse:Username >msgAUser< / wsse:Username >

    < wsse:Password >msgApwd< / wsse:Password >

    < / wsse: UsernameToken >

    < / wsse: Security >

    < / soapenv:Header >

    < soapenv:Body >

    <Get>

    ...

    < /Get>

    < / soapenv:Body >

    < / soapenv:Envelope >

    If the user name in the SOAP header is msgBUser, then MessageB is accepted.

    "< soapenv:Envelope xmlns:soapenv ="http://schemas.xmlsoap.org/soap/envelope/">"

    < soapenv:Header >

    "< xmlns:wsse wsse: Security ="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">."

    < wsse: UsernameToken >

    < wsse:Username >msgBUser< / wsse:Username >

    < wsse:Password >msgBpwd< / wsse:Password >

    < / wsse: UsernameToken >

    < / wsse: Security >

    < / soapenv:Header >

    < soapenv:Body >

    <MessageB>

    ...

    < /MessageB>

    < / soapenv:Body >

    < / soapenv:Envelope >

    Any suggestions please?

    Understood.

    My current client, we have faced the same problem and implemented a similar design which nevertheless has important benefits.

    The problem with proxy input all SOAP is not only in the complexities of authentication. Most important, resources fine grain (thread) management becomes impossible: proxy entry has a workmanager, one constraint of son max. If any single service behind entered proxy knows an influx of requests (because of a peak or a misconfigured customer), he eats the workmanager dry and the rest of the services become too inadmissible.

    In this spirit, we have implemented the following diagram. It's a little more complicated, but it serves us well for a few years already:

    EntryProxy 1-> Interceptor entering Proxy-> Proxy 1

    EntryProxy 2-> Interceptor entering Proxy-> Proxy 2

    ...

    Enter proxy doesn't do Nothing but shall forward the request for interception of incoming traffic. Power of Attorney of the entry, however, has its own WSDL, authentication and the workmanager which allows precise control.

    Another important aspect of a proxy of the entry, it is that it passes a custom header containing the name of the destination of the interceptor, e.g. TargetURI = "ProxyService/Paypal/Paypal.

    Incoming Interceptor Proxy performs all recording, the error handling and other common tasks.

    Then, according to the last header, the proxy of the interceptor makes a dynamic call to route to the specified destination.

    Yes, this design has an additional moving part - a proxy entry - but he a) works b) guard control all in our hands. The entry proxy is a very small point; When I need to make a new one, I just copy an existing one and replace the WSDL file and the value of the TargetURI - 30 seconds of work.

    Hope that helps.

    Vlad

    http://vladimirdyuzhev.com

  • can we use service legend to dynamically call business service in OSB

    My requirement is: contact service issue. moments of for - each loop in OSB. Node road that we cannot use in the foreach loop.

    can we use service legend to call business several times? and how can we pass endpoint url to business service using the legend of service.

    Please help me.

    Yes you can use routing options to override the legend service endpoint url. See

    http://docs.Oracle.com/CD/E23943_01/admin.1111/e15867/proxy_actions.htm#i1315299

    The action of routing Options can be used when the context variable $outbound is valid. It can be added to the following actions:

    • Publish
    • Dynamic publishing
    • Publish the Table
    • Legend of service
    • Routing
    • Dynamic routing
    • Routing table

Maybe you are looking for