WebService no NW DS e utilização no NW PI (RFC to SOAP)

Prezados, bom dia.
Um grande help de vcs ...
Gerei um EJB Stateless bem simples no Developer Studio 2004s. Em seguida criei um WebService (Virtual Interface, WSD e Configuration) a partir do bean criado. Finalmente gerei o EAR e fiz o deploy no Servidor.
Feito isso, o WebService gerado aparece no WebService Navigator e consigo executá-lo perfeitamente.
Agora vem os problemas:
#1 - No WebService Navigator tem uma opção de fazer o download do WSDL. Eu fiz isso e importei no PI (External Definitions). Só que os parâmetros expostos no WS não aparecem na aba Message do PI, com isso, eu não consigo utilizar esse WSDL no Message Mapping, Message Interface, etc. Alguma sugestão de como devo proceder para gerar o WSDL correto ou mesmo o XSD?
#2 - Como não consegui importar o WSDL no PI, gerei o DataType, MessageType, etc na unha, configurei a interface no Integration Configuration, SOAP Adapter, RFC Adapter, Receiver Determination, etc, etc, etc ... Quando executo a RFC, na SXMB_MONI a interface aparece como se tivesse sido executada corretamente, mas no RWB aparece o seguinte erro quando pesquiso pelo canal SOAP configurado: Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault
Desde já agradeço toda e qualquer ajuda.
Grande abraço a todos.
Hyalen.

Ola, acho que vc já deve ter conseguido resolver esse problema, mas vamos lá, quanto a interface RFC estar ok no monitor de msgs do PI e com erro no RWB isso ocorre devido ao processo ter transcorrido ok durante toda a msgeria, ou seja, o processo recebeu a msg, fez o mapping transformation, chamou a rfc e finalizou o processo, no RWB porem, que mostra o resultado da chamada desse processo final, retorna o erro que a RFC ou conexao nao foi encontrada, podem ser dois fatores ai, o RFC Destinations (SM59) entre seus ambientes foram criados corretamente e os testes deles estao ok? A RFC realmente existe no ambiente que esta tendo que enviar? O comunication channel esta criado no local correto apontando para o ambiente correto?
Quando ao WSDL, para poder dar uma analisada nele coloque ele aqui no forum por favor, porem vc poderia fazer um testes com o SOAP UI ( aplicativo para testes de webservices ) que é disponivel gratuitamente para verificar se a assinatura do servico esta correta.

Similar Messages

  • RFC-to-SOAP webservice using HTTPS

    Hi experts,
    I have a RFC-to-SOAP (sync) and the URL of the webservice is using HTTPS. I'm not the owner of the webservice.
    Encountered these errors
    - for sender comm :
    com.sap.aii.af.ra.ms.api.DeliveryException: Peer sent alert: Alert Fatal: illegal parameter
    - receiver comm :
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Peer sent alert: Alert Fatal: illegal parameter: iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: illegal parameter
    We are not using certificate authentication so I don't think that's the cause.
    Have checked that the https is running ok for ABAP but I don't think that got anything to do with the errors. Is there something wrong with SSL setting for J2EE? If yes, how may I check?
    Are there some parameters to be set up? In the RFC sender comm & SOAP receiver comm, I do not find any special settings for https.
    I have read this link : http://help.sap.com/saphelp_nw04/helpdata/en/14/ef2940cbf2195de10000000a1550b0/content.htm. Is it necessary to set the Exchange Profile Parameters? My BASIS colleague is now checking it.
    Thanks for reading and will appreciate any advice!

    Thanks Prateek for the quick reply!
    Re HTTPS certificate, do you mean the cert for my XI server or the cert from the web service?
    I have tested calling the web service using SOAPUI and it works fine without using the cert given by the web service (which is expired anyway)...

  • Rfc to soap (webservice)

    Hi,
    I have a RFC in R3 sending out employee# in TABLES parameter to XI. XI needs to call an external webservice, for each of these employees and get their name.
    RFC will collect the names in the TABLES parameter(second column) and send response back to R3. (This way i can keep R3 -XI- R3 traffic to single message).
    Appreciate help to develop this scenario. Would BPM be useful in this scenario....i would like to use it too.
    Thanks,
    Ram

    Hi,
    If you alredy BAPI with you then you no need to go for Proxy,you can build customized BAPI to pull the data from tables,then use RFC adapter to retrive the data from tables and send it to web service using SOAP adapter use synchronous mode,Webserice send the response and update the same in R/3.(i never use RFC sender as sync)
    else use ABAP proxy in sender side,it will work for you.
    no need to go for BPM.
    Regards,
    raj

  • Problem with Syncronus senario in AAE

    HI ,
    I am working on SOAP to Proxy  syncronus senario in SAP PI7.1 using AAE (Intigrated configuration ,But i am getting the error as follows
    SOAP: call failed: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Error during conversion of XI message
    I am not sure what is this error causing, can any body help me on this issue.
    Thanks,

    Ok it seems that there is something wrong with the way the interface was developed. It seems the interface cant be reached.
    Are you sure everything is correct and activated?
    Consuming SAP PI published Web Service | SCN
    **************** - XI - RFC-to-Web Service Scenario
    SAP PI Consume Third-Party Webservice
    Tutorials on SAP PI Web service consuming...RFC to Soap and ABAP Proxy to Soap
    Web service scenario with ws adapter in PI 7.1
    Regards,
    Jannus Botha

  • Webservice to a webdynpro

    Hi,
    Is there relation between webservice and webdynpro in ABAP..I mean how can we use these two together for achieving a user interface program...?????
    I have very little knowledge in Web Service....!!! Excuse if this makes no sense...
    Thanks,
    ABAPer 007

    Hi,
        No you are getting a bit confused. No problems. I will get it cleared for you.
    ABAPer 007 wrote:
    I would like to tell my understanding.. So webservice is an architecture to develop UI technology and Web Dynpro a tool which utilizes this architecture to effectively explore UI technology....( Correct me if i am wrong ? )
    Yogesh Answers:
    Webservice is not an architecture to develop UI technology. Webservice is an architecture to utilize enterprise level logic. This logic either preexists in the form of SAP ABAP code (in SAP systems). For example creation of a Inquiry (SAP standard T-Code). Suppose i want to do it from my Webdynpro UI. So i ll utilize this standard enterprise code from a webservice.
    ABAPer 007 wrote:
    I developed one Web Dynpro program which takes some input and provides output based on it in another VIEW. Hence whether i can say I developed a Webservice ?
    Yogesh answers:
    No you did not develop a webservice. You only developed a platform that will ultimately consume a webservice.
    ABAPer 007 wrote:
    i developed a Webservice using ABAP transaction SE80 and attached a Function Group to it....But interesting thing is !!! how i should proceed further to test or consume it !!!!!!
    Yogesh answers:
    Yes its correct that you made a webservice out of a function group. To test it you can use the nwa.
    http://<server>:<port>/nwa --> Web services navigator.
    You require an appropriate wsdl link to the webservice.
    This wsdl link will be available from the webservice definition in the workbench. Open the webservice and you will have a wsdl button/tab at the top of the screen.
    Revert for other doubts

  • How  to get soap request in webservices (WSDL in java)

    hi ,,
    i did one helloworld app using soap protocol. In that , one soap client invokes the webservices(old java class with WSDL ).Now i want to get the soap document in the web service for to process the soap envelope and parsing and generating the o/p and append to the response then create the soap document for response. plz let me know how to do?
    Thanks in advance.

    Let me see whether I understand. Are you attempting to achieve something like this:
    test.cfc
    <cfcomponent output="no">
    <cffunction name="testFunction" returntype="any" access="remote">
    <cfargument name="soapInput">
    <cfset var inputXML = arguments.soapInput>
    <cfset var soapBodyText="">
    <cfset var noBodyTextError="">
    <cftry>
        <cfset soapBodyText = xmlSearch(inputXML,"//soapenv:Body/text()")[1].xmlValue>
        <cfsavecontent variable="noBodyTextError"><?xml version="1.0" encoding="utf-8"?><soapenv:Envelope     xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server.userException</faultcode> <faultstring>java.lang.Exception: Body not found.</faultstring></cfsavecontent>
        <cfif trim(soapBodyText) is "">
        <cfthrow>
        </cfif>
        <cfreturn inputXML>
    <cfcatch type="any">
    <cfreturn noBodyTextError>
    </cfcatch>
    </cftry>
    </cffunction>
    </cfcomponent>
    tester.cfm
    <cfxml variable="mydata">
            <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wor="https://www.worldmilesafrica.com">
       <soapenv:Header/>
       <soapenv:Body>
       </soapenv:Body>
    </soapenv:Envelope>
    </cfxml>
    <cfinvoke webservice = "http://127.0.0.1:8500/workspace/wsTest/test.cfc?wsdl"
              method = "testFunction"
               returnVariable = "result">
           <cfinvokeargument name="soapInput" value="#trim(mydata)#" >
    </cfinvoke>
    <cfdump var="#result#">

  • Dynamic webservice selection

    Hello friends,
    Is it possible to decide at runtime to which web application server the request should send to depending on one of field in sender file?
    e.g in file adapter we could specify the file name at runtime. I am not sure whether would it be possible , becoz WSDL contains location tag specifying where webservice resides....
    i would appreciate for any kind of help
    thanks,
    Pranav

    HI,
    Yes it is possible to maitain the UDF to create the URL based on sender Data. see my links and also below link
    RFC and SOAP scenarios-/people/shabarish.vijayakumar/blog/2008/01/08/troubleshooting--rfc-and-soap-scenarios-updated-on-20042009
    Dynamic configuration payload - https://media.sdn.sap.com/javadocs/NW04/SPS15/pi/com/sap/aii/mapping/api/DynamicConfiguration.html
    Dynamic Configuration of Some Communication Channel Parameters using Message Mapping - /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    Dynamic configuration in adapter modules - /people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules
    Also see the below links for ref
    RFC to SOAP
    /people/shabarish.vijayakumar/blog/2008/01/08/troubleshooting--rfc-and-soap-scenarios-updated-on-20042009
    /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    /people/piers.harding/blog/2004/07/18/you-dont-need-to-use-soap-to-keep-your-rpc-clean
    /people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
    /people/david.halitsky/blog/2006/08/25/soa-vs-rfc-it-doesnt-have-to-be-charles-bronson-vs-henry-fonda
    /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=rfc%20to%20soap%20scenario&cat=sdn_weblog
    Regards
    Chilla

  • Calling the webservice twice - Duplicate entries

    Hi Experts,
    Scenario : SOAP Client -> Call Microsoft webservice -> XI JDBC Sync call-> Call Microsoft webservice.
    BPM Steps:
    1. Receive Step -> Get the SOAP Client request (Open S/A Bridge)
    2. Send Step -> Async call to Microsoft webservice  to update the log status.
    3. Send Step -> Sync call to JDBC
    5. Send Step -> Close the S/A bridge
    6. Send Step -> Call the Microsoft webservice to update the log status.
    Receiver Determination Steps
    1. SOAP Sender to BPM
    2. BPM(Async request) to 2 Log Business Service. I have mentioned the both business service under Configured Receivers section in Receiver Determination.
    3. BPM(Sync request) to JDBC
    Issue : The JDBC part works fine. Only problem with the Microsoft webservice. Twice it update the log table. ie. Twice it calls the Microsoft's each webservice.
    Please help me out, how to stop the second retry and let me know the above approach is correct or not.
    Thanks & Regards
    Sara

    Hi Sara,
    As per your info, Earlier you was trying to call both logging updates under one Sync/Async Bridge. But on Webservice side it will give you two responses and you will handling only one.
    In later case also you are handling only 1st response of Webservice call, but the another call is still open.
    Actually you are trying to built two Sync/Async Birdges. Which is not at all possible under one BPM.
    SAP have not recommended for it.
    Refer
    http://help.sap.com/saphelp_nw04/helpdata/en/43/65d4dab39b0398e10000000a1553f6/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/83/d2a84028c9e469e10000000a1550b0/content.htm
    You need to create two seperate interfaces for this.
    For e.g.
    1st will call the Webservice before updating the JDBC tables.
    2nd After updating the JDBC table you can again call the Webservice for updated logging status.
    Thanks
    Swarup
    Edited by: Swarup Sawant on Jun 2, 2008 8:50 AM

  • How to use a WSDL file to call webservice? Help!

    Hi Experts,
         I have exposed a SAP function module as webservice using the
         Utilities -> More Utilities -> Create Web Service -> From Function module
         What does this step actually does? Does it create some kind of web application like BSP for the function module in the background?
         After creating the web service I have released the service definition for the SOAP runtime using the transaction WSCONFIG.
        Finally I have generated the WDSL file ofr the webservice using WSADMIN transaction.
        After this how will my third party application like Java will use the WSDL? Will I need any connector software to be installed in Java side.
        How exactly will java call my webservice using WSDL?
        What actually happens or what is the message flow when java application calls by webservice?
        Kindly help.
    Thanks
    Gopal

    Hi, Your solution should be correct and it's a quite common approach for Login authentication.Informatica's webservice provider also need 2 steps for calling its webservice1. Getting the session ID using username and password 2. Use the session ID to call any active operation 3. Use the session ID to log out if webservice do not have any time out settings for each session. SOAP standard is listed in the WSDL of saleforce webservice. It affects if you cannot find/call any operation in PowerCenter level. My lastest information is for PWC 9.1 version only, I don't know if they have enhanced this function in 9.5. If you can call the operation, you can just put it (SOAP standard) way first. Regards,Felix

  • Error in consuming webservices using ABAP

    Dear Gurus,
    I am trying to consume webservices using ABAP. We dont have XI installed and no java instance installed.
    I created a customer proxy through SE80 and generated a proxy class by giving a WSDL link and also defined logical port. Traditionally followed the steps. But while testing webservices , I get a ICF error.
    The error is as follows:
    SOAP : 1:023 SRT : Processing error in internet communication framework ("ICF error when recieving the response  ICM_HTTP_CONNECTION_FAILED)
    Please let me know the cause of this error and solution to be provided.
    I also tried to call the method from an abap program, But I get CX_AI_SYSTEM_FAULT exception.
    Awaiting your replies.
    Thanks in advance for your support and valuable time.
    Thanks
    Gurushanthi

    Hi Gurushanthi,
    It could one of several problems, examples:
    - A firewall setting
    - http communication out disabled by Basis team or
    - The logical port wasn't configured correctly.
    Try the suggestions in this thread to narrow down the reason (particularly the telnet test from the server):
    [Re: Error testing external web service ICM_HTTP_CONNECTION_FAILED;
    Regards, Trevor

  • Change namespace in generated WebService

    Hello experts,
    i have to provide a webservice with three methods for an external Client.
    So i created three functions in a function group. From the function group i autocreated my webservice with the wizzard. I changed the external/internal mapping properly, activate the webservice and create with soamanager a service and an endpoint and so on...
    When i create a client with the autogenerated WSDL from the WebService, i can call and reach the autogenerated Webservice from this client.
    The problem is: The external client cant reach our webservice. We have solved all problems with firewalls and certificates. The remaining problem is the namespace. The external clients request (we cant change it and have to provide a suitable webservice) with the namespace "urn:extnamespace" cant reach our servicepoint (error "service >extnamespace:Connect< not supported") :
    <SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:extnamespace="urn:extnamespace">
    <SOAP-ENV:Body>
      <extnamespace:Connect>
        <token>123456</token>
      </extnamespace:Connect>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    From our test- client we use successfully this with the namespace "urn:sap-com:document:sap:rfc:functions"::
    <SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:extnamespace="urn:sap-com:document:sap:rfc:functions">
    <SOAP-ENV:Body>
      <extnamespace:Connect>
        <token>123456</token>
      </extnamespace:Connect>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    The wizzard have automaticaly generated the namespace "urn:sap-com:document:sap:rfc:functions". The external Client use another namespace. We have no option to change the external client or request of it. We need to provide a suitable WebService which use the same namespace.
    We found no possibility to say the generation wizzard to use another namespace. Also we found no possibility with soamanager to change it.  When we change the namespace in XSLT-Transformation with STRANS and call the WebService from our test client, we get allways the error "service >extnamespace:Connect< not supported".
    The following links seems to be good on first sight, but dont help us:
    [Changing SOAP Namespace for Web Service;
    [service.sap.com/notes]   sap note 853824
    If there is no way to change the namespace, we have to create the webservice manually. Is there a suitable example for this job available?
    Greetings & thank you very much for your help!
    Edited by: JosipI on Dec 17, 2010 3:16 PM

    We have created a server interface in XI with the wsdl excepted by the external client. Then created a server proxy with this interface  in our sap system. Then we have implemented the generated methodes by calling existing functions. It works fine.
    Thanks a lot!
    Edited by: JosipI on Dec 23, 2010 1:24 PM
    Edited by: JosipI on Dec 23, 2010 1:25 PM

  • Implementing Webservices Doubt

    Hi,
    i have few queries in my mind
    we have to integrate Third party webservices with our SAP R/3
    1) Assume that in IDOC--- SOAP scenario( External Web Service)  who has to generate the WSDL file????
    2) In SOAP -
    IDOC scenario( External web service) who has to generate the WSDL file.
    Regards
    Suman

    Hi,
    The basic thing behind the Webservice is to follow the wsdl structure.
    On Sender side of SOAP we could create the WSDL file with defining the Webservice in ID and that can be deployed on Sender system to send the request message from web service.
    On Receiver side normally the Webservice structure has to be define as per the receiver system so its preferrable to take the wsdl as per Receiver system and use it in XI as external defination.
    In your IDOC-SOAP scenario, Web service is on receiver end and you have to develope the wsdl on receiver end as per the services provided by receiver system and the URL directs to receiver system.
    Here you should not create the wsdl from XI as the url that you will be giving in XI will be pointing to XI Interface by giveing the service and communication details.
    http://<Host>:<port>/XISOAPAdapter/MessageServlet?channel=<party>:<service>:<communication channel>
    In SOAP ---IDOC Scenario do we need to deploy any WSDL File on XI Server and Why???
    Here SOAP will be sender and will be directing to XI server so we need to deploy it in XI.
    I hope now its clear to you
    Thanks
    Swarup

  • File--xi--call webservice--post to R/3 idoc.

    Hi all,
            I am stuck up with this scenario.Please anyone help me out with suggestion.
    A file is(Xml/flat) is kept into the server.Xi is picking up with file and then it will call a webservice .this webservice will get the file data and post it to idoc.
    It may need BPM .i properly dont know.Please anyone answer it descriptive.
            I am really helpless.

    hey,
    This will be useful for you.Take a look at this.
    yours would be FILE>SOAP->IDOC
    The following is FILE->RFC->FILE
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    go through these too..
    /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    /people/shabarish.vijayakumar/blog/2008/01/08/troubleshooting--rfc-and-soap-scenarios-updated-on-20042009
    Please reward.
    Thanks,
    Vijaya.
    Edited by: Vijaya Lakshmi Palla on Jun 5, 2008 10:57 AM

  • Webservices Security in SOAP Receiver Adapter

    Hi All,
    I am configuring web services security settings in my File To Webservice scenario.
    The scneario is:
    File -
    asynch--XISynch-Webservice(X.509)
    The webservice is using X.509 certificates for security.
    I have configured SOAP receiver channel with webservices secuirty settings and same with Receiver agreement.
    But when I run this scenario in the SOAP Receiver channel monitoring I get below error.
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: java.security.PrivilegedActionException: com.sap.aii.af.security.impl.exception.MessageSecurityException: MessageSecurityException in Method: ApplyMessageLevelSecurity.run(). AccessControlException. Please check that your Code has the XiSecurityRuntimePermission.Context: com.sap.aii.af.security.impl.exception.MessageSecurityException: Exception in Method: apply( Message, CPALookupObject ). General exception, no further informations. Message: MessageSecurityContext in Method: apply( Message, CPALookupObject ). ApplyThread-Exception Message: ProcessException in Method: run(). Key: 0700; To-String: com.sap.aii.af.security.impl.exception.MessageSecurityException: ProcessException in Method: run(). Key: 0700. To-String: com.sap.aii.af.security.impl.exception.MessageSecurityException: MessageSecurityContext in Method: apply( Message, CPALookupObject ). ApplyThread-Exception Message: ProcessException in Method: run(). Key: 0700; To-String: com.sap.aii.af.security.impl.exception.MessageSecurityException: ProcessException in Method: run(). Key: 0700.
    Does anybody have idea about this error?
    Please help me to resolve this.
    Thanks,
    Shweta.

    Hi,
    I am doubtful if after add ing all the security realted settings you could be able to test it via RWB monitoring.
    Its better to test this kind of scenario with either real time application where all security certificates and settings will on right place.
    Thanks
    Swarup

  • Proxy to Webservice

    Hi All,
    I have to configure the scenario to send the data from r/3 to webservice . Receiver side we need to send a JMS message. How can we send the JMS messages to webserver as we have to use SOAP/HTTP adapter to communicate with webservices.  Any one can advise me how to proceed?
    Thanks in advance
    Kartikeya

    Hi Kartikeya,
    rfc to soap
    Chk the configuration in /people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2 of the SOAP adapter. Have you mentioned exactly as what is in the screenshot ? (In the mail you sent i didnt find it as needed, you missed out the SOAP action there)
    2. >> 4. For the response structure of the SOAP i created a XSD and imported it as a external definition.
    in /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    make sure that step too is done.
    1) IR: import RFC
    2) ID: Configure:
    2.1) Sender agreement = RFC
    2.2) receiver & interface determination
    2.3) receiver agreement = soap
    (This scenario is rfc -> XI -> soap)
    Reward points if this helps
    Regards
    Pragathi.

Maybe you are looking for