Response message in OSB

I have developed a sample process in OSB having the policy "oracle/wss_username_token_service_policy" attached to the proxy service.I could able to test the service form OSB test console and from SOAP UI as well.However,if i want to do a negative test by passing invalid username/password in the SOAP header from SOAP UI,i am getting the response as "General web service security error".I want to customozie this message like "The user have provided invalid username/password".How can i achieve this.How to have a response structure in the OSB service,so that i can hardcode my message during the excution.Please throw some clarity and suggestions.

I could able to find out the solution for this

Similar Messages

  • OSB and WSDL response message

    Hi all,
    from the WSDL, that I put at bottom of this post, I've created a new OSB project importing the WSDL itself and creating a proxy service based on it.
    I've implemented it using the fn-bea:execute-sql function:
    <ctx:route><ctx:service>{   
    fn-bea:execute-sql (
    $myDataSource,
    'resultset',
    'SELECT id, name, type_id, domi_country_id, open_date, close_date FROM myTable WHERE id=?',
    xs:string($body/urn:clientDataLookup/portfolioNumber/text())
    }</ctx:service></ctx:route>
    For getting the response, in the pipeline reponse I added a REPLACE action:
    Replace [ node contents ] of [ . ]
    in [ body ] with
    [ <urn:clientDataLookupResponse>
    <xmlCntent>{ $result/con:service/resultset }</xmlCntent>
    </urn:clientDataLookupResponse>
    I deduced the above xml response message using the OSB xquery wizard navigating through variable structure section and selecting $body - clientDataLookup (response) variable:
    $body/urn:clientDataLookupResponse/xmlCntent
    from that xpath expression I deduced the above xml response message.
    My question: is that approach correct ? Why should I rewrite the xml response message ?
    I'm wondering how to allow OSB to generate the correct xml response message in automatic way and then use it as template and fill only the xmlCntent param.
    Thanks in advance
    ferp
    <definitions name="ClientDataLookup"
    targetNamespace="http://wsdl/ClientDataLookup.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://wsdl/ClientDataLookup.wsdl"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <message name="ClientDataRequest">
    <part name="buId" type="xsd:string"/>
    <part name="portfolioNumber" type="xsd:string"/>
    </message>
    <message name="ClientDataResponse">
    <part name="xmlCntent" type="xsd:string"/>
    </message>
    <portType name="ClientData_PortType">
    <operation name="clientDataLookup">
    <input message="tns:ClientDataRequest"/>
    <output message="tns:ClientDataResponse"/>
    </operation>
    </portType>
    <binding name="ClientData_Binding" type="tns:ClientData_PortType">
    <soap:binding style="rpc"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="clientDataLookup">
    <soap:operation soapAction="clientDataLookup"/>
    <input>
    <soap:body
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:bsource:dataservice"
    use="encoded"/>
    </input>
    <output>
    <soap:body
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:bsource:clientdataservice"
    use="encoded"/>
    </output>
    </operation>
    </binding>
    <service name="ClientDataService">
    <documentation>WSDL File for Client Data Lookup</documentation>
    <port binding="tns:ClientData_Binding" name="ClientData_Port">
    <soap:address
    location="http://localhost:8080/soap/servlet/rpcrouter"/>
    </port>
    </service>
    </definitions>

    In most common use cases a service bus transforms the messages from one format to other. In your case you are actually doing the same. You are transforming the message from database structure to the structure which is defined by the WSDL. The snippet you are using is not XML, its an XQuery snippet. There is nothing unusual about it. The tree structure in the left side is given for that purpose only, to facilitate writing XPaths and XQuery snippets. If you do not want to type anything and want to get it graphically (or example when its a big XML), use Eclipse IDE of OSB and create a XQuery transformation which you can call from OSB message flow.
    Edited by: AbhishekJ on Nov 11, 2011 12:57 AM

  • How to do service callout with the incoming JMS message in OSB 11g

    Hello All,
    I have a specific requirement for which I am creating a kind of POC where I need some help in OSB, however am new to OSB.
    My Environment:
    1> I have a request queue (deployed on a WLS domain) - WFReq_WS
    2> I have a response queue (deployed on a WLS domain) - WFRes_WS
    3> I have created a ProxyService (request/response type) in OSB 11g which is simply mapping the incoming message in WFReq_WS to WFRes_WS
    4> I have a WebService (it is currently a simple hello WebService for testing) which takes a string and returns the same string with an added 'Hi' in front of it (e.g. If you send Jack, it will return 'Hi Jack')
    My Requirement:
    1> I have to do some mechanism in OSB, by which while mapping the message from WFReq_WS to WFRes_WS (through the proxy service I have), it will pick the JMS message (which will be a string/text) and will make a service callout to the Webservice I mentioned using the message as the input parameter of the WebService.
    2>Now when the response of the WebService will come, OSB should send this response as the message in the response queue (WFRes_WS) I mentioned above.
    To simplify the requirement using an example:
    A> I will send a text/String message (say Jack) to the request queue (WFReq_WS)
    B> OSB should pick the message (Jack) and make a service callout to the webservice
    C> webservice will return 'Hi Jack'
    D> OSB should send this to the response queue (WFRes_WS)
    I know the above might look very basic question to the PROs, but please elaborate (step by step) what need to be done, since I do not know OSB.
    Thanks a lot for your help !

    Your example points A and D are easily done by having a "Proxy Service" which has the following details:
    Service Type = Messaging Service
    Request and Response type = Text
    Protocol = jms
    Endpoint URI = your request queue (format like 'jms://localhost:7013/weblogic.jms.XAConnectionFactory/QueueJNDIName')
    Checkmark "response" so that the proxy service automatically delivers the response to another queue - your response queue
    Response URI = jms://localhost:7013/weblogic.jms.XAConnectionFactory/QueueResponse
    Now since your "Hello" webservice is (probably) a SOAP xml service you need to "convert" your text based JMS message to xml before sending it on to the "Hello" service.
    Your JMS proxy can do that by just doing a "Assign <whom>{$body/text()}</whom>" to a variable (lets call it 'reqHello')
    Now your JMS proxy should actually call the Hello service and since your JMS proxy is text and the Hello service is SOAP you cannot just "pass" on to the Hello service in a "Route to". Instead you can do a Service Callout where you can specify your "reqHello" variable as payload and a "respHello" as response variable.
    Now you have the "<whom>Hi jack</whom>" in the response variable and since the JMS response needs to be text format you can "extract" the text value into the body variable of the JMS proxy (use "replace /* in body with $respHello/text()" - replace node contents)
    The actual Hello service is a simple "SOAP" based Proxy Service. Add a pipeline and add a stage in the reponse pipeline. Do a ...
    Assign fn:concat("Hi ",$body/whom/text()) to $whomVar
    Replace whom in body with $whomVar (replace node contents)

  • Response message back to Third party vendor webservices

    Third party vendor sends messages to a webservice. The SOA application takes the message and puts it into a JMS topic through a mediator with asynchronous interface. All good so far, the system now needs to send a response back to the third party's webservice saying the message processing failed or was successful. For mediator, there are two concepts callback and response. What is the difference between callback and reponse. Which one should I use to send response message back to third party. Do I need OSB for this?
    Please suggest the approach for getting this implemented. I am fairly fresh to the SOA components and appreciate help in this regard. I hope I am making sense, if not feel free for more clarification. I am struck on this for atleast a week now.
    Thanks

    I am using the mediator component which does callback and response as per the SOA user guide. I am not sure, while sending response back to third party, should I be using callback or response. There are no use cases for asychronous interaction using jms topics in Oracle samples examples also.
    Looking forward for some help or suggestions
    Thanks

  • Missing response message in Idoc - WS scenario

    Hello
    I 'm missing a response message in the follwing scenario:
    Idoc-> XI -> Web service (SOAP)
    A Matmas idoc is sent from R/3 to XI. In XI the Idoc is
    mapped to a SOAP message and sent to a web service.
    The Message Interface for the SOAP call is synchronous
    and has a PushMaterialSoapOut and a PushMaterialSoapIn
    messsage, which is defined in the WSDL from the
    web service and imported into XI Repository.
    Everything is working fine but I do not get the response
    message. The web service has sent the response message. I
    have traced the firewall logs and i have seen the
    response.
    What is wrong? Is it basically possible to have a
    scenario like this?
    The message must have arrived somewhere, since the web
    server does not throw an exception. But where is it?
    Thank you in advance
    Thomas

    Hello Stefan
    >Scenarios with IDOCs are always async. Therefore you
    >cannot have a response.
    Ok, so I have to use BPM.
    >How do you want to process the response? What should
    >happen in the sender system?
    I was thinking about an ALEAUD idoc which is sent back
    to R/3. Therefor I have created an synchronous message
    interface with the MATMAS idoc as outgoing message and an
    ALEAUD as incoming message. Accordingly I have a message
    mapping for the response message.
    An other reaction to the response message could be to set
    the message to status failed. But this is the next issue.
    >In some scenarios you might use a BAPI instead of an
    >IDOC for synchronous message processing, but this
    >depends of many circumstance depending ofyour business
    >requirement.
    The process in SAP R/3 is fixed. To move to BAPI is not
    an option.
    Regards
    Thomas

  • Error:SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server was unable to read request. --- There is an error in XML document (1, 447). --- Input string was not in a correct format.

    Hi All,
        We have a scenario of FTP-->PI---> Webservice.  While triggering the data in the FTP, it is failing in the PI with the below error
    SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server was unable to read request. ---> There is an error in XML document (1, 447). ---> Input string was not in a correct format.
    Can you please help?

    Hi Raja- It seems to be a data quality issue.
    Check for the value @ 1447 position in the xml message that you are trying to send to web service..
    may be a date filed/decimal value which is not in expected format.

  • WCF-Custom performance problem with large response messages

    We're trying to debug a performance issue in Biztalk 2013 when using a WCF-Custom adapter to call en external WCF-enpoint.
    From a Biztalk orchestration we're calling en external WCF-service to retrieve an xml message sometimes containing a lot of Base64 encoded data. The response message can be up to 10Mb in size. The send port is very slow in retrieving the response
    and a 10Mb message can take up to 3min to retrieve. For comparison we've made a console program with the same service reference and binding as the Biztalk adapter uses and we can retrieve the same message in about 3 seconds.
    The WCF is using binary encoding over http and we've set the maxMessageSize, maxBufferSize and maxBufferPoolSize to Int32-MaxValue. We realise that using Biztalk there will be overhead because the message is put into the message box but we're unsure how
    to improve the performance of the send port.
    Any suggestions?

    Hello,
    There are certain Optimization you can do with your BizTalk.
    1)The first thing that I would do is to check the BizTalk SQL server jobs are running correctly
     (SQL Sever Mgmt Studio –> SQL Server Agent –> Jobs). Lookout for the jobs with the word “CleanUp” in them.
    2)Another check that you could do is to verify the entries in the Spool table
     (Database[@Name='BizTalkMsgBoxDb']/Table[@Name='Spool']). Ideally, the number of entries should not be HUGE
     (as in not over 100/200 entries)
    3) Create seperate host and host handler for your send Port.
    4) Set The MaxReceiveInterval from adm_service(BizTalk Management DB) class table 100 ms from 500(By default).
    5)Increased the Throttling Settings Internal message queue size to 1000 from 100 In new Application Host.
    6)Set the Maximum number of messaging engine threads per CPU to 40 (By default it is 20).
    7) Add Max connection in your BTSNTSVC.exe.config file
    <system.net>
                <connectionManagement>
                            <add address
    = “*” maxConnections = “300” />
                </connectionManagement>
    </system.net>
    For other setting you can look for BizTalk Optimization Guide
    http://www.microsoft.com/en-ca/download/details.aspx?id=10855 
    Above setting are for generic performance enhancement purpose.
    Note: You can verify through Orchestration debugger or Orchestration tracing how much time send port is and pipeline is taking to publish the message to Biz Talk again .
    These will give you better picture what more settings you need to apply .
    Thanks
    Abhishek

  • Sharepoint error - Search Issue - The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (application/soap+msbin1).

    i see this error everywhere - In ULS logs, on site. On the site > Site settings > search keywords; I see this - 
    The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (application/soap+msbin1). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>IIS 7.0 Detailed Error - 500.19 - Internal Server Error</title> <style type="text/css"> <!-- body{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;background:#CBE1EF;} code{margin:0;color:#006600;font-size:1.1em;font-weight:bold;} .config_source code{font-size:.8em;color:#000000;} pre{margin:0;font-size:1.4em;word-wrap:break-word;} ul,ol{margin:10px 0 10px 40px;} ul.first,ol.first{margin-top:5px;} fieldset{padding:0 15px 10px 15px;} .summary-container fieldset{padding-bottom:5px;margin-top:4px;} legend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;} legend{color:#333333;padding:4px 15px 4px 10px;margin:4px 0 8px -12px;_margin-top:0px; border-top:1px solid #EDEDED;border-left:1px solid #EDEDED;border-right:1px solid #969696; border-bottom:1px solid #969696;background:#E7ECF0;font-weight:bold;'.
    I am facing issues in searching, my managed metadata service is not running, search results page throws internal error. Any Idea why this above error comes.
    P.S: We use windows authentication in our environment.

    Hi IMSunny,
    It seems you have solved this issue based on your another post.
    http://social.technet.microsoft.com/Forums/en-US/aa468ab0-1242-4ba8-97ea-1a3eb0c525c0/search-results-page-throws-internal-server-error?forum=sharepointgeneralprevious
    Thanks
    Daniel Yang
    TechNet Community Support

  • Error consuming Web service - content type text/xml;charset=utf-8 of the response message does not match the content type of the binding

    Hi all,
    We are trying to interact with Documentum server through DFS exposed WCF which communicates through port 9443 and we are provided with documentum issued Public Key certificates. We have successfully imported the certificates in client machine and configured
    the bindings as below in our .Net web application config file.
    <system.serviceModel>
    <bindings>
    <wsHttpBinding>       
    <binding
    name="ObjectServicePortBinding1">
    <security
    mode="Transport">
    <transport
    clientCredentialType="None"
    proxyCredentialType="None"
    realm=""
    />
    <message
    clientCredentialType="Certificate"
    algorithmSuite="Default"
    />
    </security>
    </binding>
    <binding
    name="QueryServicePortBinding">
    <security
    mode="Transport">
    <transport
    clientCredentialType="None"
    proxyCredentialType="None"
    realm=""
    />
    <message
    clientCredentialType="Certificate"
    algorithmSuite="Default"
    />
    </security>
    </binding>
    </wsHttpBinding>
    </bindings>
    Also, we set the message encoding as MTOM and the wcf client object initialization code snippet is as below,
    ObjectServicePortClient
    serviceClient = new
    ObjectServicePortClient(new
    WSHttpBinding("ObjectServicePortBinding1"),
    new
    EndpointAddress(UriUtil.ObjectServiceUri));
    if (serviceClient.Endpoint.Binding
    is
    WSHttpBinding)
       WSHttpBinding
    wsBinding = serviceClient.Endpoint.Binding as
    WSHttpBinding;
    wsBinding.MessageEncoding =
    "MTOM".Equals(transferMode) ?
    WSMessageEncoding.Mtom :
    WSMessageEncoding.Text;
    serviceClient.Endpoint.Behaviors.Add(new
    ServiceContextBehavior(Config.RepositoryName,
    Config.DocumentumUserName,
    Config.DocumentumPassword));
    When we execute the above code, we are getting error message as below,
    Exception: The content type text/xml;charset=utf-8 of the response message does not match the content type of the binding (multipart/related; type="application/xop+xml"). If using a custom encoder, be sure that the IsContentTypeSupported
    method is implemented properly. The first 407 bytes of the response were: '<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"><faultcode>S:VersionMismatch</faultcode><faultstring>Couldn't
    create SOAP message. Expecting Envelope in namespace http://schemas.xmlsoap.org/soap/envelope/, but got http://www.w3.org/2003/05/soap-envelope </faultstring></S:Fault></S:Body></S:Envelope>'
    Then, we changed the bindings as below
    <system.serviceModel>
    <bindings>
    <wsHttpBinding>       
    <binding
    name="ObjectServicePortBinding1">
    <security
    mode="Transport">
    <transport
    clientCredentialType="Certificate"
    proxyCredentialType="None"
    realm=""
    />
    <message
    clientCredentialType="Certificate"
    algorithmSuite="Default"
    />
    </security>
    </binding>
    <binding
    name="QueryServicePortBinding">
    <security
    mode="Transport">
    <transport
    clientCredentialType="
    Certificate"
    proxyCredentialType="None"
    realm=""
    />
    <message
    clientCredentialType="Certificate"
    algorithmSuite="Default"
    />
    </security>
    </binding>
    </wsHttpBinding>
    </bindings>
    We are getting another error message,
    Exception: The client certificate is not provided. Specify a client certificate in ClientCredentials.
    Any pointers on resolving this issue would be highly helpful.
    Thanks

    Hi Dhanasegaran,
      As per your case, the corresponding details which may guide you to resolve this issue:
    1. First of all, you can try to call the wcf service directly from the browser & check where it will point out the correct location.
    2. In config file ,Set IncludeExceptionDetailInFaults to true to enable exception information to flow to clients for debugging purposes .
    Set this to true only during development to troubleshoot a service like below :
    <serviceBehaviors>
      <behavior name="metadataAndDebugEnabled">
        <serviceDebug
          includeExceptionDetailInFaults="true"   
    />
        <serviceMetadata
          httpGetEnabled="true"
          httpGetUrl=""   
    />
      </behavior>
    </serviceBehaviors>
    3. I suggest you to change that <security mode ="TransportWithMessageCredential"> instead of <security mode ="Transport">
     for more information, refer the following link :
    https://msdn.microsoft.com/en-us/library/aa354508(v=vs.110).aspx

  • WCF returning "The content type text/html of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8)"

    I have a WCF service I am trying to run on a new installation of 64-bit Windows Server 2008 IIS. Although it runs fine on Windows 2003 IIS, it is throwing the error in the thread title, which appears to be a server config issue, but I am not sure. Googling and searching the MSDN forums did not turn up a solution. I tried running WCF Logging, but that didn't help either.
    Does anyone have any suggestions on how to solve this probelm?
    Here is the error:
    The content type text/html of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
    <title>500 - Internal server error.</title>
    <style type="text/css">

    I have the same issue on Windows 7 machine. The service works fine using a SoapUI client but a .Net client faisl to get a response.
    Hi,
    I have a WCF service which works perfectly when using SoapUI but throws error in my .Net client.
    {"The content type text/html; charset=UTF-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first
    1024 bytes of the response were: '<HTML><HEAD><link rel=\"alternate\" type=\"text/xml\" href=\"http://xyz.mysite.com/ysa/Broker.svc?disco\"/><STYLE type=\"text/css\">#content{ FONT-SIZE: 0.7em;
    PADDING-BOTTOM: 2em; MARGIN-LEFT: 30px}BODY{MARGIN-TOP: 0px; MARGIN-LEFT: 0px; COLOR: #000000; FONT-FAMILY: Verdana; BACKGROUND-COLOR: white}P{MARGIN-TOP: 0px; MARGIN-BOTTOM: 12px; COLOR: #000000; FONT-FAMILY: Verdana}PRE{BORDER-RIGHT: #f0f0e0 1px solid; PADDING-RIGHT:
    5px; BORDER-TOP: #f0f0e0 1px solid; MARGIN-TOP: -5px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; PADDING-BOTTOM: 5px; BORDER-LEFT: #f0f0e0 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #f0f0e0 1px solid; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e5e5cc}.heading1{MARGIN-TOP:
    0px; PADDING-LEFT: 15px; FONT-WEIGHT: normal; FONT-SIZE: 26px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 3px; MARGIN-LEFT: -30px; WIDTH: 100%; COLOR: #ffffff; PADDING-TOP: 10px; FONT-FAMILY: Tahoma; BACKGROUND-COLOR: #003366}.intro{MARGIN-LEFT: -15px}</STYLE><TITLE>Broker
    Service</TITLE></HEAD><BODY><DIV id=\"content\"><P class=\"head'."}
    I have the same service hosted on my local machine and when I point to the local service I can execute the operation with no issues. The message encoding is Soap11. I tried changing to Soap12 but I get exact same error. Any ideas greatly appreciated.
    I do have windows Activation Features installed and I am using .Net Framework 4.
    Thanks
    Sofia Khatoon

  • The content type of the response message does not match the content type of the binding

    I have written an ASP.Net web service which returns english,chinese and portuguese data. Everything seemed working fine until the method retunred only english data. The moment it returns english, chinese and portuguese data I get the error:
    The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using
    a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: 
    '<!DOCTYPE html> <html>     <head>         <title>Runtime Error</title>
            <meta name="viewport" content="width=device-width" />         <style>          body {font-family:"Verdana";font-weight:normal;font-size:
    .7em;color:black;}           p {font-family:"Verdana";font-weight:normal;color:black;margin- -5px}          b {font-family:"Verdana";font-weight:bold;color:black;margin-
             H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }          H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon
    }          pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}          .marker {font-weight:
    bold; color: black;text-decoration: none;}          .version {color: gray;}          .error {margin-bottom: 10px;}          .expandable
    { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }          @media screen and (max-width: 639px) {           pre { width: 440px; o'.
    It is not written using WCF ... any workarounds?!
    Thank you.

    Hi Raj Krish,
    For ASP.NET related issue, please post to the following forum:
    http://forums.asp.net/
    Regards,
    Barry
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • In Synch comm, what happens to response message if sender fails?

    Hi All,
    I have came up with the following question:
    I have a synchronous scenario type: WS -> PI -> Proxy.
    Lets say that the external system is able to consume the Web Service, and send the data to PI, and from there to the SAP ERP.  SAP ERP starts processing the message (calling function, BAPIs, etc). During that execution the external system for some how cuts its connection (session) to the WS that PI is exposing.
    What will happen then?
    In SAP ERP I will have some processes that were executed, the response message will be sent back to PI, but not to the legacy system.  So the data will not be consistent, as ERP was able to perform its process but the Legacy system will never know that these were done, so I will have an unbalanced scenario.
    One of my questions is, will SAP ERP know that the connection between the legacy system and PI was cut, and there for ERP will stop, cancel or not perform its processes?
    If the response message was sent back to PI by the ERP, but this message could not reach the legacy system. How can we let know the legacy system that ERP did all of its processes and that it should "update" their data according to the response message sent by ERP?
    As we all know, we can not re-process a synchronous message. So, what will be the best way to mantaining the consistency of the DATA between the two systems (ERP - Legacy)?
    Thanks and regards,
    Felipe

    One of my questions is, will SAP ERP know that the connection between the legacy system and
    PI was cut, and there for ERP will stop, cancel or not perform its processes?
    There is a possibility of triggering an alert when your Target system is down (i suppose this is what you mean when you say connection is cut)....the udf can be implemented in a mapping.....just check the blog:
    /people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function
    from the blog:
    We can use this code in the Exception Handler block of the try u2013 catch block of the code to
    publish the JMS message, and, whenever the JMS service was down, the Exception handler block is
    called and the Alert is triggered to the Operations Support team.
    check if this suits your requirement
    Regards,
    Abhishek.

  • SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPT

    Hi there,
    I am trying to publish a file from SAP as web service using XI and SOAP Adapter.
    I am using ABAP proxy to get the data into XI.
    Designing and Configuration in XI has no problems because when i use File adapter the data is trasmitted to FTP server.
    But when I used SOAP Reciever adapter I am getting following error in RWB
    Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Error during parsing of SOAP header.
    <b>Scenario</b>: SAP ABAP Proxy -> XI -> WebService. Asynchronous.
    <b>SOAP</b> Receiver adaptor.
    <b>Target URL</b> http://<host>:<port number >/sap/xi/engine?type=entry&version=3.0&Sender.Service=SAPDC2653&Interface=urn:bzttest:00:hsa:test%5EOB_MI_BZT_TEST&QualityOfService=ExactlyOnce
    Do not use SOAP Envelop is checked.
    <b>SOAP Action</b> http://sap.com/xi/WebService/soap1.1
    What i am missing here? How should I solve this problem?
    Any help is appreciated,
    Thx,
    Yogi

    Say there's a bapi/rfc that you want to call on an R/3 backend (e.g. 4.6c).  On it's own, the R/3 system cannot expose the rfc/bapi as a web service, but XI can.  So in this case, the scenario would be:
    WS client -> XI -> R/3
    When XI "exposes" a web service, it is exposing a service for a receiving system (in the above example, the R/3 system).  XI itself does not provide or contain the service implementation.  When XI exposes a web service, it is always done via the <b>sender</b> soap adapter (i.e. if soap adapter is used).   Receiver soap adapter is used to call or consume an actual web service from an external application.
    Regards,
    Jin

  • Soap Receiver Adapter - No Response Message

    Hi, I've got the following scenario: Idoc - XI - Webservice. I've imported the WSDL from the .NET webservice and used the input and output messages in a syncronous interface.  I've setup a SOAP Receiver adapter with the Webservice details.  Everything is working fine when I call the webservice and the data is received 100% at the target system, but I am not getting ANY response back on XI.
    RECEIVER SOAP ADAPTER Audit LOG:
    2008-01-24 16:41:57 Success SOAP: request message entering the adapter with user J2EE_GUEST
    2008-01-24 16:41:57 Success MP_LEAVE1
    2008-01-24 16:41:57 Success The message was successfully delivered to the application using connection SOAP_http://sap.com/xi/XI/System.
    2008-01-24 16:41:57 Success Acknowledgement creation triggered for type: AckNotSupported
    2008-01-24 16:41:57 Success SOAP: completed the processing
    2008-01-24 16:41:57 Success SOAP: continuing to response message 83638fb0-ca8a-11dc-b36c-00145eed9500
    2008-01-24 16:41:57 Success SOAP: sending a delivery ack ...
    2008-01-24 16:41:57 Success SOAP: sent a delivery ack
    2008-01-24 16:41:57 Success The message status set to DLVD.
    2008-01-24 16:41:57 Success Acknowledgement sent successfully for type: AckNotSupported
    Has it got anything to do with the "AckNotSupported" type?  Is "AckNotSupported" the default setting for the receiver SOAP adapter?  If so, where do I change this setting?
    When I call the webservice with the exact same input using a standalone tool, I get the response message back 100%.  Any help will be appreciated.
    Thanks
    Rudi

    Hey
    you are confusing between a response and an acknowledgement.
    response and acknowledgement and not one and the same thing.
    response is basically used when you send some query to the receiver system and expect a set of value(s) for your query.for e.g sending a query to a Database(JDBC) or SAP system(RFC)
    and acknowledgement is just a notification that the message was receiver by the receiver correctly,it does not returns you a set of value(s).
    now coming to your question,ALEAUDIT IDOC is generated when an IDOC is posted,since in your case you are not posting and IDOC,instead your are sending it ,i m not sure if ALEAUDIT will be generated or not,one thing that will come to your rescue is that every receiver SOAP adapter expects a HTTP response(irrespective of you explicitly asking it or not).
    a HTTP 200 means that messages were posted successfully,and HTTP 500 means application error,get this HTTP response and send it back to the SAP system,most probably you would need to use BPM for this.
    Thanx
    Aamir
    Edited by: Aamir Suhail on Jan 24, 2008 11:26 AM

  • SOAP : response message contains an error Application/UNKNOWN/APPLICATION_E

    Hi All,
    I am working in a Proxy to SOAP synchronous scenario. Message is processing successfully through IE but i am getting the below error in receiver (SOAP) communication channel.
    SOAP : response message contains an error Application/UNKNOWN/APPLICATION_ERROR.
    Please suggest what will be possible way out to resolve this issue.
    Thanks,
    Priya Ranjan

    Dear Priya
    Have you configured Fault Message for this scenario.
    This kind of error is generally thrown by the end target system where the message is not processed succesfully due to some error in there system.
    Sourabh

Maybe you are looking for