Using a SOAP request to initiate an ESB flow

I'm currently attempting to use the Oracle ESB as a pure routing engine for a project at work. Heres the basic way to works:
1. We get a SOAP request from a third party
2. We transform that request into a canonical format (via xslt)
3. Inside that canonical format there will be an ID
4. We look up that ID in a database and resolve an IP address from it
5. We then use the canonical message to invoke a named web service on a SOAP server living at that IP
So my questions are two fold really:
Firstly, is it possible to fire off an ESB flow via a SOAP web service call? So far it seems (to me) that i can only initiate processes [flows - sorry im used to BPEL!] via an adapters (files, AQ, JMS, etc) and not from a raw SOAP request. It seems the SOAP object is an ESB object and not an incoming/outgoing adapter
and
Secondly, is it possible to make a database call/query and then use the result of that to intelligently route my canonical data to a specific SOAP server dynamically?
I know i can do this in BPEL with little trouble but im trying see if its also plausible via ESB so i can leverage the performance and management benefits that come bundled with it.
Any help would be great as i seem to be banging my head against a wall slightly!
Thanks in advance,
Ian Harrigan

Thanks for the reply.
Would it be possible to use an IP address (obtained from a database query) to dynamically call a web service of the same name but on different servers?
Ie, if the incoming message has an ID attribute within it of, say, 10 then a request is made to server1, however if the ID is 11 then it goes to server2 and so on and so forth.
I know this would be possible using a static filter but, unfortunately, that would mean that every time a new ID/Server combination is added to the database a new version of the ESB would have to be deployed which isn't feasible.
Essentially i would need a single ESB and simply update the database with additional data and logic inside the ESB would send SOAP requests to a entirely new IP address
Thanks again,
Ian

Similar Messages

  • Issue in invoking the BPEL process from Oracle using a SOAP Request

    Hi,
    We are facing an issue while invoking a deployed Bpel Process from Oracle Applications 11.5.10..
    Using a concurrent program( Unix / Host program ) we are passing the input variables required for the Bpel process in the ProcessRequest tags and forming this as a SOAP message payload.
    Then trying to invoke the deployed bpel process using the end point location using HTTP POST..but nothing is happening..
    The bpel process is not getting invoked when i look at the Console and also checked for the Manual Recovery queue..it's not stuck there as well..
    Have set the Transfer Time Out to 25 minutes using UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
    Could someone please help us as soon as possible with this ..as this is critical and we are stuck at the moment.
    The logic is mentioned below :
    UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
    UTL_HTTP.SET_DETAILED_EXCP_SUPPORT(ENABLE=>TRUE);     
    soap_request:='<?xml version="1.0" encoding="UTF-8"?>'||
    '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'||
    '<soap:Header/>'||
    '<soap:Body xmlns:ns1="http://xmlns.oracle.com/bpelprocessname">'||
    '<ns1:bpelprocessnameProcessRequest>'||
    '<ns1:CSONum>'||order_number||'</ns1:CSONum>'||
    '<ns1:CreationDate>'||c_chr_cso_last_run_dte||'</ns1:CreationDate>'||
    '</ns1:bpelprocessnameProcessRequest>'||
    '</soap:Body>'||
    '</soap:Envelope>';          
    http_req:= utl_http.begin_request
    ('http://bpel_server ip:port/orabpel/domain_name/bpelprocessname/1.0' , '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, 'SOAPAction', 'process');
    utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    dbms_output.put_line(soap_respond);
    Thanks

    check if your soap envelope is correct,check my below procedure which is working fine for me
    procedure xxxxx_BPEL_SCHEDULER
    IS
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    launch_url varchar2(240) ;
    begin
    soap_request:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:add="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:star="http://xmlns.oracle.com/xxxxx_BPEL_SCHEDULER">
    <soapenv:Header>
    <add:MessageID>?</add:MessageID>
    <add:ReplyTo>
    <add:Address>?</add:Address>
    <!--Optional:-->
    <add:ReferenceProperties>
    <!--You may enter ANY elements at this point-->
    </add:ReferenceProperties>
    <!--Optional:-->
    <add:PortType>?</add:PortType>
    <!--Optional:-->
    <add:ServiceName PortName="?">?</add:ServiceName>
    <!--You may enter ANY elements at this point-->
    </add:ReplyTo>
    </soapenv:Header>
    <soapenv:Body>
    <star:STARS_BPEL_SCHEDULERProcessRequest>
    <star:SCHEDULER_PARAM1>?</star:SCHEDULER_PARAM1>
    <star:SCHEDULER_PARAM2>?</star:SCHEDULER_PARAM2>
    <star:SCHEDULER_PARAM3>?</star:SCHEDULER_PARAM3>
    <star:SCHEDULER_PARAM4>?</star:SCHEDULER_PARAM4>
    <star:SCHEDULER_PARAM5>?</star:SCHEDULER_PARAM5>
    </star:STARS_BPEL_SCHEDULERProcessRequest>
    </soapenv:Body>
    </soapenv:Envelope>';
    http_req:= utl_http.begin_request('http://xxxxxx.com:16000/orabpel/default/xxxx_BPEL_SCHEDULER/1.0 '
    ,'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, 'SOAPAction', 'initiate');
    utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    dbms_output.put_line(soap_respond);
    END;

  • PI 7.1 SOAP Action parameters in SOAP request?

    Hi all,
    I have to implement an IDOC->PI->XML interface to transfer some master data. After performing the mapping, the mapped data needs to be sent to the target system using a SOAP request via a webservice.
    On PI, I specified the URL for the WS in a SOAP-oriented Communication Channel. In the parameter "SOAP Action" of this CC, I entered the relevant method name to be used to transfer the mapped data. However, this method requires 2 parameters:
    - applicationName: this is the name of the target structure used in the Message Mapping
    - xmlMessage: this is the actual mapped message string
    So my question is: how can I bind these 2 parameters in my PI design and configuration?
    Thanks for your help,
    Eric

    there can be one WS having many actions....which means one WS can be used in multiple interfaces.
    However, this method requires 2 parameters:
    - applicationName: this is the name of the target structure used in the Message Mapping
    - xmlMessage: this is the actual mapped message string
    If I get it correctly, you have to actually set the SOAP action before you send the message to the WS....and you want to do it in SAP PI?
    so your action is something like http://something.abcd/applicationName/xmlMessage and you have to set the things here?
    If yes, then you can use the Dynamic Configuration (adapter specific message attributes...ASMA) in SOAP channel (UDF in mapping) and set this ASMA THeaderSOAPACTION
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION");
    String a = http://something.abcd/applicationName/xmlMessage //set the value of actual action here
    conf.put(key, a);
    return "";
    Regards,
    Abhishek.

  • How to test SOAP request using XML SPY

    Hi,
    1. I am new to WebServices concept, I have downloaded the wsdl file and now I need to test the SOAP requests using XML Spy. However, when I try to test the SOAP request generated by XML Spy I receive an error "Internal Error: Session is not available. Aborting" , How do I go ahead to generate the session, Is there a way I can provide the Username and password in the XML Spy to generate something like session.
    2. The second problem that I am facing is when I import the WSDL in XML Spy and generate the SOAP request, for all the fields xml tags gets populated with "aaaaaaaaaaaa" kind of data through out. Am i doing something wrong ? Is there some step while creating a SOAP request that I am missing becasue of which the gibbrish data is being populated as default ?
    Please Help !
    Thanks .

    I got my SOAP Requests tested using SOAP UI .. However I am still looking for ways to test it using XML SPY.
    In the SOAP UI Tool just do right click and select Add WS Security Token ..
    Thanks :)

  • HTTP error while sending SOAP request using wsdl file

    We created SOAP request using the wsdl file ; while sending SOAP request from Altova XMLSpy, we are getting the below error.
    HTTP error: could not post file
    Can you please explain how to resolve this issue
    Regards,
    Sanghamitra

    there is very little information to help you here.
    Can you confirm if this is a SOAP sender scenario or SOAP receiver scenario?
    Also do go to thru these links to help you out;
    Troubleshooting
    Troubleshooting - RFC and SOAP scenarios *** Updated on 20/04/2009 ***
    RFC -> SOAP
    RFC -> XI -> WebService - A Complete Walkthrough (Part 1)
    RFC -> XI -> WebService - A Complete Walkthrough (Part 2)
    SOAP <-> XI <-> RFC/BAPI
    Walkthrough - SOAP  XI  RFC/BAPI

  • Soap request with attachment --problem in deploye to jboss useing Jdevelope

    using Jdeveloper and oc4j application server i made two application.
    In application one i exposed a web service method.In this application their is a handler class which able to handle soap request and response with attachment.
    In application two a client is sends a soap request with attachment.
    If i deploye it in oc4j it is working fine. But if i Deploye to JBoss server [i made a jboss application server connection] and then trying to send the soap request with attachment from the client application i gets the following errors--
    Exception in thread "main" javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:152)
         at etrans.TripBean.a.ClientGateWay.msgEnvelope(ClientGateWay.java:50)
         at etrans.TripBean.a.ClientGateWay.main(ClientGateWay.java:60)
    Caused by: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection refused
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:148)
         ... 2 more
    Caused by: javax.xml.soap.SOAPException: Message send failed: Connection refused
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:458)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(HttpSOAPConnection.java:865)
         ... 4 more
    Caused by: java.net.ConnectException: Connection refused
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
         at java.net.Socket.connect(Socket.java:516)
         at java.net.Socket.connect(Socket.java:466)
         at java.net.Socket.<init>(Socket.java:366)
         at java.net.Socket.<init>(Socket.java:208)
         at javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:202)
         at HTTPClient.HTTPConnection.getSocket(HTTPConnection.java:3115)
         at HTTPClient.HTTPConnection.doConnect(HTTPConnection.java:3858)
         at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:2921)
         at HTTPClient.HttpOutputStream.close(HttpOutputStream.java:421)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.sendMessage(HttpSOAPConnection.java:724)
         at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:373)
         ... 5 more
    Am i made any mistake to deploye to jboss or it is not possiable to access the web service in such way?
    please suggest me what is the procedure to recover from this.

    Hello,
    How do you package you WS client application to be deployed in JBoss?
    The JAX-RPC clients are not that portable you may need to recompile the client with JBoss WebService implementation/tools, and check that you do have the different deployment descriptors for the client too.
    Regards
    Tugdual Grall

  • Service security using SOAP request

    Hi,
    I need to create 2 services with SOAP request using one with X.509 Authentication and other with X.509 Encryption.
    The receiver side is the RFC adapter.
    Please let me know how to go about in PI7.0 or PI7.1
    Regards,
    Kevin

    U will have to first enable SSL on the XI server using one of the following two modes:
    http://help.sap.com/saphelp_nw04/helpdata/en/d8/a922d7f45f11d5996e00508b5d5211/frameset.htm
    SSL can be enabled as shown
    http://help.sap.com/saphelp_nw04/helpdata/en/14/ef2940cbf2195de10000000a1550b0/content.htm
    Then configure the system to use X.509 certificates
    http://help.sap.com/saphelp_nw04/helpdata/en/a8/d9d53a9aa9e933e10000000a114084/frameset.htm
    Regards,
    Prateek

  • Questions on using a SOAP web service's data in a Crystal Reports report

    I'm attempting to create a report using CR 2008, accessing data from a SOAP web service. I've run into a few problems, and need some advice.
    1) CR doesn't seem to support WSDL files that use relative URI imports (for example, I have a relatively complicated WSDL file that imports other WSDL files and schemas using relative URI locations). To solve this problem, I have downloaded all of the files to my local hard drive, and changed the "location" attributes to point to local files. Is there any other solution to this problem?
    2) CR doesn't seem to support circular references within schema files. To solve this problem, I have removed circular references from my local schema files. Of course, my actual web service will still potentially return data structures with these circular dependencies. Is there any other solution to this problem?
    3) CR doesn't seem to support request documents that allow for arrays of elements. For example, my schema allows the user to specify an array of Instruments that should be returned by the web service. In the meantime, I have changed the schema to only specify single instances of the Instrument element in the request. Is there any other solution to this problem?
    4) CR doesn't seem to support empty values for optional attributes that are specified in the schema. So, when the "Enter Values" parameter form appears, I am required to enter values for these attributes, even though they are listed as optional in the schema. To avoid this problem, I have commented out the optional attribute values in the schema. Is there any other solution to this problem?
    5) When the schema specifies that a value is based on a restricted simple (string) type, the CR parameter form shows a drop list with ellipses (...), but the drop list does not contain the enumerated types specified in my schema. Instead, I must manually enter a value. Do you know of any reason why the drop list is not populated?
    6) The SOAP response document from my web service is relatively complicated. So, in the "Data" page of the Standard Report Creation Wizard, each and every XML element level of the response document listed in the schema is shown as a separate entry. If I choose just the top level element ("fetchInstrumentSetResponse"), then very little data is shown on the next page of the wizard (only the ID attribute). But, if I select each and every element type from the response document, CR prompts me for the request document parameters for each row I have selected (I see the same form 30+ times), even though there really should only be a single SOAP request to the web service to return this response document. It seems to be treating each of these elements as a separate "database table", with a different query string for each. Am I using this feature incorrectly?
    If you can point me to somewhere in the documentation that handles this in more detail, that would be great (all I could find were the step-by-step instructions on how to connect to a web service as a data source).
    Thanks!

    Please re-post if this is still an issue or purchase a case and have a dedicated support engineer work with your directly

  • Error in using XI-SOAP adapter, but no error  with SAP-BC

    Hi,
    I am working on RFC->XI->Webmethod (.asp) scenatio.
    I am using SOAP adapter.
    Whin I am not using "Do not use SOAP Envelop".
    I am getting "com.sap.aii.af.ra.ms.api.DeliveryException: invalid content type for SOAP: TEXT/HTML" Error in SXMB_MONI.
    But when I am using "Do not use SOAP Envelop" then I am not getting any error. in SXMB_MONI status showing Successfully Processed. But the responce i am getting is "You are not authorized to view this page  // HTTP 401.1 - Unauthorized: Logon Failed"
    But same web-service is working fine while connected with SAP-BC.
    Please Help why scenario is working with BC, but not with XI.
    Thanks & Regards

    Hi Bhavesh,
    Thanks for reply.
    I am getting all success in message monitoring, but still web-services sying they are not getting any message.
    I am attaching all 4 logs for one synchronous communication of message monitoring.
    I am not able to understand where message going and why XI showing success every where.
    ********1st(Sent Messages)
    Success SOAP: response message leaving the adapter
    Success Application attempting to send an XI message asynchronously using connection AFW.
    Success Trying to put the message into the send queue.
    Success The response message for message cf4fd921-4a74-11db-9312-001279933263(INBOUND) was successfully transmitted to the calling application.
    Success The message status set to DLVD.
    Success The application sent the message asynchronously using connection AFW. Returning to application.
    ********2nd (Sent Messages)
    Success RFC adapter received sRFC for Z_PA_SAP_TO_Webservice from D02/230. Attempting to send message synchronously
    Success Application attempting to send an XI message synchronously using connection AFW.
    Success Trying to put the message into the call queue.
    Success Message successfully put into the queue.
    Success The message was successfully retrieved from the call queue.
    Success The message status set to DLNG.
    Success The message was successfully transmitted to endpoint http://XYZ.com:8000/sap/xi/engine?type=entry using connection AFW.
    Success The application sent the message synchronously using connection AFW. Returning to application.
    Success The message status set to DLVD
    **********3rd (Received Messages)
    Success Using connection AFW. Trying to put the message into the receive queue.
    Success The XI response message for message d0372be1-4a74-11db-91d7-001279933263(INBOUND) was successfully returned to the calling application.
    Success The message status set to DLVD.
    **********4th (Received Messages)
    Success The message was successfully received by the messaging system. Profile: XI URL: http://XYZ.com:50000/MessagingSystem/receive/AFW/XI
    Success Using connection AFW. Trying to put the message into the request queue.
    Success Message successfully put into the queue.
    Success The message was successfully retrieved from the request queue.
    Success The message status set to DLNG.
    Success Delivering to channel: IF_O_502_WebserviceBusService_SOAP_In_02
    Success SOAP: request message entering the adapter
    Success SOAP: completed the processing
    Success SOAP: response message received d0372be1-4a74-11db-91d7-001279933263
    Success The message status set to DLVD.
    Success The message was successfully delivered to the application using connection AFW.

  • Error with SOAP Request to calendar web service

    Hi
    I'm sending the following SOAP request to a calendar web service to create an appointment in the calendar. The response returns what seems to be a syntax error ("The Create method did not have a proper element in the request") but I can't see the cause of the fault. Any suggestions on what it may be? It's an 11g DB.
    Many thanks
    -x-POST-x-
    POST /ocws-bin/ocas.fcgi HTTP/1.0
    Content-Type: text/xml; charset="utf-8"
    Content-Length: 993
    SOAPAction: SOAPAction: "http://www.oracle.com/WebServices/Calendaring/1.0/Create"
    Connection: close
    <SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header><auth:BasicAuth xmlns:auth="http://soap-authentication.org/2002/01/">
    <Name>CalendarName</Name><Password>CalendarPassword</Password>
    </auth:BasicAuth> </SOAP-ENV:Header>
    <SOAP-ENV:Body><cwsl:Create xmlns:cwsl="http://www.oracle.com/WebServices/Calendaring/1.0/"><CmdId>ITS APPOINTMENT</CmdId><iCalendar>
    <vcalendar prodid="-//Oracle//Calendaring//Calendarlet//EN" version="2.0">
    <vevent><class>PUBLIC</class>
    <description>Calendar Body</description>
    <dtstart value="DATE-TIME">20102905T120000</dtstart>
    <duration>P00DT0H30M00S</duration>
    <location>Location of user</location>
    <summary>Incident ID - (name of user])</summary>
    <uid>XGjRVnpReQALNsILlBlvcyXGCoUyXF</uid>
    <x-oracle-eventtype>APPOINTMENT</x-oracle-eventtype>
    <priority>5</priority>
    </vevent>
    </vcalendar>
    </iCalendar></cwsl:Create></SOAP-ENV:Body></SOAP-ENV:Envelope>
    -x-RESPONSE-x-
    HTTP/1.1 500 Internal Server Error
    Date: Thu, 27 May 2010 08:22:16 GMT
    Server: Apache/2.2.4 (Unix) mod_ssl/2.2.4 OpenSSL/0.9.7a mod_fastcgi/2.4.6
    OCAS-ProcTime: 407
    Connection: close
    Content-Type: text/xml; charset=utf-8
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <soap:Body>
    <soap:Fault>
    <faultcode>soap:Server.Error::System::SOAPRequest</faultcode>
    <faultstring>The Create method did not have a proper element in the request</faultstring>
    <detail>
    <cwsl:Error xmlns:cwsl="http://www.oracle.com/WebServices/Calendaring/1.0/">
    <Class>Error::System::SOAPRequest</Class>
    <Code>0020-00-00-00000034</Code>
    <Line>3180</Line>
    <FileName>SOAPRequestHandler.cpp,v</FileName>
    <Version>1.57</Version>
    <LastMod>2007/05/30 21:13:25</LastMod>
    <Author>pscattol</Author>
    <Date>Thu May 27 09:22:16 2010</Date>
    <PID>26152</PID>
    <TID>3044838304</TID>
    <Level>Error</Level>
    </cwsl:Error>
    </detail>
    </soap:Fault>
    </soap:Body>
    </soap:Envelope>

    Hi,
    I am having problem using dii client, while sending a
    request to c# webservice. error follows
    QName QNAME_TYPE_STRING = new QName(NS_XSD,
    "string");
    call.setReturnType(QNAME_TYPE_STRING);
    call.setOperationName(new QName(BODY_NAMESPACE_VALUE,
    "GetDetails"));
    call.addParameter("String_1", QNAME_TYPE_STRING,
    ParameterMode.IN);Do you need another call to addParameter here?
    String[] params = { "02", "2004" };
    String result = (String)call.invoke(params);

  • ERROR while building the SOAP Request in OAM

    Hi all,
    In a brief step what my requirement is.
    Need to build an SOAP request using java objects generated from XSD files comes with installation directory by setting all the required values.
    What i have done?
    ---- To generate Java objects from given XSD files i am using Castor tool.
    ---- Coming to my requirement i have to create a user through create workflow for this i created objects for workflowSaveCreateProfile.xsd using castor framework and i am trying to marshal (building the SOAP Request). but it's giving me an error telling that required field is needed as below.
    Caused by: ValidationException: The following exception occured while validating field: _attributeName of class: com.trewport.oblix.ObTicketAttr: The following exception
    occured while validating field: obDisplay of class: com.trewport.oblix.AttributeName: The field 'obDisplayChoice' is a required field of class 'com.trewport.oblix.ObDis
    play;
    - location of error: XPATH: /ObTicketAttr
    The following exception occured while validating field: obDisplay of class: com.trewport.oblix.AttributeName: The field 'obDisplayChoice' is a required field of class '
    com.trewport.oblix.ObDisplay
    at org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
    at org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
    at org.exolab.castor.xml.Validator.validate(Validator.java:135)
    at org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
    at org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
    ... 19 more
    I am not getting how to set the values in that generated java objects.
    Please help me out.
    Note: For compiling and running the java objects i have to use java 1.4.
    Please let me know your thoughts.
    Thanks & Regards,
    Siva Pokuri.

    This error occurs due to the following customisaton, Please
    check this :
    Please can you check if the Pernr used
    has correct information like It0105 etc, also the rules are
    correctly defined.
    Webmo feature is activated or no?
    For the Employee, First of all check the Period Work Schedule also
    the Quotas of the pernr needs to maintained in 2006, Please do
    this customisation and it should solve the issue.
    Maintain the absence quota in the IT2006 and then try once.
    Also make sure that the Settings in Webmo and PTARQ etc all is done
    The pernr belongs to the a Rule and have absences defined for him.

  • Passing variable having value as whole SOAP request to command while invoking ODI WS call

    When passing variable in place of soap request message (variable value is whole SOAP request message prepared using procedure) in ODI Invoke WebService command like -->
    OdiInvokeWebService "-URL=url...." "-PORT_TYPE=..." "-OPERATION=..." "-RESPONSE_MODE=NEW_FILE" "-RESPONSE_FILE_CHARSET=UTF8" "-RESPONSE_XML_ENCODING=UTF-8" "-RESPONSE_FILE=..." "-RESPONSE_FILE_FORMAT=SOAP" "-HTTP_USER=..." "-HTTP_PASS=..."
    #SOAPREQUESTMESSAGE
    Gives error :
    ODI-1226: Step OdiInvokeWebService 1 fails after 1 attempt(s).
    ODI-1241: Oracle Data Integrator tool execution fails.
    Caused By: com.sunopsis.wsinvocation.SnpsWSInvocationException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '#' (code 35) in prolog; expected '<'
    at [row,col {unknown-source}]: [1,1]
        at com.sunopsis.wsinvocation.client.impl.AbstractMessageImpl.loadFromXML(AbstractMessageImpl.java:333)
        at com.sunopsis.wsinvocation.client.impl.AbstractMessageImpl.loadFromString(AbstractMessageImpl.java:348)
        at com.sunopsis.wsinvocation.client.impl.AbstractMessageImpl.fromString(AbstractMessageImpl.java:403)
        at com.sunopsis.wsinvocation.client.impl.AbstractJWSDLParserImpl.fromXML(AbstractJWSDLParserImpl.java:272)
        at com.sunopsis.wsinvocation.client.impl.AbstractJWSDLParserImpl.getWebServiceRequestByOperation(AbstractJWSDLParserImpl.java:260)
        at com.sunopsis.dwg.tools.common.WebserviceUtils.getSOAPMessage(WebserviceUtils.java:94)
        at com.sunopsis.dwg.tools.common.WebserviceUtils.invoke(WebserviceUtils.java:138)
        at com.sunopsis.dwg.tools.InvokeWebService.actionExecute(InvokeWebService.java:327)
        at com.sunopsis.dwg.function.SnpsFunctionBase.execute(SnpsFunctionBase.java:276)
        at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execIntegratedFunction(SnpSessTaskSql.java:3437)
        at com.sunopsis.dwg.dbobj.SnpSessTaskSql.executeOdiCommand(SnpSessTaskSql.java:1509)
        at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:44)
        at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:1)
        at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
        at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
        at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
        at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
        at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
        at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
        at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
        at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
        at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
        at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
        at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
        at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
        at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
        at java.lang.Thread.run(Thread.java:662)
    Thanks in anticipation...

    the used variable 'SOAPREQUESTMESSAGE' is being created in a procedure using jython.
    1. Can we use this variable (SOAPREQUESTMESSAGE) value in the next step that is while invoking web service request (can it persist) ?
    2. If not then how can we use this variable value to invoke ws request in next step ?
    Would like to appreciate help.
    Pls reply.

  • Sending SOAP request from XI and writing a scheduler for this

    Dear XI Experts,
    My scenario is as follows.
    We have two landscapes
    1)     XI, R/3
    2)     Client System(Remote, Other than SAP)
    Now we have to pull the data from client system using WSDL (There will be one method for pulling the data in the WSDL file). The WSDL is provided by the client. We are importing that WSDL as external definition in Integration Repository and implementing the scenario “SOAP to XI to RFC” and configuring it Integration Directory.
    Remember the client will not send the data to XI. Only we have to pull the data as mentioned above.
    Problems:-
    (i)     How to send SOAP request to the client using XI only?
    (ii)     How to write a scheduler for this?
    please help us.
    Thanks...
    Praveen Gujjeti

    Ur Suggestion
    "My proposition looks like that. in R/3 you have scheduled RFC call in some program. This RFC calls XI and XI is calling using SOAP adapter your client. Then response go back to your RFC and you can handle this data."
    As you mentioned, I am not scheduling any RFC call in R/3. If you go through my first query u can find two points where I am having some doubts......
    How to send SOAP request to the client using XI only? Is it possible to send a SOAP request from XI?
    If so,
    (ii) How to write a scheduler for this? So that it will invoke the webservice and get the data from client application(system)

  • Reg: Sending a Soap Request

    Hi,
    I am doing a Soap to RFC Scenario. I created a webservice in WebDynPro using NWDS and deployed that in local machine. I would like to send a soap request. How can I send it, if I have only NWDS??

    Hi,
    >>> I created a webservice in WebDynPro using NWDS and deployed that in local machine
    There are 2 ways while dealing with a webservice (same with any other adapters)
    a. Webservice at the sender side.
    b. Calling (invoking) the serivce of an existing webservice.
    If you want to create a scenario as in option <b>a</b>
    In this case, the sender is not actually a webservice, rather it is a client (webservice client) that invokes the webservice. The actual webservice in this case is your XI server. But again XI server is not a webservice. All XI does is understands the webservice client request and converts it to a XI message and does the operation.
    If you wish to do such a scenario, there are guides available in SDN, (How to expose your outbund interface as webservice, How to Soap Adapters). Follow them.
    Best Regards,
    Jai Shankar

  • Calling SOAP Request from XML Spy

    I have published PLSQL web service at Oracle 10g AS.
    The web service runs at http://localhost:7201/reqProcess with processRequest as method being exposed.
    This web service takes the string as input and return XMLTYPE as out parameter.
    Now When I am trying to pass SOAP XML from XMLSPY to above url I am getting folloing errors.
    1) I get http error: couldnot post the file /reqProcess/ on server 'localhost' (500)
    2) I get SOAP Error as
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <SOAP-ENV:Body>
              <SOAP-ENV:Fault>
                   <faultcode>SOAP-ENV:Client</faultcode>
                   <faultstring>No Deserializer found to deserialize a &apos;http://wsi.nat.zz.com/2005/06/StandardHeader/:m0:standardHeader&apos; using encoding style &apos;null&apos;. [java.lang.IllegalArgumentException]</faultstring>
                   <faultactor>/reqProcess</faultactor>
              </SOAP-ENV:Fault>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Please help..

    Hi Quwang ur help needed
    My requirement ...
    1) PLSQL as web service : I succesffuly deployed PLSQL Procedure as Web service at 10 10g. The PLSQL takes string (CLOB) as input convert that into XML and store in table and return XMLTYPE as output.
    When I am accesing PLSQL WS using browser I am able to send string (basically XML format) as a input and able to receive the result back (SOAP envelop)
    2)WS Invocation : After PLSQL WS published I need to pass the SOAP XML which is generated from XYX wsdl file to the PLSQL WS published above. For this req I was using XML Spy to test this. (In actual the clinet will be Sieble that will send SOAP XML to PLSQL WS).
    Initially I was generating the SOAP XML from XYZ.wsdl and was directly sending that to PLSQL URL. I was getting error as I described initially.
    Next I tried to generate the SOAP request from the PLSQL WS wsdl file and inside the parameter I am sending the SOAP XML as string to the IN paramater of PLSQL WS. This time I am getting some different errors. The first error is same as http error: couldnot post the file /balprocess/balprocess/operation?processRequest on server 'localhost' (500)
    and second error is SOAP fault as follows
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <SOAP-ENV:Body>
              <SOAP-ENV:Fault>
                   <faultcode>SOAP-ENV:Server</faultcode>
                   <faultstring>java.sql.SQLException: ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00210: expected &apos;<&apos; instead of &apos;"&apos;
    Error at line 1
    ORA-06512: at "SYS.XMLTYPE", line 0
    ORA-06512: at "SCOTT.BAL_A_PROCESS", line 16
    ORA-06512: at line 1
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)</faultstring>
                   <faultactor>/balprocess/balprocess</faultactor>
              </SOAP-ENV:Fault>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    For ur reference I am pasting the PLSQL WSDL file and the SOAP request xml that I am sending to PLSQL WS URL.
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="bal_a_process"
    targetNamespace="http://bal.request.process/bal_a_process.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://bal.request.process/bal_a_process.wsdl"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd1="http://bal.request.process/bal_a_process.xsd" >
    <documentation>
    WSDL for Service: bal_a_process, generated by Oracle WSDL toolkit (version: 1.1)
    </documentation>
    <types>
    <schema targetNamespace="http://bal.request.process/bal_a_process.xsd" xmlns:tns="http://bal.request.process/bal_a_process.xsd" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dom="http://xmlns.oracle.com/2001/XMLSchema/DOM">
    <complexType name="bal_request_process_bal_a_processUser_processRequest_Out">
    <all>
    <element name="outresponsexmlOut" type="dom:org.w3c.dom.DocumentFragment"/>
    </all>
    </complexType>
    </schema>
    </types>
    <message name="processRequestOutput">
    <part name="return" type="xsd1:bal_request_process_bal_a_processUser_processRequest_Out"/>
    </message>
    <message name="processRequestInput">
    <part name="param0" type="xsd:string"/>
    </message>
    <portType name="bal_a_processPortType">
    <operation name="processRequest">
    <input message="tns:processRequestInput"/>
    <output message="tns:processRequestOutput"/>
    </operation>
    </portType>
    <binding name="bal_a_processBinding" type="tns:bal_a_processPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="processRequest">
    <soap:operation soapAction="urn:bal-request-process-bal_a_process/processRequest"/>
    <input>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:bal-request-process-bal_a_process"/>
    </input>
    <output>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:bal-request-process-bal_a_process"/>
    </output>
    </operation>
    </binding>
    <service name="bal_a_process">
    <port name="bal_a_processPort" binding="tns:bal_a_processBinding">
    <soap:address location="http://localhost:7200/balprocess/balprocess"/>
    </port>
    </service>
    </definitions>
    Request I am sending to PLSLQ WS URL
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <SOAP-ENV:Body>
              <processRequest xmlns:m="urn:bal-request-process-bal_a_process" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                   <param0 xsi:type="xsd:string">     "<a>"aaa"</a>"     </param0>
              </processRequest>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I above SOAP request XML i m testing "<a>"aaa"</a>" as XML string. but this is also getting failed. In actual this will be SOAP XML request from some other XYZ wsdl file.
    Quwang ur help needed urgently.
    Regards

Maybe you are looking for