SOAP Receiver - HTTP header problem

Hi,
Scenario: IDOC - - XI - - SOAP(webservice).
Third party is asking for missing "/" (path?) in header after "POST". Following is the message received by third party. How to override this header to put "/" after POST? Please help.
POST  HTTP/1.0
Accept: /
Host: 100.10.2.5:9092
User-Agent: SAP-Messaging-com.sap.aii.messaging/1.0505
Authorization: Basic Z2hydHNvYXA6bm92ZWxs
content-id: <soap-48E034BD9F5B3308E1000000876CF529@sapcom>
Content-Type: text/xml; charset=utf-8
Content-Length: 313
SOAPACTION: "#batchRequest"
<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
    <SOAP:Header/>
    <SOAP:Body>
        <ns0:cvgtransaction xmlns:ns0='http://abc.com/xi/Novell' event='modify' workforceID='1' type='employee'>
            <attribute name='WWID' operation='replace'>1234567</attribute>
        </ns0:cvgtransaction>
    </SOAP:Body>
</SOAP:Envelope>

Hi!
with XI standard tools you have no chance to manipulate the soap envelope created by the XI. You have to configure your soap receiver communication channel to not create a soap envelope "Do not use SOAP envelope") and then you use e.g. a XSLT mapping to create a soap envelope by yourself.
Regards,
Volker

Similar Messages

  • Any Soap Service / http header

    http header "SOAPAction" is not routed from proxy service to business service and to the external web service
    Please see follow steps that would describe the case
    1. I developed a Proxy Service of type "Any Soap Service". This is because I dont want to generate a WSDL for the proxy service and give it to the clients. I just want to give them an URL and whatever the SOAP message they send, this proxy service will receive.
    2. I developed a Business Service of type "Any Soap Service" The end point of this business service is an external web service. I dont want to use the external web service WSDL, but just the endpoint URL.
    3. In the proxy service I developed in the step 1, I added a routing action and invoked the business service.
    When a ws client now invokes the Proxy service with a soap payload (body), proxy service takes the payload and routes it to the business service and business service sends the payload (body) to the external web service. business service recieves the soap response back from external service and passes it back to the proxy service and thus client gets the response back from the proxy service.
    What is missing is the http header "SOAPAction" passed to the proxy service by the ws client is not passed to the business service and hence not to the external web service. I want to pass the SOAPAction and all http headers sent by the ws client all the way to the external web service.
    Do we have to programmatically extract SOAPAction and pass it to the external web service?
    Your ideas please.. TIA
    Edited by: GDD on Dec 3, 2009 6:32 PM

    I used Message flow Communication/TransportHeader component to copy soapaction from Inbound request. This enabled transport headers to be passed.
    would like to hear if there are other options.

  • OSB http Header Problem

    Hello all,
    (I hope I'm right here with my Oracle Service Bus problem)
    I have a Oracle Service Bus Proxy Service, that calls a Business Service (not in my control).
    That business service is somehow crap, cause it doesn't respond correctly (in sense of http protocol):
    POST / HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    User-Agent: Java1.6.0_05
    Host: somehost.net:8080
    Accept: text/html, image/gif, image/jpeg, */*; q=.2
    Connection: Keep-Alive
    0093
    <?xml version="1.0" encoding="UTF-8"?>
    <somePayload/>
    0000
    *<TheResponse/>*
    <TheResponse/> is all i get from that service. No http header..
    My Proxy service doesn't like responses with no HTTP/1.1 200 OK
    and returns an error (although its a correct answer.. from the service)
    Is there a posibility to avoid this error and get the plain response instead?
    Thanx in advance
    Pat

    You're right, that service doesn't respond correctly as defined by HTTP. I don't think there is an out of the box feature in OSB you could use to overcome this.
    However, you can possibly write your own transport implementation as described here:
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/transportsdk/architecture.html
    There's also sample implementation that could be useful:
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/transportsdk/example.html

  • BPEL HTTP Header Problem

    Hello @all
    I�m new to Open ESB and NetBeans.
    Does anybody has an idea how to put HTTP-Header to the BPEL-Process?
    I have to call a WebService (from BPEL) which expects user authentication (sessionId) in the HTTP-Header . How do I do that? Do I have to modify my WSDL-File?
    Thanks for your posts in advance

    You would have already defined your WSDL accommodating this requirement. If not, then yes, you might have to change your wsdl.
    Assuming you are sending the user info all the way from the BPEL process and assuming soap-http protocol. Typically the way i see this done is, you define a wsdl message with the parts that correspond to your business logic and parts that you would use in the "soap headers". In the BPEL it is always "business as usual" you deal with the abstract wsdl message. It would be developers responsibility to fill the wsdl message parts correctly. Once this message goes through the soap-http BC, it would be the BC's job to then put things as required by the HTTP protocol.
    hope that helps,
    Kiran B.

  • SOAP Receiver Success / HTTP Receiver Error

    Hello,
    we have to connect to a http server (HTTP with user authentication). I have tried both a HTTP receiver channel as well as a SOAP receiver channel (option "Do Not Use SOAP Envelope").
    Connection using the SOAP receiver works without problem. If we switch to plain HTTP receiver (same connection details) we get the following error:
    "HTTP client code 400 reason ICM_HTTP_CONNECTION_FAILED".
    What could the reason for this? Probably related to the ABAP Stack?
    Edited by: Florian Guppenberger on Jan 26, 2010 3:12 PM

    Hi,
    >>>What could the reason for this? Probably related to the ABAP Stack?
    check the log on ABAP for RFC dest from SM59
    there you might see some more info
    BTW
    does PI/XI have access to this http sever ? (no firewalls etc?)
    Regards,
    Michal Krawczyk

  • How can I set "SOAPAction" http header using SAAJ

    When I send soap request, http header's like below
    SOAPAction: ""
    But, I'd like to send like this
    SOAPAction: "http://tempuri.org/HelloWorld"
    How can I that using SAAJ ?
    My code is
    String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
    "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" +
    " <soap:Body>\n" +
    " <HelloWorld xmlns=\"http://tempuri.org/\" />\n" +
    " </soap:Body>\n" +
    "</soap:Envelope>";
    Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(xml.getBytes()));
    DOMSource domSource = new DOMSource(doc);
    SOAPMessage message = MessageFactory.newInstance().createMessage();
    message.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, "utf-8");
    message.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true");
    message.getSOAPPart().setContent(domSource);
    message.writeTo(System.out);
    SOAPConnection connection = SOAPConnectionFactory.newInstance().createConnection();
    SOAPMessage response = connection.call(message, helloURL);
    connection.close();
    SOAPBody body = response.getSOAPBody();
    if ( body.hasFault() )
    SOAPFault newFault = body.getFault();
    System.out.println("SoapBody has fault.");
    System.out.println("code=" + newFault.getFaultCodeAsName());
    System.out.println("message=" + newFault.getFaultString());
    System.out.println("actor=" + newFault.getFaultActor());
    else
    System.out.println("Call Successed.");
    System.out.println(body);
    }

    message.getMimeHeaders().addHeader("SOAPAction", "http://tempuri.org/HelloWorld");

  • Header autentication Receiver HTTP (soap-axis)

    hi,
    I need to place the authentication in the header to the SOAP receiver channel is for soap-http axis.
    Place the authentication module, but the monitor shows pi invalid username and password.
    Was entered in the module, but does not work
    ParameterName Module Key Parameter Value
    wssec UsernameToken action
    wssec Handler.Type java: com.sap.aii.adapter.axis.ra.handlers.security.WSDoAllSender
    wssec passwordType PasswordText
    wssec pwd.password <enter password> = <enter password>
    wssec user <enter username>
    How rare header from soapUI putting in username and password works, but since IP does not work, it no longer occurs to me that may be happening.
    We spent a WSDL with soap12, you can from an XSL add the user and password or may be going ?.
    Greetings.

    Hi Diego
    Check this links
    SOAP Header Authentication
    https://websmp230.sap-ag.de/sap/support/notes/1039369
    Regards
    Osman

  • Soap receiver - owerwrite default http header fields

    Hi,
    I'm using the soap receiver adapter in nosoap mode.
    How can I owerwrite the default settings for the header fields in the http request?
    The soap adapter will automatically set content-type = application/xml.
    I would like for example set "text/xml".
    Thanks,
    Bela

    Dear Mohan,
    I tryed with the keep headers option but it didn't change anything to the HTTP header fields.
    In the documentation we have the following : Keep Headers
    If you want to include the header of the XI message in the Web service message, set the indicator.
    Does it mean that I have to create a HTTP header section in the XI message??? Do you have an example?
    Best regards,
    Bela

  • SOAP Receiver Adapter - Read Header data on Synchronous Response

    I have a scenario - flat file to SOAP. The web service provider sends a response that contains data in the Header that I need to access. I have tried to use the "Do Not Use SOAP envelope" option on my receiver SOAP adapter, and I have configured my request message type to include the soap envelope elements. However I'm getting the following error from the web service
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 415 Cannot process the message because the content type 'application/xml' was not the expected type 'text/xml; charset=utf-8'.
    I've read some inputs on this error that say to use the Transform bean to adjust the content to text/xml. However I'm not sure how to do that. If that is the correct resolution to my problem, can someone provide detailed steps on how to add the Transform bean to the adapter module. I have no experience with adding items to the module tab.
    If there are other ways to tackle this scenario to get access to the SOAP Header from the SOAP receiver adapter, please share those as well.
    Thanks in advance.
    Chris

    Resolved with the following blog
    /people/varadharajan.krishnasamy/blog/2007/01/09/troubleshooting-soap-message--xi

  • Issue in receiving custom header in response SOAP message

    Hi,
    I have created a simple BPEL process with custom headers in request and response message.
    I tried to send SOAP message through SOAPUI tool. Service is getting instantiated, able to access the request header and able to send response message. But only body is send as response message. Header is not sent in the response message.
    Also tried to invoke the above service through another BPEL process. I could able to send the header through request but not able to receive the header in response message.
    Pls. throw some light on this..
    Regards
    Jude.

    Hi,
    Input request is working as you mentioned but the output custom headers are not working. When I use bpelx:outputHeaderVariable="varOutManifest" I am getting exception while running the interface. So I used bpelx:outputHeaderVariables="varOutManifest" but I am not getting back the custom header from the partner service to the variable.
    Any hint.
    receive:
    bpelx:headerVariable="varManifest varSecurity"
    reply:
    bpelx:inputHeaderVariable="varOutManifest"
    Invoke:
    bpelx:outputHeaderVariables="varOutManifest"
    bpelx:inputHeaderVariable="varManifest varSecurity"
    Is anything wrong?
    I am on 10.1.3.3.1 MLR # 14. I am getting following exception when I use bpelx:outputHeaderVariable.
    <2009-03-06 17:33:36,840> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "delivery": [com.oracle.bpel.client.ServerException: 1] -> [java.lang.ArrayIndexOutOfBoundsException: 1]
    java.lang.ArrayIndexOutOfBoundsException: 1
         at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:109)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:646)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at DeliveryBean_RemoteProxy_4bin6i8.request(Unknown Source)
         at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processNormalOperation(SOAPRequestProvider.java:451)
         at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processBPELMessage(SOAPRequestProvider.java:274)
         at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processMessage(SOAPRequestProvider.java:120)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__callback(BPELInvokeWMP.java:626)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:436)
         at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3703)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1652)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:184)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:281)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5689)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1082)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:132)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:161)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:646)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeEngineBean_LocalProxy_4bin6i8.syncCreateAndInvoke(Unknown Source)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:515)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:457)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:131)
         at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:95)
         ... 48 more
    Thanks,
    Arul
    Edited by: user599098 on Mar 6, 2009 2:42 PM

  • HTTP Header fields in SOAP adapter - Part 2

    Hi All,
    With regards to my previous thread HTTP Header fields in SOAP adapter
    my header issue is solved and hence I have closed the thread but still I am not able to make the connection successful. The new problem is below
    My vendor requirement is to specify the header as "Ent-sender" but when we give the same in XI in communication channel it automatically convets into uppercase "ENT-SENDER".  Due to case-sensitive in vendor server the connection is not gettingestablished.
    Please help me out how to solve the problem.
    <b>Note:</b> Sorry for the new thread as it was created due to new problem and also the previuos thread is already too long.
    Regards,
    Dhill

    Hi Neaves,
      Thank you, I jave seen the note and find the below solution will be some what realated to my prblem.
    <u><b>The nosoap mode lets the adapter send the XI payload directly without wrapping it in the SOAP envelope. Although the main use of this mode is to send some plain text content directly to some web server, one can use this mode to send their own SOAP message (e.g., with arbitrary headers) to an external web service (See related questions). In this case, the XI payload must be formatted in the SOAP envelope.
               To use the nosoap mode, the channel must be configured to use no SOAP envelope.</b></u>
    If yes, can you please let me know how to use nosoap mode otherise let me the other possibilities.  I am already using tcpg2.zip to trace the SOAP adapter in which it was confirmed that XI is changing the header automatically into CAPS whatever case we give,
    Regards,
    Dhill

  • Problem with soap receiver adapter

    Hi All
    I have Idoc sender and soap receiver in my scenario.
    I am calling web service deployed on WAS.
    The web service is getting called but the acknowledgement message in xi contains following system error acknowledgement because of which xi changes the status of message to WAIT and starts retrying.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Inbound Message
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.MessagingException: java.net.SocketTimeoutException: Read timed out: com.sap.aii.af.ra.ms.api.RecoverableException: java.net.SocketTimeoutException: Read timed out</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Please anybody can help to resolve this problem. This scenario has worked without any error previously.
    Thanks in advance
    Beena

    Hi Bhavesh,
    It is an Async call where method does not return anything.
    I added entries in IDX_NOALE but still it is setting the message status to WAIT and does retry.
    Following is the Audit Log in Runtime workbench :
    Audit Log for Message: 22b3052d-c519-034e-85db-e65d541d6414
    Time Stamp Status Description
    2006-12-13 10:25:23 Error SOAP: error occured: java.net.SocketTimeoutException: Read timed out
    2006-12-13 10:25:23 Error Exception caught by adapter framework: Read timed out
    2006-12-13 10:25:24 Error Delivery of the message to the application using connection AFW failed, due to: Read timed out.
    2006-12-13 10:25:24 Success The asynchronous message was successfully scheduled to be delivered at Wed Dec 13 10:30:24 GMT+05:30 2006.
    2006-12-13 10:25:24 Success The message status set to WAIT.
    2006-12-13 10:30:25 Success Retrying to deliver message to the application. Retry: 1
    2006-12-13 10:30:25 Success The message was successfully retrieved from the receive queue.
    2006-12-13 10:30:25 Success The message status set to DLNG.
    2006-12-13 10:30:25 Success Delivering to channel: INSPWCCT_PVtoSAP_Ack
    2006-12-13 10:30:25 Success SOAP: request message entering the adapter
    2006-12-13 10:35:28 Success SOAP: call failed
    2006-12-13 10:35:28 Success SOAP: sending a delivery error ack ...
    2006-12-13 10:35:28 Success SOAP: sent a delivery error ack
    2006-12-13 10:35:28 Error SOAP: error occured: java.net.SocketTimeoutException: Read timed out
    2006-12-13 10:35:28 Error Exception caught by adapter framework: Read timed out
    2006-12-13 10:35:28 Error Delivery of the message to the application using connection AFW failed, due to: Read timed out.
    2006-12-13 10:35:28 Success The asynchronous message was successfully scheduled to be delivered at Wed Dec 13 10:40:28 GMT+05:30 2006.
    2006-12-13 10:35:28 Success The message status set to WAIT.
    I have tried this scenario earlier. I am sending the same Idoc from R3 which was processed successfully earlier.
    Thanks
    Beena.

  • SOAP Header in SOAP Receiver adapter

    Hi All,
    I am doing a Proxy to  Webservice scenario where webservice requires the SOAP request as below.
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
        <SOAP-ENV:Header>
            <mh:CustomHeader xmlns:mh="http://schemas.test.com/customHeader">
                <mh:MessageData>
                    <mh:MessageId>12345</mh:MessageId>
                    <mh:Timestamp>2004-06-09T14:41:44Z</mh:Timestamp>
                </mh:MessageData>
            </mh:CustomHeader>
            <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
                <wsse:UsernameToken>
                    <wsse:Username>test</wsse:Username>
                    <wsse:Password>test123</wsse:Password>
                </wsse:UsernameToken>
            </wsse:Security>
        </SOAP-ENV:Header>
        <SOAP-ENV:Body>
        </SOAP-ENV:Body>
    Need your help to understand how can we achieve this using Standard SOAP adapter to customize the Header part as it requires to include "<mh:CustomHeader " & "UsernameToken".
    Or Do i need to go for adapter module development to create this SOAP request.
    Please provide your suggestion to achieve this scenario.
    Thanks & regards
    Ashwin
    Edited by: ashwin dhakne on May 17, 2010 5:32 PM

    Hi all,
    Created  a below target payload in a message mapping with  SOAP Header & Body part as per the requirement.
    In SOAP receiver communication channel, checked the option " Do Not Use SOAP Envelope".
    But while executing an sceanrio, i am facing  an error in SOAP receiver channel as Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error
    And if i don't check the option " Do Not Use SOAP Envelope" it gives an error as
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Unable to obtain service binding,error=Payload Envelope is not a known message for TestWebserviceService.
    Please provide your suggestions to handle this issue.
      <?xml version="1.0" encoding="UTF-8" ?>
    <ns1:Envelope xmlns:ns1="http://schemas.test.com/CustomrHeader">
    <ns1:Header>
    <ns1:CustomrHeader>
    <ns1:MessageData>
      <ns1:MessageId>Constant</ns1:MessageId>
      <ns1:Timestamp>Constant</ns1:Timestamp>
      </ns1:MessageData>
    <ns1:Security>
    <ns1:UsernameToken>
      <ns1:Username>Constant</ns1:Username>
      <ns1:Password>Constant</ns1:Password>
      </ns1:UsernameToken>
      </ns1:Security>
      </ns1:CustomrHeader>
      </ns1:Header>
    <ns1:Body>
    <ns1:Details>
    <ns1:Information>
      <ns1:Title>Test</ns1:JobTitle>
      </ns1:Information>
    <ns1:Contacts>
      <ns1:Street>Test Drive</ns1:Street />
      </ns1:Contacts>
      </ns1:Details>
      </ns1:Body>
      </ns1:Envelope>
    Thanks
    Ashwin
    Edited by: ashwin dhakne on May 18, 2010 5:47 PM
    Edited by: ashwin dhakne on May 18, 2010 5:48 PM
    Edited by: ashwin dhakne on May 18, 2010 5:48 PM

  • SOAP receiver: error HTTP 302 (Moved Temporarily)

    Dear all,
    I configured scenario where SOAP web service is consumed from SAP ABAP system via PI. The problem is in communication with the web service: the error observed in communication channels monitor for the configured SOAP receiver channel is:
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: invalid content type for SOAP: TEXT/HTML; HTTP 302 Moved Temporarily: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 302 Moved Temporarily
    The consumed web service is based on the function module developed in SAP NetWeaver 7.00 system. Endpoint for the service was then created via SOAMANAGER, generated binding's address was used as a target URL in the SOAP receiver channel.
    If the service is consumed not via PI, but tested directly from external SOAP client (I used soapUI) with the same WSDL and endpoint, the response is fine and error-free.
    Please advise possible root cause of the issue.
    My regards,
    Vadim

    Hi,
    I am working on a similar scenario where I my consuming an external web service using https protocol from PI.
    I have configured a soap receiver channel to call the target url of this web service as https://portal.xyz.org.uk/webservice_alt.
    I am getting an error HTTP 302 suggesting that PI is not able to follow the re-direction to the target URL as the service resides not on that URL but on https://portal1.xyz.org.uk/webservice_alt or https://portal2.xyz.org.uk/webservice_alt.
    This is their server fail over handling mechanism which is very common. But PI 7.0 is not able to handle this.
    So if I change the target URL on the SOAP receiver channel to  https://portal1.xyz.org.uk/web service  or  https://portal2.xyz.org.uk/webservice_alt , PI works fine without errors . But this is not the right approach because, every time the web service provider takes one of these systems down for upgrade/patching etc, they inform us and then I manually go and change the target URL to the available server on my production PI system config.
    My problem is I want to resolve this redirection error in PI. I have tried raising a call with SAP itself and they pointed out to use Axis adapter which is still not working.
    So I am here asking for help. any suggestions please from the experts?
    Thanks
    Jhansi.

  • SOAP Receiver with HTTPS(without certificate)

    Hi experts
    Receiver system not using any certificate.  Without certificate How PI can send message through HTTPS using SOAP.
    How to choose HTTPS transport protocol. (Here Target Url have Https://.....)
    Here I am using PI7.1 EHP1.
    I configured Receiver SOAP CC as
    Transport protocol as HTTP
    Taget Url https://api-demo.e-xact.com/transaction
    It will work? if not how to enable Https in SOAP receiver
    but I am getting below error In adapter
    Adapter Framework caught exception: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier
    Thank you
    Srini

    Hi Srini,
    The main reasons for this error "Peer certificate rejected..." be appearing are the following:
    1. The correct server certificate could not be present in the TrustedCA keystore view of NWA. Please ensure you have done all the steps described in the URL below:
    Security Configuration at Message Level
    http://help.sap.com/saphelp_nwpi711/helpdata/EN/ea/c91141e109ef6fe10000000a1550b0/frameset.htm
    2. The server certificate chain contains expired certificate. Check for it (that was the cause for other customers as well) and if it's the case renew it or extend the validation.
    3. Some other customers have reported similar problem and mainly the problem was that the certificate chain was not in correct
    order. Basically the server certificate chain should be in order Own->Intermedite->Root. To explain in detail, if your server certificate is A which is issued by an intermediate CA B and then B's certificate is issued by the C which is the root CA (having a self signed certificate).
    Then your certificate chain contains 3 elements A->B->C. So you need to have the right order of certificate in the chain. If the order is B first followed by A followed by C, then the IAIK library used by PI cannot verify the server as trusted. Please generate the certificate in the right order and then import this certificate in the TrustedCA keystore view and try again. Please take this third steps as the principal one.
    4. If the end point of the SOAP Call(Server) is configured to accept a client certificate(mandatory), then make sure that it is configured correctly in the SOAP channel and it is also within validity period.
    (This certificate is the one which is sent to Server for Client authentication)
    As a resource, you may need to create a new SSL Server key.
    The requirement from SAP SSL client side is that the requested site has to have certificate with CN equal to the requested site.  I mean if I request URL X then the CN must be CN=X.
    In other words, the CN of the certificate has to be equal to the URL in the ftp request. This can be the IP address or the full name of the host.
    Request the url with the IP of the SSL Server and the certificate to be with CN = IP of the server.
    In any other case the SSL communication will not work.
    Regards,
    Caio

Maybe you are looking for

  • Error while starting

    hello i am using bea webserver 5.1 with java. evert time i run the cmd file in the weblogic installation directory a few set of errors shows up eventhough these errors does not make any problem to the server frm booting up the errors are 1: java.lang

  • Some Photos Won't Display

    I have the Droid X with the new 2.3 Gingerbread and just recently had certain photos that will show as a thumbnail image in the gallery but when I touch them to view the larger image it only displays a generic icon (sun over mountains box) instead of

  • Is the iphone 3gs in the appstore still 50$?

    Is the iphone 3gs in the appstore still 50$ and can you buy it without activating it?

  • Installation and run problem

    The previous user of my computer used jdk1.3. However, I got error message when I run the program(there is no compile error). The message is: Error occured during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object Hence, I tried to

  • Printer is unable to establish 2 way communication

    My HP 4500 will not print as it tells me that it is unable to establish two way communication