WSDL Wizard w/ SOAP, RequestContext, ComplexType and WSSE

Is it possible to run the wizard against a WSDL that uses a Request Context, SOAP, WSSE security and required input as a complexType?
I've tried it and while it generated all the service and value objects, any time I try invoking the service, I get the following error:
Array of input arguments did not contain a required parameter at position 1
I don't even think the document is being sent to the server.
I've read that in FB3, the wizard didn't handle SOAP services right and would ignore headers - I'm just trying to establish if it works at all and if I should continue trying to sort this out.
The request document should look something like this:
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header>
      <wsse:Security
          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken>
            <wsse:Username>12345</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">12345</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
      <rc:RequestContext
          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:rc="http://www.mydomain.com/crme/request-context.xsd">
         <rc:Property rc:key="username">12345</rc:Property>
         <rc:Property rc:key="sourceapp">12345</rc:Property>
      </rc:RequestContext>
   </soapenv:Header>
   <soapenv:Body>
      <s0:getAssociatePortfolioByNBID
          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:s0="http://www.mydomain.com/wsdl/gpbs/associatePortfolio/AssociatePortfolioService/v001"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <s0:nbid>NBD2ZXN</s0:nbid>
         <s0:attributeGroup>PARTYID</s0:attributeGroup>
      </s0:getAssociatePortfolioByNBID>
   </soapenv:Body>
</soapenv:Envelope>
Thanks!

I was running into similar issues attempting to send a complex-typed request to a SOAP service.  Right up to the same error message, actually.  After a lot of googling and a little experimentation, I came up with an adjustment to the generated code that makes it work.
(OBVersionDisclosure:  Flash Builder 4, Flex 4 SDK.)
The generator produced an ActionScript class called [servicename], along with one named _Super_[servicename].  This service class gives you asynchronous RPC-style access to your SOAP methods.  For what we're doing, though, ignore the [servicename] class -- all the action is in the _Super_[servicename] class.
Anyway, for each of these SOAP methods there is a same-named method on the Super class.  So if your SOAP method is named [mycall] and takes a data structure named [mycallstruct], it made an AS method that looks like this:
    public function [mycall]([mycallparam]:valueObjects.[mycallstruct]) : AsyncToken
        model_internal::loadWSDLIfNecessary();
        var _internal_operation:AbstractOperation = _serviceControl.getOperation("[mycall]");
        var _internal_token:AsyncToken = _internal_operation.send([mycallparam]) ;
        return _internal_token;
Which should be fine, except that it's throwing that "did not contain a required parameter" fault.
Long story short:  It looks like the send(args) form of the remote operation call is a little broken.  Because all I had to do to make this method work as advertised is this:
    public function [mycall]([mycallparam]:valueObjects.[mycallstruct]) : AsyncToken
        model_internal::loadWSDLIfNecessary();
        var _internal_operation:AbstractOperation = _serviceControl.getOperation("[mycall]");
        _internal_operation.arguments = [mycallparam];
        var _internal_token:AsyncToken = _internal_operation.send() ;
        return _internal_token;
which is the call form I found in posted code for previous versions of Flex.
Well, that's the extent of my knowledge on the subject.  Hope it's helpful.

Similar Messages

  • Wsdl support for both soap 1.1 and 1.2

    Hello,
    Is it possibile to support both soap 1.1 and 1.2 using jaxws annotations? (MTOM enabled)
    Thanks,
    Ioana.

    Openlink Software provides type-1 and type-3 JDBC drivers compliant with JDK 1.2.x. Visit them at http://www.openlinksw.com, and more specifically, http://www.openlinksw.com/info/docs/rel3doc/jdbc/jdbcindx.htm
    Best regards,
    Stephen Schadt

  • How to write won WSDL file for SOAP adapter ?

    Hi experts
      Can any one expalin me how to write WSDL file  for SOAP adapter ?
      What and all things i need to know ? i have no idea on this....
      I got the business but to WSDL ...i am very new to this
    Adv...thanks
    Rakesh

    HI,
    Please see the below links,
    Consuming XI Web Services using Web Dynpro – Part II-/people/riyaz.sayyad/blog/2006/05/08/consuming-xi-web-services-using-web-dynpro-150-part-ii
    Consuming XI Web Services using Web Dynpro – Part I -/people/riyaz.sayyad/blog/2006/05/07/consuming-xi-web-services-using-web-dynpro-150-part-i
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/0d7349b6-0901-0010-ddbe-ec43178a61ff
    /people/sap.user72/blog/2006/01/16/xi-propagation-of-meaningful-error-information-to-soap-client
    /people/kevin.liu/blog/2006/04/12/wsdl-11-binding-extension-for-soap-12
    Regards
    Chilla..

  • URGENT: SOAP 1.1 and 1.2 Support in OSB Proxy

    Gurus,
    My OSB proxy services should support SOAP 1.1 and 1.2 versions. However, WSDL based Proxy service has only one endpoint. (This is the limitation as per an Oracle document.) This endpoint is one which you select while creating a proxy service from WSDL.
    Now, as a result, the service is not able to serve both the 1.1 and 1.2 requests.
    As a workaround, I've created two proxy services from the same WSDL (which has both the endpoints/bindings).
    And, i publish two endpoints to the user.
    Is there any way to trick the proxy WSDL (effective WSDL) to have two ports (endpoints) in it ?
    If not, what are the best practices to tackle this situation?
    Thanks in advance for your help on this.
    With regards-
    Ashish
    Edited by: user570355 on 2012. 9. 24 오후 3:47

    Hi Ashish,
    I don't think there's a way to trick the proxy but, as you know, soap 1.1 and 1.2 have slightly different envelope formats (e.g. fault handling) so you'll probably need some kind of specific message processing or transformation, sometime in the future, for handling both soap 1.1 and soap 1.2 requests. This makes your approach correct, in my opinion.
    Do you have a local proxy for handling service logic?
    I think you should follow something similar to this: http://docs.oracle.com/cd/E23943_01/dev.1111/e15866/local.htm#i1075772.
    Your minimum configuration - 3 proxies:
    SOAP 1.1 Proxy, SOAP 1.2 proxy and a Local Proxy
    Using this approach:
    *1 -* The Local Proxy should handle Business Service calls, additional logic, etc. You'll probably have to configure this as "Any XML" proxy and use some kind of internal message format (your own schema) because, if you configure it as "Any SOAP", you'll be forced to choose between SOAP 1.1 and SOAP 1.2.
    - routes responses from Business Services to the correct SOAP 1.x Proxy
    *2 -* For each SOAP 1.x Proxy
    - receives soap 1.x messages and transforms them to some kind of internal schema -> routes them to the Local Proxy for processing
    - transforms any kind of responses coming from the Local Proxy back to soap 1.x format and routes responses to the client
    I hope this can be of any help to you,
    Regards,
    Filipe

  • SOAP receiver configuration and ESR part

    Hi,
    Could you Please help me out?
    I have a scenario like IDOC to SOAP in that they are not giving the WSDL structure I have to prepare and have to use.
    Please tell me how to create wsdl and then how to proceed with Data Types, Message Types, Service interfaces and mappings and ID configuration.
    Thanks & Regards,
    L N Venkata Praveen Gade.

    Basically you are using target system using soap adapter as receiver.
    Import the WSDL In ESR as external definition.
    use external message type in the message type tab to choose mesg from WSDL.
    create receiver service interface as usual and specify wsdl message as message type.
    Message Mapping again choose source message your sender message type and receiver as reciever mesg type(one you picked from the WSDL)
    Operation mappping is pretty same
    Configure soap receiver channel.
    two things
    specify wsdl url (find out soap address location tab in the wsdl)
    and action (if required) other leave blank.
    http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/content.htm
    check this [link |http://www.riyaz.net/blog/xipi-a-guide-to-using-sap-xi-soap-adapter/technology/sap/113/]too
    hope that helps.

  • OSB: Soap 1.1 and Soap 1.2

    Hello i am tasked with a wsdl file that contains two port types one with soap 1.1 and the other with soap 1.2
    Now I need both the soap 1.1 and soap 1.2 to be available to the end user
    however in osb when creating the proxy service i am forced to choose either hte soap 1.1 binding or the soap 1.2 binding... will i have to create two separate proxy services for each or is there a way to have it where one proxy service can support both soap types?

    How come a SOAP 1.2 request can go through the whole flow even though the local PS and provider BS I chose the SOAP 1.1 ports?Make your PS_3 as Any XML Service proxy service and the select Local Transport.
    come a SOAP 1.2 request can go through the whole flow even though the local PS and provider BS I chose the SOAP 1.1 ports?Your PS_3 can accept both SOAP1.1 and SOAP1.2 as it's based on Any XML service.
    Regards,
    Abhinav

  • Unable to process SOAP Header child element 'wsse:Security' with 'mustUnder

    Hello everyone.
    In have created project in Jdeveloper. In this one i have one external reference for Siebel Service.
    At composite, for external reference service(Siebel Service) i have added a security policy i.e. *"oracle_wss_username_token_client_policy"*.
    [Right click on SiebelService->configure WS policies->under security tab i have selected above policy]
    So apart from this i have added property for the policy
    <property name="oracle.webservices.auth.username" type="xs:string"
    many="false" override="may">SADMIN</property>
    <property name="oracle.webservices.auth.password" type="xs:string"
    many="false" override="may">SADMIN</property>
    But its returning following error,
    Unable to process SOAP Header child element 'wsse:Security' with 'mustUnderstand="1"'(SBL-EAI-08000)
    This really pushed back me in development.
    Really i am in need of help. Help me out of this issue.
    Thanks in advance,
    Shridhar

    Unable to process SOAP Header child element 'wsse:Security' with 'mustUnderstand="1"'(SBL-EAI-08000)The problem is at Siebel side. It is not able to understand the security mechanism being used at SOA side. There are two options -
    1. Use the custom policy and assertion at SOA side (please refer to metalink note - 1419373.1)
    2. Write your own custom message handler class and use it at Siebel side to negotiate security gap
    Regards,
    Anuj

  • Handheld Application Loader Wizard has encountered a problem and needs to close. We are sorry for the inconvenience.

    I keep getting this message when i connect my new Bold 9900 and started getting it on my curve 8330 a couple months ago. I have the newest version of desktop manager 6.0 installed on both my laptop and my PC. The strange thing is it works flawlessly on my laptop, no error messages from either phone. Just got the new Bold last week, plugged it in to PC, same error. I have done alot of reading through the forums and have tried to uninstall and re-install the desktop software 3 or 4 times. Even tried upgrading the OS on the Curve and Bold on the Laptop. Plugged it back into the PC and same problem. I cannot force the Loader.exe to start on PC  when I click on it on the C:\program Files/Common Files/Research in Motion/Apploader, crashes right away. Even tired a method that outlines how delete registry entries, etc and tried that. Does anyone have any further ideas or more detailed way to resolve this. Seems to be desktop manager issue as no problems with same devices on laptop.
    Solved!
    Go to Solution.

    Re: Handheld Application Loader Wizard has encountered a problem and needs to close. We are sorry for the inconvenience.
    Sorry I will correct the laptop order:
    Okay, on my desktop USB controllers:
    USB Root Hub
    USB Root Hub
    USB Root Hub
    USB Root Hub
    VIA REV 5 or later USB Universal Host Controller
    VIA REV 5 or later USB Universal Host Controller
    VIA REV 5 or later USB Universal Host Controller
    VIA USB Enhanced Host Contoller
    On my laptop:
    Intel(R) 82801G (ICH7 Family) USB Univeral Host Controller - 27C8
    Intel(R) 82801G (ICH7 Family) USB Univeral Host Controller - 27C9
    Intel(R) 82801G (ICH7 Family) USB Univeral Host Controller  - 27CA
    Intel(R) 82801G (ICH7 Family) USB Univeral Host Controller  - 27CB
    Intel(R) 82801G (ICH7 Family) USB2 Enhanced Host Controller  - 27CC
    USB Root Hub
    USB Root Hub
    USB Root Hub
    USB Root Hub
    USB Root Hub

  • One WAR containing soap 1.1 and soap 1.2

    can anybody tell me how to package a web service into one war file that supports soap 1.1 and 1.2 in ANT? Is it possible to do it?
    Thanks.

    ya it is possible to make the webservice as war file. It just like creating jsp or servlet application.
    In your WEB-INF directory u need to have your webservice configuration file(wsdd) and classes shud be under classes directory..
    Niraimathi R

  • DB Adapter wizard – WHERE clause on parent and child tables not working.

    I have two tables, SECURITY and SECURITY_POSITIONS, where SECURITY has a 1:M relationship with SECURITY_POSITIONS. I used the DB-adapter wizard to create the relationship and the following WHERE clause expression which is looking at both the parent and the child tables;
    The expression builder looks like this:
    AND
    |--- 1. partitionKey EQUAL p_SearchKey
    |--- 2. securityType EQUAL “DBT”
    |--- 3. securityPositionsCollection.dealReference EQUAL “NA”
    The primary key on SECURITY = PARTITION_KEY and SECURITY_REFERENCE
    The foreign key from SECURITY_POSITIONS to SECURITY = PARTITION_KEY and SECURITY_REFERENCE
    securityType is on SECURITY table (master)
    securityPositionsCollection.dealReference is on SECURITY_POSITIONS table (child)
    The invoke on the database adapter is selecting a row in securityPositionsCollection for each child row, rather than just those with dealReference = “NA”!
    I turned on DEBUG logging in the BPEL console and I can see that there are 2 SELECT queries run (guess this is how Toplink does it!), where the 1st query appears to select the parent rows and the 2nd query selects the child rows.
    However the 2nd query is not working because it is failing to select only those child rows where dealReference = “NA”. Also, don’t know why the 2nd SELECT query needs to specify the child SECURITY_POSITIONS table twice in the FROM clause, because that seems to be causing the problem.
    1st query executed is as follows;
    SELECT DISTINCT t0.PARTITION_KEY, t0.SECURITY_REFERENCE, t0.SECURITY_TYPE
    FROM CENTRAL.SECURITY t0, CENTRAL.SECURITY_POSITIONS t1
    WHERE ((((t0.PARTITION_KEY = ?) AND (t0.SECURITY_TYPE = ?)) AND (t1.DEAL_REFERENCE = ?)) AND ((t1.SECURITY_REFERENCE = t0.SECURITY_REFERENCE) AND (t1.PARTIT
    ION_KEY = t0.PARTITION_KEY)))
    bind => [200706200000, DBT, NA]
    2nd query executed is as follows, where child table appears twice! ;
    SELECT DISTINCT t0.DEAL_REFERENCE, t0.PARTITION_KEY, t0.SECURITY_REFERENCE
    FROM CENTRAL.SECURITY_POSITIONS t0,
    CENTRAL.SECURITY_POSITIONS t2,
    CENTRAL.SECURITY t1
    WHERE ((((t0.SECURITY_REFERENCE = t1.SECURITY_REFERENCE) AND (t0.PARTITION_KEY = t1.PARTITION_KEY)) AND
    (((t1.PARTITION_KEY = ?) AND (t1.SECURITY_TYPE = ?)) AND
    (t2.DEAL_REFERENCE = ?))) AND
    ((t2.SECURITY_REFERENCE = t1.SECURITY_REFERENCE) AND
    (t2.PARTITION_KEY = t1.PARTITION_KEY)))
    bind => [200706200000, DBT, NA]
    Anyone experienced the same problem e.g. why is toplink making the query more complicated that it needs to be, because the query only needs to reference the SECURITY_POSITIONS table once, as follows;
    SELECT DISTINCT t0.DEAL_REFERENCE, t0.PARTITION_KEY, t0.SECURITY_REFERENCE
    FROM CENTRAL.SECURITY_POSITIONS t0,
    CENTRAL.SECURITY t1
    WHERE ((((t0.SECURITY_REFERENCE = t1.SECURITY_REFERENCE) AND (t0.PARTITION_KEY = t1.PARTITION_KEY)) AND
    (((t1.PARTITION_KEY = '200706200000') AND (t1.SECURITY_TYPE = 'DBT')) AND
    (t0.DEAL_REFERENCE = 'NA'))) AND
    ((t0.SECURITY_REFERENCE = t1.SECURITY_REFERENCE) AND
    (t0.PARTITION_KEY = t1.PARTITION_KEY)))

    Hello,
    It looks like you have configured your 1:M relationship to use batch reading. This causes the query to bring in the Security_Position table's objects to use the same selection criteria as was used on the initial query, with a join statement. This is more efficient in most cases as it ensures only the Security_positions needed for the Security objects to be fully built are read, in a single query.
    The selection criteria added is only used to filter out the Security objects. All referenced Security_Positions must be read in for the returned Security objects so that the data matches what is in the database. If you do not want the Security_Positions, you might try using indirection on the mapping which will delay the second query until you need the Security_Positions. Or, if you want only the Security_Positions with dealReference EQUAL “NA", you could do a query specifically to filter on them.
    Best Regards,
    Chris

  • SOAP to EMAIL and sending the response to SOAP by integration process

    Hi,
    I need to design a scenario from SOAP  TO EMAIL and based on the status of the EMAIL being sent i need to send the response to SOAP using integration.If it is SUCCESSFUL message i need to send success and if the mail is not sent i need to send error .
    could some one help how to design the Integration process for this scenario?will help me what steps i need to use for this .
    Thanks
    Rajesh

    Hi Rajesh,
    You can achieve this by making  synchronous Interfaces.
    1) create Synchronous Outbound and Inbound Service Interface.
    2) So you will need to create a response mapping as well.
    You get a response from mail adapter in the following format, use this as response Message Type:
    - <xim:MailReceipt xmlns:xim="http://sap.com/xi/XI/Mail/30">
      <Server>smtp://xx.xxx.xx.xx</Server>
      <Greeting>wlg-exht2.XYZ.com Microsoft ESMTP MAIL Service ready at Fri, 28 Jan 2011 20:10:28 +1300</Greeting>
      <Format>XIALL</Format>
      <UseMailPackage>false</UseMailPackage>
      <Encoding>base64</Encoding>
      <Subject>Sync Test</Subject>
      <From>"From e mail address</From>
      <To>"To e mail address"</To>
      <Date>2011-01-28T07:10:29Z</Date>
      <MailID>1.2.3</MailID>
      </xim:MailReceipt>
    By this I think you can give the status of Mail.
    Regards,
    Aravind

  • How to parse SOAP XML output and load to oracle9i table

    Below is the SOAP output response and I need to load the data into oracle 9i database tables.
    I am able to parse regular XML without namespaces but unable to parse the data with namespaces.
    I would need help in parsing this XML.
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <s:Header>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <u:Timestamp u:Id="_0">
    <u:Created>2011-11-04T23:16:08.437Z</u:Created>
    <u:Expires>2011-11-04T23:21:08.437Z</u:Expires>
    </u:Timestamp>
    </o:Security>
    </s:Header>
    <s:Body>
    <AssetGetListResponse xmlns="http://dev.services.xerox.com">
    <AssetGetListResult xmlns:a="http://schemas.datacontract.org/2004/07/Xerox.MPS" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <a:AssetFeed>
    <a:AccountID>de5862bf-f223-e011-bd3b-0024e861b15c</a:AccountID>
    <a:AccountName>MPS-API Sandbox</a:AccountName>
    <a:AssetID>ecf1545a-f1e9-e011-8a8a-0024e861b15c</a:AssetID>
    <a:AssetNumber>57119B28</a:AssetNumber>
    <a:AssetTag3rdParty i:nil="true"/>
    <a:ChargebackCodeID>1a5962bf-f223-e011-bd3b-0024e861b15c</a:ChargebackCodeID>
    <a:ContractNumber i:nil="true"/>
    <a:ContractTypeDescription i:nil="true"/>
    <a:ControlID i:nil="true"/>
    <a:Group i:nil="true"/>
    <a:GroupID i:nil="true"/>
    <a:InScope>false</a:InScope>
    <a:MACAddress>0000AA713E97</a:MACAddress>
    <a:Manufacturer>Xerox</a:Manufacturer>
    <a:Model>WorkCentre Pro 265</a:Model>
    <a:ModifiedDate>2011-11-02T16:52:12.947Z</a:ModifiedDate>
    <a:PricePlanID>c25a62bf-f223-e011-bd3b-0024e861b15c</a:PricePlanID>
    <a:SerialNumber>UTU101993N</a:SerialNumber>
    <a:VersionNumber>634558495329470000</a:VersionNumber>
    </a:AssetFeed>
    <a:AssetFeed>
    <a:AccountID>de5862bf-f223-e011-bd3b-0024e861b15c</a:AccountID>
    <a:AccountName>MPS-API Sandbox</a:AccountName>
    <a:AssetID>b33b5160-f1e9-e011-8a8a-0024e861b15c</a:AssetID>
    <a:AssetNumber>7EE42ADC</a:AssetNumber>
    <a:AssetTag3rdParty i:nil="true"/>
    <a:ChargebackCodeID>1a5962bf-f223-e011-bd3b-0024e861b15c</a:ChargebackCodeID>
    <a:ContractNumber i:nil="true"/>
    <a:ContractTypeDescription i:nil="true"/>
    <a:ControlID i:nil="true"/>
    <a:Group i:nil="true"/>
    <a:GroupID i:nil="true"/>
    <a:InScope>false</a:InScope>
    <a:MACAddress>0800379B4C2A</a:MACAddress>
    <a:Manufacturer>Xerox</a:Manufacturer>
    <a:Model>WorkCentre 7428</a:Model>
    <a:ModifiedDate>2011-11-02T16:52:14.383Z</a:ModifiedDate>
    <a:PricePlanID>c25a62bf-f223-e011-bd3b-0024e861b15c</a:PricePlanID>
    <a:SerialNumber>PBB015012</a:SerialNumber>
    <a:VersionNumber>634558495343830000</a:VersionNumber>
    </a:AssetFeed>
    </AssetGetListResult>
    </AssetGetListResponse>
    </s:Body>
    </s:Envelope>
    This is what I tried.
    declare
    lp_parser xmlParser.Parser;
    lx_xmldoc xmlDom.DOMDocument;
    ln_doc_node xmlDom.DOMNode;
    lnl_product xmlDom.DOMNodeList;
    lnl_meter xmlDom.DOMNodeList;
    ln_product xmlDom.DOMNode;
    ln_meter xmlDom.DOMNode;
    li_product_cnt NUMBER;
    li_product_max NUMBER;
    li_meter_cnt NUMBER;
    li_meter_max NUMBER;
    lnl_asset_meter_nodes xmldom.DOMNodeList;
    ln_asset_meter_node xmldom.DOMNode;
    ls_batch_number VARCHAR2(30);
    ldt_proc_dt DATE;
    ls_batch_item VARCHAR2(30);
    ls_place_id place.place_id%TYPE;
    ls_product_id product.product_id%TYPE := ' ';
    ls_contract_id contract.contract_id%TYPE;
    li_contract_version contract.contract_version%TYPE;
    li_contract_sequence contr_product.sequence%TYPE;
    ls_meter_id meter_log.meter_id%TYPE;
    ls_read_type meter_log.read_type%TYPE;
    ldt_reading_dt meter_log.reading_dt%TYPE;
    li_meter_value meter_log.meter_value%TYPE;
    li_adjust_copies meter_log.meter_value%TYPE;
    ls_meter_type VARCHAR2(20);
    ls_serial_id product.serial_id%TYPE;
    ls_meter_read_type VARCHAR2(50);
    invalid_parsing EXCEPTION;
    PRAGMA EXCEPTION_INIT(invalid_parsing, -20100);
    BEGIN
    FOR meter_xml_rec IN (SELECT SOAP_RESPONSE
    FROM temp_table
    WHERE call_id=2) LOOP
    lp_parser := xmlparser.newParser;
    xmlparser.parseClob(lp_parser, meter_xml_rec.SOAP_RESPONSE);
    lx_xmldoc := xmlparser.getDocument(lp_parser);
    xmlparser.freeParser(lp_parser);
    ln_doc_node := xmlDom.makeNode(lx_xmldoc);
    ls_batch_number := xslProcessor.valueOf(ln_doc_node, 'AssetGetListResponse/AssetGetListResult/AssetFeed/AccountID');
    lnl_product := xslprocessor.selectNodes(ln_doc_node, 'AssetGetListResponse/AssetGetListResult/a:AssetFeed');
    li_product_max := xmlDom.getLength(lnl_product)-1;
    FOR li_product_cnt IN 0..li_product_max LOOP
    ln_product := xmlDom.item(lnl_product, li_product_cnt);
    ls_batch_item := xslProcessor.valueOf(ln_product, 'AccountName');
    END LOOP;
    END LOOP;
    END;
    OUTPUT:
    =========================================
    3:32:41 PM *
    **3:32:41 PM ORA-20100: Error occurred while processing: Namespace prefix 'a' used but not declared.**
    3:32:41 PM ORA-06512: at "SYS.XSLPROCESSOR", line 22
    3:32:41 PM ORA-06512: at "SYS.XSLPROCESSOR", line 502
    3:32:41 PM ORA-06512: at line 50
    3:32:41 PM *** Script stopped due to error ***
    3:32:41 PM End SQL Editor Execution

    Hi,
    Something like this :
    lnl_product := xslprocessor.selectNodes(
                     ln_doc_node
                   , '/s:Envelope/s:Body/AssetGetListResponse/AssetGetListResult/a:AssetFeed'
                   , 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/", xmlns="http://dev.services.xerox.com", xmlns:a="http://schemas.datacontract.org/2004/07/Xerox.MPS"'
    li_product_max := xmlDom.getLength(lnl_product)-1;
    FOR li_product_cnt IN 0..li_product_max LOOP
      ln_product := xmlDom.item(lnl_product, li_product_cnt);
      ls_batch_item := xslProcessor.valueOf(ln_product, 'a:AccountName', 'xmlns:a="http://schemas.datacontract.org/2004/07/Xerox.MPS"');
    END LOOP;
    ...Or, using a single query :
    SQL> SELECT extractValue(value(x), '/AssetFeed/AccountID', 'xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS"') as AccountID
      2       , extractValue(value(x), '/AssetFeed/AccountName', 'xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS"') as AccountName
      3       , extractValue(value(x), '/AssetFeed/AssetID', 'xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS"') as AssetID
      4       , extractValue(value(x), '/AssetFeed/AssetNumber', 'xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS"') as AssetNumber
      5       , extractValue(value(x), '/AssetFeed/SerialNumber', 'xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS"') as SerialNumber
      6  FROM temp_table t
      7     , TABLE(
      8         XMLSequence(
      9           EXTRACT(
    10             XMLType(t.soap_response)
    11           , '/s:Envelope/s:Body/AssetGetListResponse/AssetGetListResult/a:AssetFeed'
    12           , 'xmlns:s="http://schemas.xmlsoap.org/soap/envelope/", xmlns="http://dev.services.xerox.com", xmlns:a="http://schemas.datacontract.org/2004/07/Xerox.MPS"'
    13           )
    14         )
    15       ) x
    16  WHERE t.call_id = 2
    17  ;
    ACCOUNTID                                      ACCOUNTNAME           ASSETID                                   ASSETNUMBER    SERIALNUMBER
    de5862bf-f223-e011-bd3b-0024e861b15c           MPS-API Sandbox       ecf1545a-f1e9-e011-8a8a-0024e861b15c      57119B28       UTU101993N
    de5862bf-f223-e011-bd3b-0024e861b15c           MPS-API Sandbox       b33b5160-f1e9-e011-8a8a-0024e861b15c      7EE42ADC       PBB015012

  • V.V.Urgent( Soap- XI- RFC) and Viceversa

    Hi,
    I am Integrating Webservice with SAP.
    I am Using soap and RFC adapters for this .....
    I want the Information from Creating SLD...
    How to create logical system for SOAP...
    and also for RFC   (  Both Sender and Receiver adapters)
    Points will be awarded for the answer..
    Regards,
    jayasimha jangam.

    Hi !!
    Check this out..
    /people/shabarish.vijayakumar/blog/2008/01/08/troubleshooting--rfc-and-soap-scenarios-updated-on-20042009 --> <b>Troubleshooting SOAP and RFC scenarios</b>.
    heck these links related to SOAP and RFC:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/befdeb90-0201-0010-059b-f222711d10c0
    /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
    /people/community.user/blog/2006/09/21/xi-rfcadapter-reconnect-issue
    /people/michal.krawczyk2/blog/2005/08/22/xi-maintain-rfc-destinations-centrally
    /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    /people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi - Invoke Webservices using SAPXI
    /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
    /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2131 [original link is broken] [original link is broken] [original link is broken]
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295aeaa9
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295aeaa9
    regarding HTTP* Errors /people/krishna.moorthyp/blog/2006/07/23/http-errors-in-xi

  • SOAP to IDOC and then send back acknowledgement

    Hi All
    I have SOAP to IDOC scenario which is successfully working.
    Now the requirement is SOAP needs an accknowledgement that IDOC is successfully posted.
    What are the ways to achieve this, please help.
    Regards
    Dheeraj Kumar

    hi,
    point no 1. as Grzegorz explanied with examples:
    http://wiki.sdn.sap.com/wiki/display/ABAP/HandlingIdocAcknowledgements
    but it's better to use a custom idoc in this case (approach No 2.)
    why ?
    as standard IDOC for ack can be used in PI for message acknowledgment and you may need it in the future
    so it's better to copy the standard one into a custom on and use it for your SOAP scenario only
    and not mix with the srandard one - at least that's what I'd do
    in my book:
    http://www.sap-press.com/products/Mastering-IDoc-Business-Scenarios-with-SAP-NetWeaver-PI.html
    you can also find out with screenshots how to work with IDOCs and IDOC acknowledgments
    Regards,
    Michal Krawczyk

  • Interoperability between apache soap toolkit(client)and ms soap toolkit

    Interoperability between apache soap toolkit(client)and ms soap toolkit.Give me an example where i can send and receive a complex data type from apache tomcat in client side to ms soap toolkit on the server side.It is urgent.Plz try to give me a solution as soon as possible.

    The toolkits don't have to work together at all. And by the way, you aren't sending the data to the MS toolkit, you're sending it to some MS product that can process the data. Any data that follows the standards should work.

Maybe you are looking for

  • HELP!: JBO-33001 bc4j.xcfg not found against oc4j 9.0.3

    I'm using JDev 9.0.2. Make BC4J project and BC4J JSP application. Then I deployed to remote OC4J server. BC4J JSP works on remote OC4J 9.0.2 but fails on remote OC4J 9.0.3 by JBO-33001. Why?? Of course, I set up the BC4J runtime on both version of OC

  • Problem using Adobe Reader 8.0 on nw04

    Hello, recently Adobe has released Reader version 8.0. It seems this is not supported by the Adobe Control provided by SAP. Is there an (ACF) update available for this? I have tested with nw04 - SP15 and SP18. Not (yet) with nw04s. I only got this er

  • I am looking to add typed words onto a picture that is saved in my file.  How do I do that?

    I am looking to add typed words onto a picture that is saved in my file.  How do I do that?

  • Change a non-looping track to looping

    I'm using STP 2.0.2 I also just started reading Apple Pro Training Series 'Soundtrack Pro' by Mary Plummer. It seems my interface is not the same as what she shows in the book. Doesn't state what version STP it's referencing. Questions and confusion

  • HT4623 Updating My Ipad...Will not go past set up?

    Ive updated my Ipad to the new IOS 7, when i go through the new setup it prompts me to restore my Ipad through Itunes, which I do it 'restores' my Ipad restarts and goes back to the same setup asking me to restore again! No idea what to do as it wont