Logging inbound SOAP Message in SALT 2.0

Is there a way to log the inbound SOAP message [valid or invalid] in SALT 2.0. We have a situation where the client is sending a SOAP message that we want to be able to intercept and log. The client is reporting that the SALT gateway is reporting an invalid SOAP message, we want to be able to log this message so we can let them know what we are receiving.
Thanks

Ram--
Everywhere in XI, the acronym "LCR" is synonymous with "SLD", System Landscape Directory.  It seems like it may be a term they used early on, or maybe it's the German equivalent.  The LCR acronym is sprinkled throughout SAP's underlying code.
In your error message, it's complaining about the Business System entry in the SLD. 
My first thought would be that either the source or target business system is not configured in the SLD, or you haven't defined the business system properly in the SOAP adapter configuration.  See the "XI20 Adapter Engine" manual for instructions on how to configure the SOAP adapter. 
NOTE: You may be able to configure the SLD to make this solution work on your own, but for long-term usage, you're going to want an expert to model your system landscape and configure the SLD properly.
--Dan King
Capgemini

Similar Messages

  • Logging of SOAP messages at server side, Axis 1.2, NO SoapMonitor / TCPMon.

    Hello,
    I�m looking for a way to log all SOAP communication at a Axis Server.
    I want to log the messages into my logdatabase or to files at least.
    I am not interrested af SOAPMonitor or TCPMonitor, those are good tools but not for my purposes.
    Anyone can help me out?

    Hi,
    You should have a look at the Axis users guide, under "More deployment - Handlers and Chains". This part describes a LogHandler to be included in the WSDD that basically logs information about the requests and/or responses.
    Also look at the class org.apache.axis.handlers.LogHandler

  • Capture inbound SOAP message

    Hi,
    I am trying to find a way to capture an inbound XML message in its original form once it has been transformed into the appropriate structure.  I have attempted debugging for quite some time to find the XML source in previous programs in the ABAP Stack, but no results as yet to access that object attribute from my function module.
    Has anyone else has this problem?  Essentially I want to create a log for inbound messages but am unable to capture the message because it has already populated the correct structure.
    After writing this, I've had an idea.  I will look into the possibility of calling the transformation to rebuild the XML based on the data structures.
    Any other ideas will be appreciated.
    Jason

    Hi All,
    I ended up resolving this issue by rebuilding the XML based on the structure passed into my function module.  This means I do not have all of the XML as it was passed, only the tags were expected in the message (this is due to the fact that unknown tags are just ignored during the translation-- it is case sensitive too!).
    The hard part was debugging the SAP code to find the name of the de-serialise transformation.  Then once I found it, there was a call to another transformation; this is what I had to use.  Unfortunately I was unable to find a way to determine the name of this form dynamically.
    If someone else has found a way, I am interested to know.
    Jason

  • Logging SOAP messages

    I need help on how to use handlers in Weblogic Workshop web services. I have the following logging handler from the bea documentation site.
    Now, if I want to log my SOAP messages on the server side, do I just need to put the annotation:
    * @jws:handler operation="handler.ConsoleLoggingHandler"
    at the top of my JWS file? If that is the case, I don't see any messages being logged. Any help will be greatly appreciated.
    Thanks.
    gtata
    package handler;
    import java.util.Iterator;
    import javax.xml.rpc.handler.MessageContext;
    import javax.xml.rpc.handler.soap.SOAPMessageContext;
    import javax.xml.soap.SOAPElement;
    // for readability, using weblogic API instead of javax.xml.rpc.handler.GenericHandler
    // See http://edocs.beasys.com/wls/docs81/webserv/interceptors.html#1060763
    import weblogic.webservice.GenericHandler;
    * Purpose: Log all messages to the Server console
    public class ConsoleLoggingHandler extends GenericHandler
    * Handles incoming web service requests and outgoing callback requests
    public boolean handleRequest(MessageContext mc)
    logSoapMessage(mc, "handleRequest");
    return true;
    * Handles outgoing web service responses and incoming callback responses
    public boolean handleResponse(MessageContext mc)
    this.logSoapMessage(mc, "handleResponse");
    return true;
    * Handles SOAP Faults that may occur during message processing
    public boolean handleFault(MessageContext mc)
    this.logSoapMessage(mc, "handleFault");
    return true;
    * Log the message to the server console using System.out
    protected void logSoapMessage(MessageContext mc, String eventType)
    try
    System.out.println("*****************************");
    System.out.println("Event: "+eventType);
    System.out.println("Endpoint Method: " + getMethodName(mc));
    System.out.println("Soap message is: \n " +
    com.bea.wlw.runtime.jws.soap.util.SAAJUtil.SOAPPart2String(
    ((SOAPMessageContext)mc).getMessage() ) + "\n");
    System.out.println("*****************************");
    catch( Exception e )
    e.printStackTrace();
    * Get the method Name from a SOAP Payload.
    protected String getMethodName(MessageContext mc)
    String operationName = null;
    try
    SOAPMessageContext messageContext = (SOAPMessageContext) mc;
    // assume the operation name is the first element
    // after SOAP:Body element
    Iterator i = messageContext.
    getMessage().getSOAPPart().getEnvelope().getBody().getChildElements();
    while ( i.hasNext() )
    Object obj = i.next();
    if(obj instanceof SOAPElement)
    SOAPElement e = (SOAPElement) obj;
    operationName = e.getElementName().getLocalName();
    break;
    catch(Exception e)
    e.printStackTrace();
    return operationName;
    }

    You can use the logging and tracing functionality to write log statements anywhere in BPEL. refer http://wiki.open-esb.java.net/Wiki.jsp?page=LoggingFromWSBPELActivityInABusinessProcess . But you should keep in mind these are not soap messages that you log. They will be abstract WSDL message instances. If you want to log specifically the soap messages you need the support in HTTP-BC.
    If you turn on logging you should see the line number of BPEL where it fails. That should give you some indication. I am not 100% sure, but in the logs, we should be logging the variable which was not initialized. I can't think of any other way to find out which variable caused this exception.
    -Kiran Bhumana

  • Logging soap messages invoked by BPEL process

    Hi,
    Is there any way to log the SOAP messages sent from an invoke? A receive?
    Also, is there a way to capture which variable is throwing an uninitializedVariable exception?
    J

    You can use the logging and tracing functionality to write log statements anywhere in BPEL. refer http://wiki.open-esb.java.net/Wiki.jsp?page=LoggingFromWSBPELActivityInABusinessProcess . But you should keep in mind these are not soap messages that you log. They will be abstract WSDL message instances. If you want to log specifically the soap messages you need the support in HTTP-BC.
    If you turn on logging you should see the line number of BPEL where it fails. That should give you some indication. I am not 100% sure, but in the logs, we should be logging the variable which was not initialized. I can't think of any other way to find out which variable caused this exception.
    -Kiran Bhumana

  • OSB - log SOAP messages

    Hi!
    I would like to check the outbound and inbound SOAP messages, can I do it?
    So I have got a business service which calls remote webservice (OSB is a client here), i have to check the content of SOAP message (i use WS-security policy: digital signature, username+password)
    Thank You very mucH!
    Viktor

    Hi Anuj!
    Thank You for Your answer!
    I have got a Routing action in my proxy service (which calls a business service), I see this on test console after I call the proxy service:
    RouteNode1
    Routed Service
    +$outbound+
    +$body+
    +$header+
    +$attachments+
    Message Context Changes
    added $outbound
    changed $body
    changed $attachments
    changed $inbound
    changed $header
    So after the Message Context Changes I can see the eventual SOAP header which OSB will send?
    I think I can't because the changed $body contains this XML:
    +<soap:Body ...>+
    +<soap:Fault>+
    +<faultcode>code:FailedAuthentication</faultcode>+
    +<faultstring>The security token could not be authenticated or authorized</faultstring>+
    +<faultactor>https://...</faultactor>+
    +</soap:Fault>+
    +</soap:Body>+
    I get this message back from remote webservice so the header above belongs to remote ws as well.
    Or do I think badly?
    Thanks!

  • How to create Inbound SOAP With Attachments

    Hi All,
    Does someone know how to create an Inbound SOAP Message (from SAP XI to a Business System) with attachments?
    We get an Idoc from a SAP R/3 system and transform this Idoc to an other XML format messages, but we want this message as an attachment and not as the payload in the SOAP Envelope.
    We tried the PayloadSwapBean module, but we don't have an attachment to swap with, but maybe we used the wrong paramaters.
    Thanks,
    Frank

    Hi Stefan,
    Does this quick response mean I challenged you?
    Our scenario is that we send an IDoc (ORDERS05) from our R/3-backend-system to XI (3.0/SP15). In an integration process (A/S-bridge) we transform this IDoc to an UBL-Order XML-message, and we want to send this XML-message as an attachment to a (synchronous) SOAP-call to a vendor. Like I said, despite the SAPHelp-content, we don't get this working. Whatever we try, the UBL-Ordermessage is contained in the SOAP-body.
    What makes it even more strange, is that XI itself is based on the SOAP-with-attachments-standard...
    So, any help is much appreciated!
    Regards, Fred

  • Error in decoding SOAP Message  :_(

    Anybody has never got these exceptions:
    "Error in decoding SOAP Message",
    and
    "Cannot find the dispatch method"
    I'm handling outbound soap message and inbound soap message either
    on server side and client side.
    On server side I obtain following exception: (you can see also my personal debbugger :-P)
    ---Server Inbound SOAP message---|#]
    Decrypting message and rebuilding Valuees... |#]
    Inizio decodifica|#]
    . decodifica terminata!
    --found following string: <ns1:addiziona><num1>80</num1><num2>22222</num2></ns1:addiziona>|#]
    ...MESSAGE Restored.|#]
    <?xml version="1.0" ?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ns1="http://calculator.me.org/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <soapenv:Body>
    <ns1:addiziona>
    <num1>80</num1><num2>22222</num2>
    </ns1:addiziona></soapenv:Body>
    </soapenv:Envelope>|#]
    Error in decoding SOAP Message
    Error in decoding SOAP Message
            at com.sun.xml.ws.encoding.soap.server.SOAPXMLDecoder.toInternalMessage(SOAPXMLDecoder.java:89)
            at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.toMessageInfo(SOAPMessageDispatcher.java:187)
            at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:571)
            at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:145)
            at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:160)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:89)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:178)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:109)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:100)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:71)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
            at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find the dispatch method
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.raiseFault(SOAPDecoder.java:674)
            at com.sun.xml.ws.encoding.soap.server.SOAPXMLDecoder.decodeDispatchMethod(SOAPXMLDecoder.java:152)
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeBodyContent(SOAPDecoder.java:337)
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeBody(SOAPDecoder.java:327)
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeEnvelope(SOAPDecoder.java:250)
            at com.sun.xml.ws.encoding.soap.server.SOAPXMLDecoder.toInternalMessage(SOAPXMLDecoder.java:81)
            ... 29 more
    |#]
    --->handleFault O_o<---|#]Shad
    P.s. AS 9
    Pps Heeeeeeeeeeeeeelp! :_|

    Is the package of this class file org.me.calculator
    ?Yes, package is org.me.calculator .
    >
    I am asking these questions because : the error
    "cannot find dispatch method" can happen is there is
    a mismatch in the targetNameSpace. Ok, I understand. But I believe that I insert some horror within code :-)
    Or, if you do not
    mind sharing your application, please use the
    GlassFish user alias ([email protected] -
    you may have to subscribe to project glassfish (
    https://glassfish.dev.java.net) mails) and mail us
    the app - we will debug it for youOh, I can sharing my application. It must be a sample for understanding Sun's environment, web services world and see handling/security messages. But my simple sample become too great for me :-P
    Really, this is my experiment:
    --server: a simple ws with "add" service.
    --client: a session bean that would use ws.
    This step works. Next step:
    --Client create a SOAP request, sign it, encrypt it and send.
    --Server check signature, decrypt soap element, add two number and
    send a clear response.
    In this step I obtain: error in decode...etc etc
    Client seems works (create, sign, encrypt e send).
    I'm trying to works at programming level (with handlers).
    I don't want to use application level security for two reasons:
    1. If I use it, I don't learn in depth WS-Security and other..
    2. I tried to use it, but it did works only on server side, as a matter of fact, client doesn't manage signing and encrypting soap message (sure, I tried with other example, perhaps totally wrong :-P)
    >
    Please let us know what works for youI come from JBOSS(WS) and JbossIDE (Eclipse with jboss plug-in). I think NetBeans and SUN AS are ahead of jboss.
    If you want see a bad example of design, coding and all regarding java, you can see my sample-project :-P
    Web services:
    http://slide.altervista.org/SUN/CalculatorWSApplication-webservices.rar
    Client:
    http://slide.altervista.org/SUN/CalculatorWSBeanClient.rar
    (Client is really rough... :_) )
    Thank you for watching my problem and I apologize about my English.
    Simone

  • Logging the SOAP request/response from rules engine

    Hi All,
    We would like to log the soap requests and response from the rules engine.
    The determinations-server.war is deployed on a weblogic server and we are not using seibel connector.
    Is it possible to log the soap messages for debugging purpose.
    Thanks,
    Suraj

    Hi All,
    We would like to log the soap requests and response from the rules engine.
    The determinations-server.war is deployed on a weblogic server and we are not using seibel connector.
    Is it possible to log the soap messages for debugging purpose.
    Thanks,
    Suraj

  • Traping the SOAP message before making the call.

    We are using the axis for Web services, it works fine,
    Here is my question, before the call go out to third party services, I need to log the SOAP message into our logging system. How would I trap the message?
    Thanks in advance.
    -APK.

    I tried to achieve that using the following:
    http://e-docs.bea.com/wls/docs81/webserv/interceptors.html#1072668
    But it doesn't seem to work. try it!!
    -k

  • How to Write Soap Message to Log File

    Hello users,
    Is there a config setting that causes soap messages to be written to the server log. I'm using JBoss/Turnkey. I found a reference in the JBoss documentation (Ch 5 J2EE Web Services) that offers this guidance:
    (5.4. Monitoring webservices requests)
    When processing web services requests, it is often useful to be able to observe the actual messages being passed between the client and the server. JBoss logs this information in the org.jboss.axis.transport.http.AxisServlet category.
    To enable web services logging, add the following debug category to the log4j.xml file:
    <category name="org.jboss.axis.transport.http.AxisServlet">
    <priority value="DEBUG"/>
    </category>
    When enabled, all SOAP requests and responses will be logged to the server.log file.
    Tried it but not working yet. Thanks for any help.
    Jesse

    http://www.google.com/search?q=java+web+service+tutorial&meta=

  • Log soap messages

    I am using call.invoke() method for sending soap requests to a remote server..is there any way to log the soap request message i send and receive....

    I am using call.invoke() method for sending soap requests to a remote server..is there any way to log the soap request message i send and receive....

  • Need help: Using Axis, how to log all incoming and outgoing soap messages??

    Hi all,
    I have a big problem which probably got a simple solution:
    I need to log all incoming messages, and all outgoing messages (request - response).
    I do not want any other information than this. I have tested the log4j and all I get is a LOT of debug information but not the messages as the arrive/leave the system.
    Please help me with this since it is a big problem for me that I cant debug my applications in the way I want...

    I would preffer not to use the tcpmonitor on my server, don�t want to change ports, etc.. I want a better solution which I can choose myself when to use, and that can directly log to my log-database...
    Sorry but tcpmonitor is not a solution here, even though it is a good monitor program

  • Inutilização de NFe: Log de erro Message type 8 is not defined

    Olá Pessoal,
    Estamos com um erro aqui muito semelhante ao descrito na Thread: [Skip número da NF não autorizada|;.
    Solicitamos a inutilização de uma nota writer de saída que foi barrada no Monitor GRC por erro de validação e por isso estava com status 8 na J1BNFE (ECC). A inutilização foi feita com sucesso, o status no GRC está correto, mas no ECC a autorização ainda não constava. Executamos o report XNFE/UPDATE_ERP_STATUS_DIAL e ao fazermos a msg de "erro ao atuzalizar ECC". No monitor da J1BNFE a nota agora aparece com o seguinte log de erro:
    Message type 8 is not defined
    Message no. J1B_NFE018
    Diagnosis
    The messaging system passed a value for the message type to the back-end system (field I_MSGTYP) that is not defined in the back-end system.
    System Response
    The back-end system cannot interpret and process the inbound message.
    Procedure
    Configure the messaging system in a way that it transfers only allowed message types to the back-end system via the inbound interfaces J_1B_NFE_XML_IN or J_1B_NFE_XML_IN_TAB.
    Achei a thread mencionada acima com o mesmo erro e verifiquei a aplicação das notas, já que o problema foi solucionado com a aplicação das mesmas. Eis os status:
    Nota 1298283 (ECC) - Não relevante pois estamos no ECC 6.0 SP17;
    Nota 1376324 (ECC) - Não relevante pois estamos no ECC 6.0 SP17;
    Nota 1413636 (ECC) - Completely Implemented na SNOTE;
    Nota 1376901 (GRC) - Não relevante pois estamos no GRC SP13.
    Aparenmente alguma coisa ainda está faltando.. mas nao sei o que é.
    Desde já agradeço,
    Daniela Machado

    Verifique esses passos da nota 1298283 (no ECC)::
    Change Domain J_1BNFE_MESSAGE_TYPE
    Use transaction SE11
    Select Domain and insert name J_1BNFE_MESSAGE_TYPE
    Push Change.
    Select Tab "Value Range".
    Insert
    Fix value Short text
    8 Authorization to Skip a NF-e with Validation Error
    9 Rejection to Skip a NF-e with Validation Error
    Maintain table J_1BNFE_MAP_TYPE
    Use transaction SE16 and display the table entries.
    Push CREATE (F5)
    Insert records
    MSGTYP DOCSTA SCSSAT
    8 Space A
    9 Space B
    At.,
    Bernardo Braga
    Edited by: Bernardo Braga on Jul 1, 2010 10:06 PM

  • SAAJServet error when sending a SOAP message on 10.1.2

    Hi,
    We have deployed a server application in OC4J 10.1.2 with a servlet listening for SOAP messages (SAAJ 1.2). If we use Standalone OC4J with SSL enabled and HTTPS communication between client app and server, it works fine, but when we move it to an Application Server environment where client goes HTTPS to the frontend HTTP_Server and then AJP to the OC4J, the following exception appears on the application.log:
    07/03/27 17:48:36 application/gpm-0.1: Servlet error
    javax.servlet.ServletException: SAAJ POST failed Unable to internalize message
    at com.sun.xml.messaging.soap.server.SAAJServlet.doPost(SAAJServlet.java:212)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind
    Any ideas what can go wrong here, or where else to look?
    Message was edited by:
    [email protected]

    The standalone OC4J is 10.1.3, sorry. Nevertheless, we include all the libraries we use (saaj and dependencies) in the appliaction .ear archive that we deploy in both environments. May be a configuration issue?

Maybe you are looking for

  • Windows Vista disk will not install in bootcamp

    I have been trying for several days to install Win Vista home premium (full version). The dvd drive always does the same. It starts to spin up and then I hear it read twice and then it stops and I end up with the light grey screen. I have gone as far

  • Why do i get an error after resetting Time Capsule?

    Hi *, I recently reset (and also factory reset) my Time Capsule. It showed up in AirPort Utility. Then after 10 mins (or less), when i open up the AirPort utility again, i get this error: "Time Capsule was previously part of your network. Check that

  • How to get a version by VBS (CC 2014)

    I'd like to get a version with VBS using the CC 2014, but I get an error. The error does not appear in CC. <VBS> Set appRef = CreateObject("Photoshop.Application") psVer = appRef.Version Is there any solution? hatori

  • Problem with CS5 crashing when inserting or deleting page

    I have a legacy file (educational textbook) that was created in CS2 and has been edited and updated over the past couple of years with no problems. The file is approximately 360 pages with around 30 illustrations, a ToC, and large index. When updatin

  • Re-install Media Player 12 ???

    I have a Toshiba laptop Satellite L505-S5990 with Win 7 OS pre-installed. Evidently Media Player 12 came bundled with the preloaded system. Now... Media Player has a problem that the troubleshooter will not repair. So I go to my recovery media discs