Idoc acknowledgement message to web service

I am trying to set up the scenario SOAP sender>XI>IDoc Receiver.
I have exposed the outbound, synchronous message interface as a web service, and I'm planning to use sync-async bridge in BPM.
My problem is: I need a response message from SAP. Can I use an iDoc acknowledgement message for this purpose? If this is the case, how do I set up SAP to send this acknowledgement message to XI, and do I have to configure an iDoc sender channel for this purpose?
Any comment is appreciated!
Thanks,
Håvard

One option - not a ABAP expert but this is what I understood with my discussions with my ABAP team when we were coveringt he same issue -
In the Idoc Inbound Processing Code - write a ABAP Exit that after processing the Idoc will trigger the RBDSTATE report to trigger the AleAudit back to XI and XI will send it back to R3.
It is surely possible, as the Aleaudits are triggered by RBDSTATE report instead, you can manually makde the Idoc procesing code to trigger this report immdeitaly and so on.
An Abap , Ale_Idoc specialist will have the answer to this in seconds - on how to do this - but am not one
Regards
Bhavesh

Similar Messages

  • 'Payload not Serializable' with custom WSDL data types in message-style web service

    I'm implementing a message-style web service which publishes to a JMS Queue.
    I had the web service built and deployed, but noticed that the "sendRequest" message's
    part was of type "xsd:anyType." This is not specific enough for our interface,
    since it is externally facing and needs to describe the object we're expecting
    on the back end.
    So I replaced xsd:anyType with mynamespace:MyType, which is defined as a complex
    type in the same WSDL document.
    My problem is that when I test the web service with the new WSDL (using the client.jar),
    I get a server-side exception from the DestinationSendAdapter.doPost() method.
    The exception reads:
    javax.servlet.ServletException: Payload not Serializable
    at weblogic.soap.server.servlet.DestinationSendAdapter.doPost(DestinationSendAdapter.java:129)
    The domain object ('classic' JavaBean) that it should map to on the server side
    extends a class that implements Serializable, so it should inherit the trait.
    So my questions are:
    1) Did I properly go about trying to restrict the object type that gets sent to
    my Destination?
    2) If no, what is the correct way? If yes, why am I receiving the Payload not
    Serializable error if the domain object implements Serializable?
    Thanks in advance.

    Resolved:
    Apparently this is the right approach, as it boiled down to a classpath issue
    on the client-side. Thanks anyway.

  • Message driven bean and message style web service

    Hi,
    I'm trying to deploy a message style web service with a message driven EJB as
    the receiver and am getting the following exception:
    <Jan 22, 2002 10:51:06 AM PST> <Warning> <EJB> <MessageDrivenBean threw an Exception
    in onMessage(). The exception was:
    java.lang.ClassCastException: weblogic.jms.common.ObjectMessageImpl
    java.lang.ClassCastException: weblogic.jms.common.ObjectMessageImpl
    at credit.message.PostDefaultPayment.onMessage(PostDefaultPayment.java:24)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:254)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    public void onMessage(Message message) {
    System.out.println("onMessage");
    TextMessage textmessage = (TextMessage)message. // It is throwing
    the exception on this line --looks pretty normal
    Has anyone seen this before? Am I missing something?
    Thanks,
    Tim

    Hi Tim,
    I think the problem is that you are assuming that the data type, of the message
    argument to the onMessage(Message message) method in your MDB, is of type TextMessage.
    I agree that this seems logical, especially since you passed "a string" to the
    Message-style Web Service. However, this is not the case, because the WSDL uses
    the "xsd:anyType" as the data type for any argument you pass to the send() method
    ;-) This maps to a java.lang.Object in the WebLogic Web Services implementation,
    which is why you get the casting error. Try this instead:
    public void onMessage(Message msg)
         try
              String msgText;
              ObjectMessage objMessage = (ObjectMessage)msg;
              msgText = (String)objMessage.getObject();
    System.out.println("[PostDefaultPayment.onMessage(Message)] msgText=" + msgText);
    System.out.println("[PostDefaultPayment.onMessage(Message)] msg.getJMSType()="
    + msg.getJMSType());
    System.out.println("[PostDefaultPayment.onMessage(Message)] msg.getJMSCorrelationID()="
    + msg.getJMSCorrelationID());
    System.out.println("[PostDefaultPayment.onMessage(Message)] msg.getJMSMessageID()="
    + msg.getJMSMessageID());
         catch(Exception e)
    e.printStackTrace();
    Regards,
    Mike Wooten
    "Tim Uy" <[email protected]> wrote:
    >
    Hi,
    I'm trying to deploy a message style web service with a message driven
    EJB as
    the receiver and am getting the following exception:
    <Jan 22, 2002 10:51:06 AM PST> <Warning> <EJB> <MessageDrivenBean threw
    an Exception
    in onMessage(). The exception was:
    java.lang.ClassCastException: weblogic.jms.common.ObjectMessageImpl
    java.lang.ClassCastException: weblogic.jms.common.ObjectMessageImpl
    at credit.message.PostDefaultPayment.onMessage(PostDefaultPayment.java:24)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:254)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    public void onMessage(Message message) {
    System.out.println("onMessage");
    TextMessage textmessage = (TextMessage)message. // It
    is throwing
    the exception on this line --looks pretty normal
    Has anyone seen this before? Am I missing something?
    Thanks,
    Tim

  • Message Style Web Services

    Could u please suggest me some examples for Message Style web services other than the sample example provided with weblogic

    Could u please suggest me some examples for Message Style web services other than the sample example provided with weblogic

  • Using message-style web service by a Microsoft client

    Does anyone have a sample Microsoft client using message-style web service? BEA
    does not provide one. I found MS client does not receive messages published between
    2 calls to method "receive", while the sample Java client ConsumerClient.java
    does.
    ConsumerClient.java is like:
    while(true){
    Object result = method.invoke(null);
    sleep(20000); // not in sample, added for my test
    System.out.println(result);
    My VBScript code is like:
    Set SC = CreateObject("MSSOAP.SoapClient")
    SC.mssoapinit "http://localhost:7001/msg/Receiver/Receiver.wsdl", "", "", ""
    While TRUE
    Res = SC.receive
    WScript.echo "Res = " & Res     
    Res = ""
    ' do something that takes 20 seconds
    Wend
    I added 20 seconds between calls so I can publish a message between 2 calls. I
    found the Java client receives the message but the VBScript client doesn't. Has
    anyone else observed this?

    Hi Kevin,
    Thanks for your feedback.
    Header support is planed for the next major release.
    regards,
    -manoj
    Kevin Jiang wrote:
    Hi Manoj,
    Can you use SOAP header to pass session id accross instead of HTTP header? MS
    SOAP toolkit 2.0 support access to SOAP header.
    My app needs to use topic instead of queue. But as I said earlier, I can use MS
    XML toolkit to access HTTP header. So I have a work around.
    Thanks for all your responses with regard to this question!
    Kevin
    manoj cheenath <[email protected]> wrote:
    Hum! i thought you were not able to receive message at all. now
    i understood the problem. yes we are using http header to pass
    session id accross, in the case of web service client who wants
    to subscribe to JMS topics. I cant think of any other way to do
    this. if you have any suggestions, i very much like to hear it.
    for your application is it possible to use queues instead of topics?
    we do not use http session information in the case of JMS queues.
    -manoj
    Kevin Jiang wrote:
    Hi Manoj,
    Your sample code is basically same as mine. It would also lose messagespublished
    between calls to "receive" method.
    I figured out what's going on. Undocumented by BEA, the web servicesends JMS
    session ID in HTTP header along with first message. When client makessubsequent
    calls to "receive", this ID must be sent back. I found this by usinga SOAP trace
    tool.
    Unfortunately, MS SOAP toolkit doesn't support access to HTTP header.So one has
    to use MS XML toolkit to use message-style web service, when writingMS clients.
    manoj cheenath <[email protected]> wrote:
    an example of using message style web services with
    ms soap toolkit is attached. let me know if this works
    for you.
    regards,
    -manoj
    Kevin Jiang wrote:
    Hi Manoj,
    I just changed anyType to string and the problem still happens.
    Thanks,
    Kevin
    manoj cheenath <[email protected]> wrote:
    I have not tryed message style web services with MS soap toolkit.
    I think the problem is because the WSDL for the message style
    web service use xsd:anyType as the return type and MS soap is
    not able to understand it. can you pls modify the xsd:anyType to
    xsd:string (or someother base type) in the WSDL.
    SC.mssoapinit can load wsdl stored as a local file. so it should
    be easy to make this change.
    regards,
    -manoj
    Kevin Jiang wrote:
    Does anyone have a sample Microsoft client using message-style
    web
    service? BEA
    does not provide one. I found MS client does not receive messages
    published
    between
    2 calls to method "receive", while the sample Java client ConsumerClient.java
    does.
    ConsumerClient.java is like:
    while(true){
    Object result = method.invoke(null);
    sleep(20000); // not in sample, added for my test
    System.out.println(result);
    My VBScript code is like:
    Set SC = CreateObject("MSSOAP.SoapClient")
    SC.mssoapinit "http://localhost:7001/msg/Receiver/Receiver.wsdl",
    While TRUE
    Res = SC.receive
    WScript.echo "Res = " & Res
    Res = ""
    ' do something that takes 20 seconds
    Wend
    I added 20 seconds between calls so I can publish a message between2 calls. I
    found the Java client receives the message but the VBScript clientdoesn't. Has
    anyone else observed this?

  • Message-based web service

    We are using CF 7.01 and have been successful in consuming
    web services in the past. We are unsuccessful however in consuming
    a web service where the client says is using a message-based (aka
    document style) web service. We are entering thier system but we
    error out in our attempt to access thier web service.
    In the cfcomponent I have even tried using style="document"
    but we are still erroring out. The nature of the error message at
    our end shows:
    -- start of error message...
    Message: Could not generate stub objects for web service
    invocation.
    Detail: Name:
    https://integrationdev.peopleclick.com/soap/echo. WSDL:
    https://integrationdev.peopleclick.com/soap/echo. WSDLException (at
    /SOAP-ENV:Envelope): faultCode=INVALID_WSDL: Expected element '{
    http://schemas.xmlsoap.org/wsdl/}definitions'.:
    It is recommended that you use a web browser to retrieve and
    examine the requested WSDL document for correctness. If the
    requested WSDL document can't be retrieved or it is dynamically
    generated, it is likely that the target web service has programming
    errors.
    -- ...end of error message.
    The message insinuates a WSDL problem. I understand
    message-based web services don't use a WSDL. Must I remove
    something from our standard RPC-based web service configuration?
    Thanks in advance.
    Dev

    hi all,
    UPDATE:
    i have some how managed to handle my error at both REQUEST MESSAGE peoplecode and at HANDLER peoplecode. Tested the webservice using SOAPUI tool. After passing all inputs required, the customer is not created and i am getting a blank response message which should contain the SETID and CUST_ID as response. Please help me out whether i am missing any Key part in creating a CUSTOMER. Note, i haven't written any Peoplecode for creation and i am also not aware how to do the same or where to write the logic for it.
    Kindly bare with me and do help me out as i m struck with it for long. Thanks in advance

  • Send Multipart message in web service

    Hi All,
    I have configured IDoc-SOAP-File scenario successfully.
    Now My sender and receiver structure is changed.
    I mean in my Idoc i cn have node repeated number of times and so i have changed my occurace at wsdl file also, so tht for all web service will be call only once and response will also have 1-unbound occurance.
    When i run sceanrio...i m able to send Idoc with multiple node in it and request is futher sent to web service.
    But in response i m gettin response only for first one as web service is just sending/accepting (?) data for 1st occurance of node.
    Please guide me for same tht how i can send multiline data to web service and accept multiline responce.
    Regards,
    Manisha

    Check this note: https://service.sap.com/sap/support/notes/856597
    Q: My web service expects a SOAP with multiple elements in the SOAP body. How can I create such SOAP message?
    Check if you have done the setting as mentioned in the answer.
    Regards,
    Abhishek.

  • How to get original message in web service implementation and proxy

    Hi,
    We have a java web service and its client (proxy) generated from WSDL by JDev wizards. All the parameters are mapped to classes, but we need a way to get the original message we send and receive in order to log it.
    Is there any way to get the SOAP message that is being sent/received?
    Thank you

    If you are using 10.1.3 or later releases, you can use the JAX-RPC handler to gain access to the message. Your SOAP payload can then been manipulated using the SAAJ APIs. You have also the option to log messages directly from OWSM.
    Best,
    -Eric

  • Display Success Message in Web Service

    Hi All,
    I Have created web service for function module, when executing web service in navigator its working fine. Here Exception message display in output but success message not display. Success message working in Function Module but not display in Web service. How to display success message in web searvice.
    Code used for success message in Function Module:
    Message S001(ZMSG).
    Thanks,
    Chandra

    Hello,
    Dont think you can use custom message classes in RFC's. Try using a generic message and check if the message is being populated.
    Vikranth

  • Fault handler triggered for "100 Continue" messages from web service

    I'm using the Flex/Flash "WebService" class to connect to a .NET4 web service.
    Things always work fine unless the service sends a "100 Continue" message,
    (which it does seemingly at random, which is allowed by HTTP1.1).
    The problem is that Flex/Flash does not appear to handle this message.
    It triggers the fault handler with the following message:
    "SOAP Response cannot be decoded".
    The message body pulled from the Flash Builder's "Network Monitor" window (raw view) is:
    HTTP/1.1 100 Continue
    Server: ASP.NET Development Server/10.0.0.0
    Date: Tue, 21 Aug 2012 14:42:25 GMT
    Content-Length: 0
    If I understand correctly, any client using HTTP 1.1 should be able to handle "100 Continue" messages even if they didn't ask for them.
    Does anyone know what's going on here?
    Here are the software versions of everything involved:
    Flash plugin: 11.3.300.257 (ActiveX)
    Flash Builder: 4.6
    Flex Compiler SDK: 4.6.0
    OS: WinXP Pro, 32-bit, SP3
    Browser: IE 8.0.6001
    Web Service: .NET framework 4
    Any help/advice is greatly appreciated!!

    Update: The problem also occurs with Firefox 12 using the debug version of FlashPlayer 11.3.300.257, so I don't think it's a browser issue... Looks like Flash itself.

  • Sending JMS messages as web services

    I am trying to read a JMS topic, retrieve an XMLBean from the queue, and send it
    via web services developed in Workshop. Everything seems to deploy fine, but
    when I post a message to the topic, it just disapears. No logging, no movement
    to the specified error queue, and println doesn't print. How do I do this?

    Hi Neil,
    Have you gone through the tutorial "how to" [1] on this subject? There
    is a basic JMS/webservice example [2], outside of WLW, that may be
    useful in validating your JMS/server configuration. Also, be sure to
    check the server log file for warning/error messages.
    Hope this is of some value,
    Bruce
    [1]
    http://edocs.bea.com/workshop/docs81/doc/en/workshop/guide/howdoi/howExchangeMessageswithaJMSQueueorTopicfromaWebService.html
    [2]
    http://webservice.bea.com/message.zip
    Neil Hornbeck wrote:
    >
    I am trying to read a JMS topic, retrieve an XMLBean from the queue, and send it
    via web services developed in Workshop. Everything seems to deploy fine, but
    when I post a message to the topic, it just disapears. No logging, no movement
    to the specified error queue, and println doesn't print. How do I do this?

  • Obtaining the WSDL and sending a message (like Web Services)

    Hi All,
    Is it possible to use a service interface defined in XI as any other web service? Consider the following scenario.
    1. Create an async service interface (outbound) in XI (This has a message mapping and the message goes to some inbound interface). 
    2. Can we write an external application (a Java swing client or something) which can send a message to this service interface?
    3. While writing a normal web services client we specify the url of the WSDL and then send a SOAP message using some APIs.
    4. Can this be achieved in XI? If so could you provide me some links or blogs etc to have some idea about this. Also how do we specify the URL of the interface.
    5. I have seen a similar application (an HTML file) which takes the XML payload (conforming to the message type of the interface) and sends the message to the interface. In this case the URL is formed from sender namespace, server name, port etc. The name of this HTML is XIHttp_adapter.html.
    6. Can somebody give me more inputs in this direction?
    Many Thanks,
    Sandeep

    Hi Sandeep,
    The Info below should surely help you find an answer.
    If you're on WAS 6.20 and up, you can expose an RFC as a webservice directly from WAS.
    Or if you’re on Basis layer 4.6D, you'll need to use XI (or some other integration tool) to expose the RFC as a webservice.
    To do this in XI you'll need to:
    Integration Repository
    1) Import the RFC
    2) Define a message and datatype for the SOAP interface
    3) Create inbound and outbound interfaces
    4) Create maps between the RFC and SOAP messages
    5) Create an interface map
    Integration Directory
    1) Create an RFC Receiver Channel
    2) Create a SOAP Sender Channel
    3) Generate the WSDL (Tools->Define Web Service)
    You can then handoff the WSDL and a login username and password to your developer and they will have everything they need to make the WS call.
    Here are answers to a few doubts u might have:
    1) Do I need to actually create a WS that calls the RFC ? Isn’t the virtual interface exposed by the XI sufficient?
    Yes, you need to create a WS in XI that calls the RFC.
    2) If I really have to create the WS and deploy it in order to expose it with the XI, then what is my benefit of exposing it with the XI, why not just exposing it as a normal WS ?
    You don't have WAS 6.20 or up. Even if you did, you may still want to expose it using XI in order to have all of your integration go through the same application.
    3) If I expose my web service through the XI, how does the client application executes one of its methods? To which url does it have to access (the XI or the actual WS)?
    You expose a SOAP interface in XI by generating a WSDL file. This file contains all of the information a developer will need to call the webservice including the URL.
    You actually specify the URL when you generate the WSDL. Be sure to read the documentation to get the correct format because the URL that the wizard suggests isn't correct.
    Also check this Pdf for the Receiever SOAP Adapter configuration:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/40728f7b-0401-0010-d9bc-8c73884a3789
    Also the target URL must be the URL to the WSDL. So, if you try putting it in your browser you must see the wsdl code.Please do ensure the same.....
    I hope this helps.
    Regards,
    Abhy

  • Properties of posted Messages via Web Services

    Hi all!
    Is it possible to post messages on a Queue by using Web Services? Yes, it is,
    BUT: I want also set some properties on the posted messages (javax.Message.setBooleanProperty(...)).
    If it isn't possible, how can I work around this?
    thanx!

    Hi Pieter,
    The servlets (or actually they're referred to as adapters) that place the messages
    on JMS destinations, are internal to the WebLogic Web Services platform, so you
    can't get at their implementation. These servlets are marked final, so you can't
    extend them either ;-) I suggest creating an RPC-style WebLogic Web Service, that
    acts as a message sender for the message you want to set the properties for, before
    this RPC-style WLWS sends it to the desired JMS destination. If the message is
    an XML document or document fragment, use literalxml encoding to send it to the
    RPC-style WLWS. Attach a "preamble" XML element to specify the JMS properties
    you want to set, and return an XML element containing whatever you need. Returning
    and XML element from the RPC-style WLWS will allow you a lot more flexibility
    here.
    Regards,
    Mike Wooten
    "Pieter Jan Degraeuwe" <[email protected]> wrote:
    >
    Hi all!
    Is it possible to post messages on a Queue by using Web Services? Yes,
    it is,
    BUT: I want also set some properties on the posted messages (javax.Message.setBooleanProperty(...)).
    If it isn't possible, how can I work around this?
    thanx!

  • Web Service u0096 IDOC with acknowledgement interface

    hi experts,
    for this scenario do i need to use ccBPM??
    <b><i>Web Service – IDOC with acknowledgement interface.</i></b>
    because we need response from idoc and idoc supports asynchronous processing.

    hi,
    yes you need to use a BPM if you want to use
    acknowledgment to a web service from IDOC interface
    more on IDOC can be found in my book:
    <a href="/people/michal.krawczyk2/blog/2006/10/11/xi-new-book-mastering-idoc-business-scenarios-with-sap-xi"><b>Mastering IDoc Business Scenarios with SAP XI</b></a>
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Message Interface in XI as Web-Service

    Hi,
    I should create one web-service from message interface. This web-service should be message-literal web service(not sure what that means) and mapped to an IDOC. Is it possible and how to do that?
    thx

    Hello mslopar,
    You need to use XSLT mapping to acheiev this. Here is a blog and sample code to convert XML to string.
    Use this xslt:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="xml" omit-xml-declaration="yes"/>
      <xsl:template match="*">
      <xsl:copy-of select="." />
      </xsl:template>
      </xsl:stylesheet>
    take the help of this blog..
    The specified item was not found.
    Thanks
    -Kulwant

Maybe you are looking for

  • Is there a way to change the icon associated with icloud account?

    Is there a way to change the icon associated with my iCloud account? It's currently a rose and i do not like it.

  • Change not saved, file lost

    Hello, We're using Sharepoint 2013 to manage documents. I was editing a Sharepoint doc in excel and saved my work several times before finishing, however I did not check the doc back in upon completion. Instead, I created a PDF version (makes printin

  • Difficulty in Activating CS5.5 Design Standard

    I am getting really frustrated with the difficulty of activating my Creative Suite 5.5 and am wondering if anyone with sufficient technical knowledge can assist me. I purchased and installed my CS5.5. around a week ago, and have been using it every d

  • Things to be need to taken care in Rollout

    Hello Guru, I am doing rollout for PM. I am aware of customizations required to do for PM but little bit confusing from accounting side. that how & which are the things we need to maintain related to accounting in PM so that we will get all accountin

  • Semaphore release error

    I am making my first attempt at using semaphores,and am getting error 1111 when I go to release the semaphore.  I have read several posts on this error, but saw none that seem to offer a solution.  As you can see, I created a semaphore with a size of