Missing import value in SOAP message

Hi guys,
I have developed a function module that calls a .NET web service. I am having an issue that values for import parameter sent to .NET web service are missing. Before calling .NET web service, CODE parameter has a value but when it reach to .NET side there is no value.
  CREATE OBJECT osoap.  " Create object
  TRY.
      CALL METHOD osoap->set_method
        EXPORTING
          nsprefix = ' '
          nsvalue  = 'http://califoniasteel.com/'
          name     = 'VerifyPDFDelivery'.
Transfer Customer Code to in-parameter
     GET REFERENCE OF p_ccode INTO dref.
      GET REFERENCE OF code INTO dref.
      CALL METHOD osoap->add_parameter
        EXPORTING
          direction = csoapconstants=>ic_param_inout
          name      = 'CODE'
          value     = dref.
      GET REFERENCE OF p_file_found INTO dref.
      CALL METHOD osoap->add_parameter
        EXPORTING
          direction = csoapconstants=>ic_param_out
          name      = 'VerifyPDFDeliveryResult'
          value     = dref.
Use friendly names
      CALL METHOD osoap->set_tag_name_format
        EXPORTING
          format = csoapconstants=>ic_tagfmt_mixcase.
Serialize SOAP Document and transport message
      isoap = osoap.
2 Create SOAP transport object and set payload
      CALL METHOD csoaptransport=>new_http_transport
        IMPORTING
          transport = otransp.
      CONCATENATE 'http://' l_soap_server ':' l_soap_port '/' l_soap_service INTO soapurl.
      CALL METHOD otransp->set_destination_by_url
        EXPORTING
          url = soapurl.
      CALL METHOD otransp->set_soapaction
        EXPORTING
          soapaction = l_soap_method.
      CALL METHOD otransp->set_payload
        EXPORTING
          payload = isoap.
      CALL METHOD otransp->request_response.
  There is no error or system run time error during the call. I found a SAP Note 588924 but our Basis guy says it doesn't apply to our envi: SAP R/3 Enterprise, SAP_BASIS 620 SAPKB62063.
Let me know if anyone experiences the same issue and found any workaround for it.
Thanks.

Below is the log of the incoming message just prior to the failing SAML Verify step:
<?xml version="1.0" encoding="UTF-8" ?>
- <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://exception.common.periop.gehc.com" xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://www.patient.patientmanager.periop.gehc.com/service/" xmlns:ns3="http://entity.common.periop.gehc.com" xmlns:ns4="http://entity.patient.patientmanager.periop.gehc.com" xmlns:ns5="http://entity.allergy.patientmanager.periop.gehc.com" xmlns:ns6="http://pdo.domain.customizer.periop.gehc.com" xmlns:ns7="http://entity.cases.scheduler.periop.gehc.com" xmlns:ns8="http://entity.insurance.patientmanager.periop.gehc.com">
- <env:Header>
- <ns1:Security>
- <saml:Assertion MajorVersion="1" MinorVersion="1" AssertionID="158RBY2QvCFPiTqdXYWh9A22" IssueInstant="2008-09-17T19:58:43Z" Issuer="GE" xmlns="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
<saml:Conditions NotBefore="2008-09-17T19:58:13Z" NotOnOrAfter="2008-09-17T19:59:43Z" />
- <saml:AuthenticationStatement AuthenticationInstant="2008-09-17T19:58:43Z" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password">
- <saml:Subject>
<saml:NameIdentifier NameQualifier="www.ge.com" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">gowri</saml:NameIdentifier>
- <saml:SubjectConfirmation>
<saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</saml:ConfirmationMethod>
</saml:SubjectConfirmation>
</saml:Subject>
</saml:AuthenticationStatement>
</saml:Assertion>
</ns1:Security>
</env:Header>
- <env:Body>
- <ns2:getPatient>
<ns2:patientId>137115</ns2:patientId>
</ns2:getPatient>
</env:Body>
</env:Envelope>

Similar Messages

  • OWSM SAML Verify step problem: Missing Security Header in SOAP message

    I'm having a problem with SAML steps. From gateway log:
    2008-09-17 13:21:32,987 INFO [HTTPThreadGroup-58] saml.InsertSAMLSVStep - User attributes map set to generate the attribute assertions: null
    2008-09-17 13:21:33,034 INFO [HTTPThreadGroup-60] saml.SAMLProcessor - Assertion Major Version :1 , Minor Version :1
    2008-09-17 13:21:33,034 WARNING [HTTPThreadGroup-60] saml.SAMLProcessor - SAML Assertion verification error: An invalid token was provided
    2008-09-17 13:21:33,034 WARNING [HTTPThreadGroup-60] saml.VerifySAMLStep - SAML Token verification failed:
    2008-09-17 13:21:33,096 SEVERE [HTTPThreadGroup-58] wssecurity.OSDTWSSecurity - Missing Security Header in SOAP message
    2008-09-17 13:21:33,096 WARNING [HTTPThreadGroup-58] wssecurity.SecurityBaseStep - Failure while applying XML Security
    FAULT CODE: InvalidSecurity FAULT MESSAGE: Missing WS Security header in the SOAP message
    at com.cfluent.policysteps.security.wssecurity.OSDTWSSecurity.decryptVerify(OSDTWSSecurity.java:369)
    at com.cfluent.policysteps.security.wssecurity.DecryptStep.performXmlSecurity(DecryptStep.java:131)
    at com.cfluent.policysteps.security.wssecurity.SecurityBaseStep.execute(SecurityBaseStep.java:238)
    at com.cfluent.pipelineengine.container.DefaultPipeline.executeStep(DefaultPipeline.java:124)
    but the wsse:Security header with SAML assertion IS confirmed in the incoming message log. Anybody seen this issue?

    Below is the log of the incoming message just prior to the failing SAML Verify step:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://exception.common.periop.gehc.com" xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://www.patient.patientmanager.periop.gehc.com/service/" xmlns:ns3="http://entity.common.periop.gehc.com" xmlns:ns4="http://entity.patient.patientmanager.periop.gehc.com" xmlns:ns5="http://entity.allergy.patientmanager.periop.gehc.com" xmlns:ns6="http://pdo.domain.customizer.periop.gehc.com" xmlns:ns7="http://entity.cases.scheduler.periop.gehc.com" xmlns:ns8="http://entity.insurance.patientmanager.periop.gehc.com">
    - <env:Header>
    - <ns1:Security>
    - <saml:Assertion MajorVersion="1" MinorVersion="1" AssertionID="158RBY2QvCFPiTqdXYWh9A22" IssueInstant="2008-09-17T19:58:43Z" Issuer="GE" xmlns="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
    <saml:Conditions NotBefore="2008-09-17T19:58:13Z" NotOnOrAfter="2008-09-17T19:59:43Z" />
    - <saml:AuthenticationStatement AuthenticationInstant="2008-09-17T19:58:43Z" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password">
    - <saml:Subject>
    <saml:NameIdentifier NameQualifier="www.ge.com" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">gowri</saml:NameIdentifier>
    - <saml:SubjectConfirmation>
    <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</saml:ConfirmationMethod>
    </saml:SubjectConfirmation>
    </saml:Subject>
    </saml:AuthenticationStatement>
    </saml:Assertion>
    </ns1:Security>
    </env:Header>
    - <env:Body>
    - <ns2:getPatient>
    <ns2:patientId>137115</ns2:patientId>
    </ns2:getPatient>
    </env:Body>
    </env:Envelope>

  • Sender RFC Adapter, missing import structure in inbound messages

    Hi, I have a simple scenario RFC- RFC-Adapter - XI - SOAPAdapter - Webservice.
    RFC has import parameter eblen type ekko-ebeln, and s_ekko type ekko.
    Tables, it_ekpo, it_eket etc.
    If i execute my interface, the tables and import parameter eblen is showed in Messages but not s_ekko. Import parameter is not empty. Th empty tables are showed to with tag </it_eket> but not s_ekko, if it doesnt exist.
    I reimport rfc and maked complete cashe refresh but it doesnt help.
    Have any an idee.
    Thanks and regards
    Hüsniye

    Have you done a CPA Cache refresh? Do this by opening URL http://server:port/CPACache/refresh?mode=full on your XI server.
    The adapter engine caches metadata and sometimes this can get a bit out of sync. Try refreshing the CPA Cache or disabling and then re-enabling your RFC Adapter.
    MJ

  • Header missing in SOAP message header (SAP XI Extension)

    Hi Experts,
    We are implementing interface MasterDataUpdateConfirmation_Out between 2 SAP ERP systems. The middleware is SAP PI.
    SAP PI team requested a change in this interface Stack - Replace Stack ABAP by Stack Java. The changes were made.
    However, now we get an error in the interface in the SAP ERP sender system, but the message arrives to SAP PI where is processed without errors and also arrives to SAP ERP receive system and the message is also processes without errors.
    The error we have in XML message in SAP ERP sender system is:
    XML element {http://schemas.xmlsoap.org/soap/envelope/}Header missing in
    SOAP message header (SAP XI Extension)
    Exception of class CX_XMS_SYSERR_PARSER
    Can anyone please help us? We have no ideia what to do.
    Thanks in advance,
    RS

    Hi again,
    I don't know if it is important, but the communication is asynchronous and the sender system is SAP ECC 6.0.
    Thanks!

  • Posting XML via HTTP post returns "Envelope missing in SOAP message header"

    Hi,
    I am trying to post a simple XML message directly to the integration server using an html document, where the form that contains the XML message is a simple
    <b><FORM action="http://servername:8000/sap/xi/engine?type=entry" method="post"></b>
    So, I add my xml message like this:
    <?xml version="1.0" encoding="UTF-8">
    <ns:PlantMaintenanceMessageType xmlns:ns="http://sap.com/demo/plantmaintenance">
          <EquipmentID>SLIEQUIP5</EquipmentID>
          <FunctionalLocation>KB</FunctionalLocation>
          <Date/>
          <Time/>
    </ns:PlantMaintenanceMessageType>
    but I get a message back from the Integration Server as:
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIProtocol</SAP:Category>
      <SAP:Code area="PARSER">ITEM_MISSING</SAP:Code>
      <SAP:P1>Envelope</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <b><SAP:Stack>XML tag Envelope missing in SOAP message header (SAP XI Extension)</SAP:Stack></b>
      </SAP:Error>
    Seems like I am missing the Envelope so my Integration Server can understand my post. What does the Envelope look like or should conatain so that the Integration Server accepts my XML file ?
    Thanks !

    This is the trace
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">
      <Trace level="1" type="T">Party normalization: sender</Trace>
      <Trace level="1" type="T">Sender scheme external =</Trace>
      <Trace level="1" type="T">Sender agency external =</Trace>
      <Trace level="1" type="T">Sender party external =</Trace>
      <Trace level="1" type="T">Sender party normalized =</Trace>
      <Trace level="1" type="B" name="CL_XMS_HTTP_HANDLER-HANDLE_REQUEST" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">XMB was called with URL /sap/xi/engine?type=entry</Trace>
      <Trace level="2" type="T">Request Line = POST /sap/xi/engine?type=entry HTTP/1.1</Trace>
      <Trace level="2" type="T">Host = sapqxh:8020</Trace>
      <Trace level="2" type="T">Server protocol = HTTP/1.1</Trace>
      <Trace level="2" type="T">Remote address = 10.228.137.106</Trace>
      <Trace level="1" type="T">COMMIT is done by XMB !</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-ENTER_XMS" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-SET_START_PIPELINE" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">XMB was called with external pipeline PID = ENTRY</Trace>
      <Trace level="3" type="T">Getting type of XMB...</Trace>
      <Trace level="1" type="B" name="SXMBCONF-SXMB_GET_XMB_USE" />
      <Trace level="2" type="T">XMB kind = CENTRAL</Trace>
      <Trace level="3" type="T">Start pipeline found</Trace>
      <Trace level="2" type="T">Switch to external start pipeline PID = CENTRAL</Trace>
    - <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV">
      <Trace level="3" type="T">No triggers found. OK.</Trace>
      </Trace>
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">XMB entry processing</Trace>
      <Trace level="3" type="T">system-ID = QXH</Trace>
      <Trace level="3" type="T">client = 220</Trace>
      <Trace level="3" type="T">language = E</Trace>
      <Trace level="3" type="T">user = PISUPER</Trace>
      <Trace level="1" type="Timestamp">2008-07-18T14:19:04Z CET</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Message-GUID = 4880474945AE67E2E10000000AE4896A</Trace>
      <Trace level="1" type="T">PLNAME = CENTRAL</Trace>
      <Trace level="1" type="T">QOS = EO</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">QOS = EO</Trace>
      <Trace level="3" type="T">Message-GUID = 4880474945AE67E2E10000000AE4896A</Trace>
      <Trace level="1" type="T">Get definition of external pipeline = CENTRAL</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
      <Trace level="3" type="T">External PLID = CENTRAL</Trace>
      <Trace level="3" type="T">Internal PLID = SAP_CENTRAL</Trace>
      </Trace>
      <Trace level="1" type="T">Get definition of internal pipeline = SAP_CENTRAL</Trace>
      <Trace level="3" type="T">Generate prefixed queue name</Trace>
      <Trace level="1" type="T">Queue name : XBTL0000</Trace>
      <Trace level="1" type="T">Generated prefixed queue name = XBTL0000</Trace>
      <Trace level="1" type="T">Schedule message in qRFC environment</Trace>
      <Trace level="3" type="T">Setup qRFC Scheduler</Trace>
      <Trace level="1" type="T">Setup qRFC Scheduler OK!</Trace>
      <Trace level="3" type="T">Call qRFC .... MsgGuid = 4880474945AE67E2E10000000AE4896A</Trace>
      <Trace level="3" type="T">Call qRFC .... Version = 000</Trace>
      <Trace level="3" type="T">Call qRFC .... Pipeline = CENTRAL</Trace>
      <Trace level="3" type="T">OK.</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Going to persist message</Trace>
      <Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>
      <Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>
      <Trace level="1" type="T">- Exit CALL_PIPELINE_ASYNC</Trace>
      <Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="3" type="T">Version number = 000</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">Persisting message Status = 001</Trace>
      <Trace level="3" type="T">Message version 000</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      <Trace level="1" type="T">--start sender interface action determination</Trace>
      <Trace level="1" type="T">select interface MIOA_US139_EmployeeData*</Trace>
      <Trace level="1" type="T">select interface namespace urn:abbott-com:US139</Trace>
      <Trace level="1" type="T">found interface MIOA_US139_EmployeeData</Trace>
      <Trace level="1" type="T">found action ARCH</Trace>
      <Trace level="1" type="T">set interface action to ARCH</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE">
      <Trace level="3" type="T">Trace object available again now. OK.</Trace>
      <Trace level="3" type="T">Message was read from persist layer. OK.</Trace>
      <Trace level="3" type="T">Message properties in XMB object were setup. OK.</Trace>
      <Trace level="3" type="ToDo">Make sure we catch exceptions in persist read</Trace>
      <Trace level="3" type="ToDo">Tracing obj. not avail. before return of CL_XMS_MAIN-PERSIST_READ_MESSAGE</Trace>
      </Trace>
      <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
      <Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">message version successfully read from persist version= 000</Trace>
      <Trace level="2" type="T">Increment log sequence to 001</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
      <Trace level="3" type="T">system-ID = QXH</Trace>
      <Trace level="3" type="T">client = 220</Trace>
      <Trace level="3" type="T">language = E</Trace>
      <Trace level="3" type="T">user = PISUPER</Trace>
      <Trace level="1" type="Timestamp">2008-07-18T14:19:08Z CET</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
      <Trace level="3" type="T">External PLID = CENTRAL</Trace>
      <Trace level="3" type="T">Internal PLID = SAP_CENTRAL</Trace>
      </Trace>
      <Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline attributes</Trace>
      <Trace level="3" type="T">PID = SAP_CENTRAL</Trace>
      <Trace level="3" type="T">ENABLE = 1</Trace>
      <Trace level="3" type="T">TRACELEVEL = 0</Trace>
      <Trace level="3" type="T">EXEMODE = A</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline elements</Trace>
      <Trace level="3" type="T">ELEMPOS = 0001</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_DETERMINATION</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0002</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_INTERFACE_DETERMINATION</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0003</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0004</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_REQUEST</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0007</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_OUTBOUND_BINDING</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0008</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_CALL_ADAPTER</Trace>
      <Trace level="3" type="T">PLSRVTYPE = =SWITCH=</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0009</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_RESPONSE</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T" />
      <Trace level="1" type="Timestamp">2008-07-18T14:19:08Z CET Begin of pipeline processing PLSRVID = CENTRAL</Trace>
    - <Trace level="1" type="B" name="PLSRV_RECEIVER_DETERMINATION">
      <Trace level="1" type="Timestamp">2008-07-18T14:19:08Z CET Start of pipeline service processing PLSRVID= PLSRV_RECEIVER_DETERMINATION</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="3" type="T">Calling pipeline service: PLSRV_RECEIVER_DETERMINATION</Trace>
      <Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_DETERMINATION</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
      <Trace level="3" type="T">P_CLASS = CL_RD_PLSRV</Trace>
      <Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
      <Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
      <Trace level="3" type="T">FL_LOG =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      <Trace level="2" type="T">Start without given receiver</Trace>
      <Trace level="2" type="T">Classic Receiver Determination via Rules.</Trace>
      <Trace level="2" type="T">Check conditions for rule line no. 1</Trace>
      <Trace level="2" type="T">...valid Receiver w/o Condition: - BS_AIMS</Trace>
      <Trace level="2" type="T">No Receiver found behaviour: 0</Trace>
      <Trace level="2" type="T">Number of Receivers:1</Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="Timestamp">2008-07-18T14:19:08Z CET End of pipeline service processing PLSRVID= PLSRV_RECEIVER_DETERMINATION</Trace>
      </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
      <Trace level="3" type="T">Persisting message after plsrv call</Trace>
      <Trace level="3" type="T">Message-Version = 001</Trace>
      <Trace level="3" type="T">Message version 001</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </Trace>
    - <Trace level="1" type="B" name="PLSRV_INTERFACE_DETERMINATION">
      <Trace level="1" type="Timestamp">2008-07-18T14:19:11Z CET Start of pipeline service processing PLSRVID= PLSRV_INTERFACE_DETERMINATION</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="3" type="T">Calling pipeline service: PLSRV_INTERFACE_DETERMINATION</Trace>
      <Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_INTERFACE_DETERMINATION</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
      <Trace level="3" type="T">P_CLASS = CL_ID_PLSRV</Trace>
      <Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
      <Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
      <Trace level="3" type="T">FL_LOG =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_ID_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">I N T E R F A C E - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      <Trace level="2" type="T">Check conditions for (Inb: Party Srvc If) BS_AIMS MIIA_US139_EmployeeData</Trace>
      <Trace level="2" type="T">...valid InbIf without Condition: MIIA_US139_EmployeeData</Trace>
      <Trace level="2" type="T">Number of receiving Interfaces:1</Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="Timestamp">2008-07-18T14:19:11Z CET End of pipeline service processing PLSRVID= PLSRV_INTERFACE_DETERMINATION</Trace>
      </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
      <Trace level="3" type="T">Persisting message after plsrv call</Trace>
      <Trace level="3" type="T">Message-Version = 002</Trace>
      <Trace level="3" type="T">Message version 002</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </Trace>
      <Trace level="1" type="B" name="PLSRV_RECEIVER_MESSAGE_SPLIT" />
    - <!--  ************************************
      -->
      <Trace level="1" type="Timestamp">2008-07-18T14:19:14Z CET Start of pipeline service processing PLSRVID= PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="3" type="T">Calling pipeline service: PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
      <Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
      <Trace level="3" type="T">P_CLASS = CL_XMS_PLSRV_RECEIVER_SPLIT</Trace>
      <Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
      <Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
      <Trace level="3" type="T">FL_LOG =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
      <Trace level="1" type="B" name="CL_XMS_PLSRV_RECEIVER_SPLIT-ENTER_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">Case handling for different plsrv_ids PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
      <Trace level="2" type="T">got property produced by receiver determination</Trace>
      <Trace level="1" type="T">number of receivers: 1</Trace>
      <Trace level="1" type="T">Single-receiver split case</Trace>
      <Trace level="1" type="T">Post-split internal queue name = XBTM0000</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Persisting single message for post-split handling</Trace>
      <Trace level="1" type="T" />
      <Trace level="1" type="T">Going to persist message + call qRFC now...</Trace>
      <Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>
      <Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>
      <Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">Persisting message Status = 012</Trace>
      <Trace level="3" type="T">Message version 003</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE">
      <Trace level="3" type="T">Trace object available again now. OK.</Trace>
      <Trace level="3" type="T">Message was read from persist layer. OK.</Trace>
      <Trace level="3" type="T">Message properties in XMB object were setup. OK.</Trace>
      <Trace level="3" type="ToDo">Make sure we catch exceptions in persist read</Trace>
      <Trace level="3" type="ToDo">Tracing obj. not avail. before return of CL_XMS_MAIN-PERSIST_READ_MESSAGE</Trace>
      </Trace>
      <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
      <Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">message version successfully read from persist version= 004</Trace>
      <Trace level="2" type="T">Increment log sequence to 005</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
      <Trace level="3" type="T">system-ID = QXH</Trace>
      <Trace level="3" type="T">client = 220</Trace>
      <Trace level="3" type="T">language = E</Trace>
      <Trace level="3" type="T">user = PISUPER</Trace>
      <Trace level="1" type="Timestamp">2008-07-18T14:19:20Z CET</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
      <Trace level="3" type="T">External PLID = CENTRAL</Trace>
      <Trace level="3" type="T">Internal PLID = SAP_CENTRAL</Trace>
      </Trace>
      <Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline attributes</Trace>
      <Trace level="3" type="T">PID = SAP_CENTRAL</Trace>
      <Trace level="3" type="T">ENABLE = 1</Trace>
      <Trace level="3" type="T">TRACELEVEL = 0</Trace>
      <Trace level="3" type="T">EXEMODE = A</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline elements</Trace>
      <Trace level="3" type="T">ELEMPOS = 0001</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_DETERMINATION</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0002</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_INTERFACE_DETERMINATION</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0003</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0004</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_REQUEST</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0007</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_OUTBOUND_BINDING</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0008</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_CALL_ADAPTER</Trace>
      <Trace level="3" type="T">PLSRVTYPE = =SWITCH=</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">ELEMPOS = 0009</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_RESPONSE</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">FL_DUMMY =</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T" />
      <Trace level="1" type="Timestamp">2008-07-18T14:19:20Z CET Begin of pipeline processing PLSRVID = CENTRAL</Trace>
      <Trace level="1" type="T">Start with pipeline element PLEL= 5EC3C53B4BB7B62DE10000000A1148F5</Trace>
    - <Trace level="1" type="B" name="PLSRV_MAPPING_REQUEST">
      <Trace level="1" type="Timestamp">2008-07-18T14:19:20Z CET Start of pipeline service processing PLSRVID= PLSRV_MAPPING_REQUEST</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="3" type="T">Calling pipeline service: PLSRV_MAPPING_REQUEST</Trace>
      <Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_REQUEST</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
      <Trace level="3" type="T">P_CLASS = CL_MAPPING_XMS_PLSRV3</Trace>
      <Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
      <Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
      <Trace level="3" type="T">FL_LOG =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV">
      <Trace level="2" type="T">......attachment XI_Context not found</Trace>
      <Trace level="3" type="T">Mapping already defined in interface determination</Trace>
      <Trace level="3" type="T">Object ID of Interface Mapping 3CCA7AE76D3F33F19F8D7A8DAD494E65</Trace>
      <Trace level="3" type="T">Version ID of Interface Mapping C387A5F00F8B11DCAB84C751AAE12E82</Trace>
      <Trace level="1" type="T">Interface Mapping urn:abbott-com:US139 IM_US139_EmployeeData</Trace>
      <Trace level="3" type="T">Mapping Steps 1 JAVA com/sap/xi/tf/_MM_US139_EmployeeData_</Trace>
      <Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
      <Trace level="2" type="T">Mode 0</Trace>
      <Trace level="3" type="T">Creating Java mapping com/sap/xi/tf/_MM_US139_EmployeeData_.</Trace>
      <Trace level="3" type="T">Load c387a5f0-0f8b-11dc-ab84-c751aae12e82, urn:abbott-com:US139, -1, com/sap/xi/tf/_MM_US139_EmployeeData_.class.</Trace>
      <Trace level="3" type="T">Search com/sap/xi/tf/_MM_US139_EmployeeData_.class (urn:abbott-com:US139, -1) in swcv c387a5f0-0f8b-11dc-ab84-c751aae12e82.</Trace>
      <Trace level="3" type="T">Loaded class com.sap.xi.tf._MM_US139_EmployeeData_</Trace>
      <Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._MM_US139_EmployeeData_</Trace>
      <Trace level="2" type="T">Java mapping com/sap/xi/tf/_MM_US139_EmployeeData_ completed. (executeStep() of com.sap.xi.tf._MM_US139_EmployeeData_</Trace>
      <Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="Timestamp">2008-07-18T14:22:07Z CET End of pipeline service processing PLSRVID= PLSRV_MAPPING_REQUEST</Trace>
      </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
      <Trace level="3" type="T">Persisting message after plsrv call</Trace>
      <Trace level="3" type="T">Message-Version = 005</Trace>
      <Trace level="3" type="T">Message version 005</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </Trace>
    - <Trace level="1" type="B" name="PLSRV_OUTBOUND_BINDING">
      <Trace level="1" type="Timestamp">2008-07-18T14:22:12Z CET Start of pipeline service processing PLSRVID= PLSRV_OUTBOUND_BINDING</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="3" type="T">Calling pipeline service: PLSRV_OUTBOUND_BINDING</Trace>
      <Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_OUTBOUND_BINDING</Trace>
      <Trace level="3" type="T">PLSRVTYPE =</Trace>
      <Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
      <Trace level="3" type="T">P_CLASS = CL_XMS_PLSRV_OUTBINDING</Trace>
      <Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
      <Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
      <Trace level="3" type="T">FL_LOG =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_OUTBINDING-ENTER_PLSRV">
      <Trace level="2" type="T">O U T B O U N D - B I N D I N G</Trace>
      <Trace level="2" type="T">Cache Content is up to date</Trace>
      <Trace level="2" type="T">determine OUTBOUND BINDING for:</Trace>
      <Trace level="2" type="T">-QEHCLNT230</Trace>
      <Trace level="2" type="T">-BS_AIMS</Trace>
      <Trace level="2" type="T">urn:abbott-com:US139.MIIA_US139_EmployeeData</Trace>
      <Trace level="2" type="T">Channel found: - BS_AIMS - CC_BS_AIMS_File_Out_09</Trace>
      <Trace level="2" type="T">no header mapping defined</Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="Timestamp">2008-07-18T14:22:12Z CET End of pipeline service processing PLSRVID= PLSRV_OUTBOUND_BINDING</Trace>
      </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
      <Trace level="3" type="T">Persisting message after plsrv call</Trace>
      <Trace level="3" type="T">Message-Version = 006</Trace>
      <Trace level="3" type="T">Message version 006</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </Trace>
      <Trace level="1" type="B" name="PLSRV_CALL_ADAPTER" />
    - <!--  ************************************
      -->
      <Trace level="1" type="Timestamp">2008-07-18T14:22:18Z CET Start of pipeline service processing PLSRVID= PLSRV_CALL_ADAPTER</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">Calling pipeline service: PLSRV_CALL_ADAPTER</Trace>
      <Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_CALL_ADAPTER</Trace>
      <Trace level="3" type="T">PLSRVTYPE = =SWITCH=</Trace>
      <Trace level="3" type="T">ADRESSMOD = SD</Trace>
      <Trace level="3" type="T">P_CLASS =</Trace>
      <Trace level="3" type="T">P_IFNAME =</Trace>
      <Trace level="3" type="T">P_METHOD =</Trace>
      <Trace level="3" type="T">FL_LOG =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Unknown channel type: File</Trace>
      <Trace level="3" type="T" />
      <Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
      <Trace level="3" type="T">PLSRVID = PLSRV_CALL_ADAPTER</Trace>
      <Trace level="3" type="T">PLSRVTYPE = AENGINE</Trace>
      <Trace level="3" type="T">ADRESSMOD = SD</Trace>
      <Trace level="3" type="T">P_CLASS = CL_XMS_PLSRV_IE_ADAPTER</Trace>
      <Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
      <Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
      <Trace level="3" type="T">FL_LOG =</Trace>
      <Trace level="3" type="T">FL_DUMMY = 0</Trace>
      <Trace level="3" type="T" />
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_IE_ADAPTER-ENTER_PLSRV">
      <Trace level="3" type="T">Channel for adapter engine: File</Trace>
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-CALL_XMS_HTTP">
      <Trace level="2" type="T">old values in cache (no lock found) - start reading from SLD</Trace>
      <Trace level="1" type="T">error reading SAP_XIAdapterFramework from SLD</Trace>
      <Trace level="2" type="T">Adapter Framework(s) found</Trace>
      <Trace level="2" type="T">Service Port(s) found - take first one</Trace>
      <Trace level="2" type="T">URL found</Trace>
      <Trace level="2" type="T">Get logon data for adapter engine (SAI_AE_DETAILS_GET):</Trace>
      <Trace level="3" type="T">URL = http://sapqxh:52000/MessagingSystem/receive/AFW/XI</Trace>
      <Trace level="3" type="T">User = PIISUSER</Trace>
      <Trace level="3" type="T">Cached =</Trace>
      <Trace level="3" type="T">Creating HTTP-client</Trace>
      <Trace level="3" type="T">HTTP-client: creation finished</Trace>
      <Trace level="3" type="T">Security: Basic authentication</Trace>
      <Trace level="3" type="T">Serializing message object...</Trace>
      <Trace level="3" type="T">HTTP-client: sending http-request...</Trace>
      <Trace level="3" type="T">HTTP-client: request sent</Trace>
      <Trace level="3" type="T">HTTP-client: Receiving http-response...</Trace>
      <Trace level="3" type="T">HTTP-client: response received</Trace>
      <Trace level="3" type="T">HTTP-client: checking status code...</Trace>
      <Trace level="3" type="T">HTTP-client: status code = 200</Trace>
      <Trace level="3" type="T">Deserializing message object...</Trace>
      <Trace level="1" type="T">Empty response received!</Trace>
      <Trace level="3" type="System_Error">HTTP-client: error response=</Trace>
      <Trace level="3" type="T">HTTP-client: closing...</Trace>
      </Trace>
      </Trace>
      </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
      <Trace level="3" type="T">Persisting message after plsrv call</Trace>
      <Trace level="3" type="T">Message-Version = 007</Trace>
      <Trace level="3" type="T">Message version 007</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </Trace>
      <Trace level="3" type="System_Error">Error exception return from pipeline processing!</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">Persisting message Status = 014</Trace>
      <Trace level="3" type="T">Message version 008</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </SAP:Trace>

  • Missing parameter values message when exporting report

    Post Author: Gr_Pr
    CA Forum: .NET
    Using .NET 2005, CR XI R2, and the Crystal SDK for .NET 2005 to generate reports. Basically CR is my application's reporting tool. So, we create a report in CR XI R2, then distribute that report to our users loading it into the .NET application using the Report Document class.
    We have a small problem.
    Our user's have the ability to use pre-defined 'prompts' that will pass parameters to the reports. Let's say that the prompt will pass in (5) pre-defined parameter values, but the customer wants to run their own 'custom' report using our prompt, but their 'custom' report contains (6) parameters.
    If I let the Report Viewer load the report, the user will be prompted for the missing parameter value that was not supplied by the 'prompt'.
    If I run the report without loading it into the Viewer and try to export the report directly to PDF I receive an error message from CR stating I have 'Missing Parameter Values' then the report errors out.
    Has anyone come across this? Is there something I missed?
    I am not real sure as to why you would be prompted by the Viewer and not by the Export Class. This worked fine when using the RDC component, I was prompted for the missing parameter value by both options.
    Any help would be greatly appreciated.

    Hi,
    The report has it's own ADO Datasource set in crystal reports, so I just pass the log on information to the report object before doing anything else.
    this.DataSourceConnections[0].SetConnection("ServerName", "Database", "sa", "Password");
    I then do a refresh before applying the parameter values (I do this because the user can preview the report more than one time by using a preview button on the parameter form without re-loading the report object)
    this.Refresh();
    Then I set all parameter values followed by setting the recordselection formula.

  • MessageId missing in SOAP message header

    I am trying to execute a SAP (IDoc) -> XI -> SAP (ABAP Proxy). The SAP machines are 6.2, the XI machine is 6.4. I have generated and tested the ABAP proxy, works without issue. Per previous threads I also tested the message mapping in the repository, also works successfully. When I review the SXI_Monitor in XI, the message is received successfully, mapped successfully, but errors in the Adater Call step. There is no message listed as received in the sxi_monitor on the recevier SAP system. Error Message is as follows:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIProtocol</SAP:Category>
      <SAP:Code area="PARSER">ITEM_MISSING</SAP:Code>
      <SAP:P1>/MessageHeader/MessageId</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>XML tag /MessageHeader/MessageId missing in SOAP message header (SAP XI Extension)</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Looking at the message in the monitor it does have a message id assigned. Only other interesting thing is in the trace section where it says :
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
      <Trace level="1" type="System_Error">Error exception return from pipeline processing!</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    All other messages are successful in this persistence(send to file, Idoc, etc).
    What is the issue?

    Hi Darin,
    Check your receiver communication channel.  Make sure that the protocol is set to XI 2.0 for 6.2.
    Hope that helps.
    Best Regards,
    Doo

  • Envelope missing in SOAP message header (SAP XI Extension)

    I have scenario where in I am sending a file from XI to PCK. BUt i am getting a following error.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIProtocol</SAP:Category>
      <SAP:Code area="PARSER">ITEM_MISSING</SAP:Code>
      <SAP:P1>Envelope</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>XML tag Envelope missing in SOAP message header (SAP XI Extension)</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    I am enclosing the file i am trying to send.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:CFP_SENDER_MT xmlns:ns0="HTTP://PCKXI.WORLDBANK.ORG">
    - <SEND>
      <TF_Number>12</TF_Number>
      <TF_Desc>1212</TF_Desc>
      </SEND>
      </ns0:CFP_SENDER_MT>
    Can somebody please enlighten me about this error? Points would be rewarded immediately
    Regards,
    Manish

    Dear Manish,
    quite often the reason for this kind of error
    is the fact that the receiver of the XI message is
    returning a http response to the Integration Server.
    As of XI3.0 SP21 / PI7.0 SP13 this response
    is also properly parsed and visible in the error
    header of the XI message.
    For almost all prior support package levels an
    advanced correction is available as per OSS note:
    1064346 Improved error output for connection problems
    Please check whether this applies to your system.
    If so, you will see detailed information on the error
    in the error header object of the XI message as soon
    as this issue re-occurs.
    Best Regards,
    Harald Keimer
    XI Development Support
    SAP AG, Walldorf

  • Translated wire message missing some values

    Hi,
    I am enqueuing an EDIFACT xml to B2B out queue (IP_OUT_QUEUE) which is getting converted to wire message and delivered correctly. But the translated wire message is missing some values:
    UNH segment of EDIFACT xml:
    <Segment-UNH>
    <Element-0062>1</Element-0062>
    <Composite-S009>
    <Element-0065>ORDERS</Element-0065>
    <Element-0052>D</Element-0052>
    <Element-0054>07B</Element-0054>
    <Element-0051>UN</Element-0051>
    </Composite-S009>
    </Segment-UNH>
    Starting part of wire message:
    UNA:+.? 'UNB+UNOB:1+ + +100407:2354+1003'UNG+ORDERS+ + +100407:2354+1003+UN+D:07B'UNH+1+ORDERS'BGM+105:::?' ?'+GSIAP.WORLD?:oracle.apps.po.event.xm::?'
    In wire message, 'UNH+1+ORDERS' - this portion is not having values of Element-0052, Element-0054 and Element-0051. Why are this values ('D','07B','UN') missing in the translated wire message?
    How can I make them appear in wire message?
    Appreciate your help.
    Thanks in Advance,
    Siddhesh

    Hi Siddhesh,
    Check your ecs file. Possibly you have not defined these params in ecs file.
    Enable the validation then you will come to know exact issue.
    Rgds,
    Nitesh Jain

  • Changing the value of the SOAPElement in the SOAP message

    Now another problem I encountered was of overwriting a value in the SOAP message by my value. SOAPElement interface which extends Node interface provides me the method getValue() to get the value of the node but doesnt give me any method to set any other value instead of this.
    <token xsi:type="xsd:string">token123</token>
    I want to replace the value "token123" with my value.
    Is there no provision for altering a value in the SOAP message? Is this due to security contraints?
    If yes then can we detach the same node and add a similar node with the new value. I wanted to try the same using addChildElements() method but then the problem here is how do I create a new SOAPElement in the handler as its an interface and not a class. Why I want to add a similar node is because I am having the definition of this object in the WSDL file, so if I attach the node corresponding to the parameter of the object then I would get the object populated with this value at J2EE or .net layer.
    Also I thought of adding an attribute to the same node but then since this attribute will not be defined in the WSDL, the value of this attribute will not populate the java object at the J2EE layer. Hence attribute introduction also didnt help.
    This is the userData object in the soap body:
    </q1:FetchDetailsInput><q2:UserData xmlns:q2="java:com.anthem.enb.common.data" xsi:type="q2:UserData" id="id2">
    <password xsi:type="xsd:string">12345</password>
    <token xsi:type="xsd:string">token123</token>
    <userID xsi:type="xsd:string">vikas123</userID>
    </q2:UserData>
    This is my code to extract the values from the above message:
    Iterator i = ctx.getMessage().getSOAPPart().getEnvelope().getBody().getChildElements();
    System.out.println(" i.hasNext() =" + i.hasNext());
    while (i.hasNext())
    Object obj = i.next();
    System.out.println(" obj :" + obj.getClass());
    if (obj instanceof SOAPElement)
    SOAPElement e = (SOAPElement) obj;
    System.out.println("e :" + e);
    String operationName = e.getElementName().getLocalName();
    LOG.info(CLASS_NAME + "operationName :" + operationName);
    if (operationName.equals("UserData"))
    Iterator j = e.getChildElements();
    LOG.info(CLASS_NAME + " j.hasNext() : " + j.hasNext());
    while (j.hasNext())
    Object obj2 = j.next();
    LOG.info(CLASS_NAME + " obj2 :" + obj2);
    LOG.info(CLASS_NAME + " obj2 :" + obj2.getClass());
    if (obj2 instanceof SOAPElement)
    SOAPElement eGrandChild = (SOAPElement) obj2;
    String operationName2 =
    eGrandChild.getElementName().getLocalName();
    if (operationName2.equals("userID"))
    String strPass = eGrandChild.getValue();
    LOG.info(CLASS_NAME + " strPass:" + strPass);
    else if (operationName2.equals("password"))
    String strUserID = eGrandChild.getValue();
    LOG.info(CLASS_NAME + " strUserID:" + strUserID);
    else if (operationName2.equals("token"))
    String strToken = eGrandChild.getValue();
    Please help.

    how do I create a new SOAPElement in the handler as its an interface and not a class?Here is an example:
    <example>
    MessageFactory messageFactory = MessageFactory.newInstance();
    SOAPMessage m = messageFactory.createMessage();
    SOAPEnvelope env = m.getSOAPPart().getEnvelope();
    SOAPBody body = env.getBody();
    SOAPElement fResponse =
    body.addBodyElement(env.createName("fResponse"));
    fResponse.addAttribute(env.createName("encodingStyle"),
    "http://schemas.xmlsoap.org/soap/encoding/");
    SOAPElement result =
    fResponse.addChildElement(env.createName("result"));
    result.addTextNode("test");
    ctx.setMessage(m);
    </example>
    Jong

  • Missing some value of Message Notification from WorkCenter

    Hi Expert,
    I have scenario when user create message notification from workcenter, it will be send mail automatically to the user (mail account) in status new and I have successfully create it.
    And the issue is =
    When i preview the message from the transaction (from menu action), it will display the whole message.
    But when user received the message via mail account, some value from the message is miss (not whole message will be appear)
    Could anyone help me how to solve this issue?
    Regards,
    Rhesa Syahrial

    I just used to have stalonetray running at the bottom of my screen. I made its height small enough to fit along with my conky 16px I think it was. Doesn't take up too much space.
    Since I switched to i3, I find its better to just not use trays as I can simply assign a whole workspace for skype and so I don't need any tray.

  • SOAP Messaging Missing

    Hi buddies,
         Have you ever been suffering from missing messages of SOAP sender adapter?
         The java sender program shows that the messaging has been delivered to XI SOAP adapter successfully, but I cannot find it in neither adapter engine, nor integration engine.
         BTW, our clients use the XFire technology to generate the soap message and send it without any exception to be throw out.
         Any suggestions?
    YiNing

    if I want to use SOAP sender adapter in asynchronous senario, is there any method that can be used to avoid this issue?
    I've been suffering this from gSOAP which using C++, XFire which using Java in different projects.
    I found these tools determines whether the receiver system have accepted the soap message by getting the http code 200.
    Edited by: YiNing Mao on Jan 29, 2008 5:33 PM

  • WLS 7.0 sp2 - Servlet Problems with SOAP messages

              I'm using Weblogic 7.0 SP2 and trying to create a Servlet to receive SOAP wrapped
              XML messages. I'm getting the following error. Is this a problem with WLS7.0sp2's
              support of JAXM? The System.out.println's indicate I have successfully received
              the incoming SOAP request and then successfully formatted the SOAP response, but
              upon returning saving the response it appears to blow up. Does anyone have any
              suggestions?
              I need to do the following in a servlet:
              - receive an incoming SOAP request with an embedded XML message
              - perform some processing
              - return a SOAP response with an embedded XML message
              Should I be using JAXM? Or can I do this same task easily with JAX-RPC?
              <Feb 24, 2004 4:10:42 PM AST> <Error> <HTTP> <101017> <[ServletContext(id=260434
              7,name=isd.war,context-path=)] Root cause of ServletException
              java.lang.Error: NYI
              at weblogic.webservice.core.soap.SOAPMessageImpl.saveRequired(SOAPMessag
              eImpl.java:360)
              at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
              (ServletStubImpl.java:1058)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:401)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:306)
              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
              n.run(WebAppServletContext.java:5445)
              at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
              eManager.java:780)
              at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
              rvletContext.java:3105)
              at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
              pl.java:2588)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
              >
              I've stripped the code down so that all it does is verifies the incoming SOAP/XML
              request and creates a hard-coded response... be gentle... I'm a novice at this
              import javax.xml.soap.*;
              import javax.servlet.*;
              import javax.servlet.http.*;
              // import javax.xml.transform.*;
              import java.util.*;
              import java.io.*;
              public class RegisterServlet extends HttpServlet
              static MessageFactory fac = null;
              static
              try
              fac = MessageFactory.newInstance();
              catch (Exception ex)
              ex.printStackTrace();
              public void init(ServletConfig servletConfig) throws ServletException
              super.init(servletConfig);
              public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
              IOException
              try
              System.out.println("** Note: doPost() Entering req = " + req);
              // Get all the headers from the HTTP request
              MimeHeaders headers = getHeaders(req);
              // Get the body of the HTTP request
              InputStream is = req.getInputStream();
              // Now internalize the contents of a HTTP request
              // and create a SOAPMessage
              SOAPMessage msg = fac.createMessage(headers, is);
              System.out.println("** Note: doPost() Step A");
              SOAPMessage reply = null;
              reply = onMessage(msg);
              System.out.println("** Note: doPost() Step B reply = " + reply);
              if (reply != null)
              * Need to call saveChanges because we're
              * going to use the MimeHeaders to set HTTP
              * response information. These MimeHeaders
              * are generated as part of the save.
              if (reply.saveRequired())
              System.out.println("** Note: doPost() Step C reply.saveRequired()");
              reply.saveChanges();
              resp.setStatus(HttpServletResponse.SC_OK);
              putHeaders(reply.getMimeHeaders(), resp);
              // Write out the message on the response stream
              OutputStream os = resp.getOutputStream();
              System.out.println("** Note: doPost() Step D os = " + os);
              reply.writeTo(os);
              os.flush();
              else
              resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
              catch (Exception ex)
              throw new ServletException("** Error: SAAJ POST failed: " + ex.getMessage());
              static MimeHeaders getHeaders(HttpServletRequest req)
              Enumeration enum = req.getHeaderNames();
              MimeHeaders headers = new MimeHeaders();
              while (enum.hasMoreElements())
              String headerName = (String)enum.nextElement();
              String headerValue = req.getHeader(headerName);
              StringTokenizer values =
              new StringTokenizer(headerValue, ",");
              while (values.hasMoreTokens())
              headers.addHeader(headerName,
              values.nextToken().trim());
              return headers;
              static void putHeaders(MimeHeaders headers, HttpServletResponse res)
              Iterator it = headers.getAllHeaders();
              while (it.hasNext())
              MimeHeader header = (MimeHeader)it.next();
              String[] values = headers.getHeader(header.getName());
              if (values.length == 1)
              res.setHeader(header.getName(),
              header.getValue());
              else
              StringBuffer concat = new StringBuffer();
              int i = 0;
              while (i < values.length)
              if (i != 0)
              concat.append(',');
              concat.append(values[i++]);
              res.setHeader(header.getName(), concat.toString());
              // This is the application code for handling the message.
              public SOAPMessage onMessage(SOAPMessage message)
              SOAPMessage replymsg = null;
              try
              System.out.println("** Note: OnMessage() Entering msg = " + message);
              //Extract the ComputerPart element from request message and add to reply SOAP
              message.
              SOAPEnvelope reqse = message.getSOAPPart().getEnvelope();
              SOAPBody reqsb = reqse.getBody();
              //System.out.println("** Note: OnMessage() Step B");
              System.out.println("** Note: OnMessage () Step A Soap Request Message Body = "
              + reqsb);
              //Create a reply mesage from the msgFactory of JAXMServlet
              System.out.println("** Note: OnMessage () Step B");
              replymsg = fac.createMessage();
              SOAPPart sp = replymsg.getSOAPPart();
              SOAPEnvelope se = sp.getEnvelope();
              SOAPBody sb = se.getBody();
              System.out.println("** Note: OnMessage () Step C Soap Reply Before Message Body
              = " + sb);
              se.getBody().addBodyElement(se.createName("RegisterResponse")).addChildElement(se.createName("ErrorCode")).addTextNode("000");
              System.out.println("** Note: OnMessage () Step D Soap Reply After Message Body
              = " + sb);
              replymsg.saveChanges();
              System.out.println("** Note: OnMessage() Exiting replymsg = " + (replymsg));
              catch (Exception ex)
              ex.printStackTrace();
              return replymsg;
              

    Michael,
    I got the same error on WLS8.1/Win2K professional and apache FOP (old version).
    After digging into the WLS code and FOP(old version). i found the conflict happens
    on
    the "org.xml.sax.parser" system property. In WLS code, they hard coded like the
    following when startup weblogic server:
    System.setProperty("org.xml.sax.parser", "weblogic.xml.jaxp.RegistryParser");
    But the FOP code try to use the "org.xml.sax.parser" system property to find the
    sax parser then conlict happens.
    Here is the response from BEA support :
    "I consulted with our developers regarding the question of whether we can change
    the hard-coded value for the java system property: org.xml.sax.parser by using
    a configuration parameter and I found that unfortunately there is no specific
    setting to change the value. As you had mentioned in your note the org.xml.sax.parser
    system property can be changed programmatically in your application code."
    I solve my problem by using newer apache FOP (it never use the system property:org.xml.sax.parser
    any more) and XML Registy for WLS8.1.
    Good luck.
    David Liu
    Point2 Technologies Inc.
    "p_michael" <[email protected]> wrote:
    >
    Help.
    When we migrated from WLS 6.1 to WLS 7.0 SP2 when encountered a problem
    with XML
    parsing that did not previously exist.
    We get the error "weblogic.xml.jaxp.RegistryParser is not a SAX driver".
    What does this mean? And, what should we do about it.
    p_michael

  • PayPal integration using SOAP messages

    Hello,
    for a integration scenario we want to call a PayPal SOAP API as described in https://www.x.com/docs/DOC-1244.
    The PayPal safety requirements are fullfilled by giving a Username, Password and Signature in the SOAP Header:
    <SOAP-ENV:Header>     
      <RequesterCredentials xmlns=u201Durn:ebay:api:PayPalAPIu201D xsi:type=u201Debl:CustomSecurityHeaderTypeu201D>          
       <Credentials xmlns=u201Durn:ebay:apis:eBLBaseComponentsu201D xsi:type=u201Debl:UserIdPasswordTypeu201D>                       
        <Username>api_username</Username>               
        <Password>api_password</Password>              
        <Signature>api_signature</Signature>               
        <Subject>authorizing_account_emailaddress</Subject>         
       </Credentials>    
      </RequesterCredentials>
    </SOAP-ENV:Header>
    I have given the three values as Adapter-Specific Message Attributes filled by UDF in Message Mapping.
    The filled values are also visible in monitoring in section DynamicConfiguration.
    SOAP Adapter: http://s3.directupload.net/file/d/2127/r8y4aywt_jpg.htm
    Monitoring: http://s5.directupload.net/file/d/2127/cqvfds35_jpg.htm
    But PayPal responded:
    Authentication/Authorization Failed
    You do not have permissions to make this API call
    My credentials are ok. I have tested it within the PayPal NVP API Tester: http://www.shopsandbox.de/PayPal/Refund/ .
    How do I have to manipulate the SOAP header for a successful SOAP API call?
    Is it necessary also to insert the nodes ?
    If yes, how?
    Thanks in advance,
    André

    Hi,
    I´ve created the whole SOAP message in Message Mapping and changed the SOAP receiver adapter sending the message without envelope. But the response is:
    ADAPTER.HTTP_EXCEPTION
    HTTP 500 Internal Server Error
    <?xml version="1.0" encoding="UTF-8"?>
    <Envelope>
    <Header>
      <RequesterCredentials>
       <Credentials>
         <Username>xxxxx</Username>
         <Password>xxxx</Password>
         <Signature>xxxxxx</Signature>
         </Credentials>
       </RequesterCredentials>
      </Header>
      <Body>
       <RefundTransactionReq>
        <RefundTransactionRequest>
         <Version>54.0</Version>
         <TransactionID>xxxxxxxxx</TransactionID>
         <InvoiceID>222222</InvoiceID>
         <RefundType>Partial</RefundType>
        <Amount>1</Amount>
        <Memo>memotext</Memo>
       </RefundTransactionRequest>
      </RefundTransactionReq>
    </Body>
    </Envelope>
    Have I missed sth?
    Thanks,
    André

  • Signing a soap message seems to not work in jwsdp14

    I'm trying to sign a soap message according to the latest oasis specifications (http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf) using the libraries provided with jwsdp14 (mainly xmlsec.jar).
    As far as I know, there is not yet documention/example about this specific issue.
    The following is the code I have to sign a soap message: it seems to work fine because the signed soap message respects the above specifications... but what I notice is that the digest and the signature values it contains are always the same, I mean: if i change the source soap message, the signed soap message in output is always the same!
    Any clue??
    import com.sun.org.apache.xml.security.Init;
    import com.sun.org.apache.xml.security.signature.XMLSignature;
    import com.sun.org.apache.xml.security.transforms.Transforms;
    import com.sun.org.apache.xml.security.utils.Constants;
    import com.sun.xml.wss.*;
    import com.sun.xml.wss.reference.DirectReference;
    import org.w3c.dom.Document;
    import javax.xml.soap.SOAPHeader;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.soap.SOAPBody;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.security.PrivateKey;
    import java.security.cert.X509Certificate;
    public class Main {
    public static void main(String[] args) {
    // The file from which we will load the sample SOAP message
    String fileName = "F:\\SampleSoapMessage.xml";
    // Store the WSSE signed message here
    String signatureFileName = "F:\\SignedSampleSoapMessage.xml";
    try {
    // Initialize the apache libraries
    Init.init();
    // Obtain security elements from the keystore
    PrivateKey privateKey = MySecurityUtils.getPrivateKey();
    X509Certificate cert = MySecurityUtils.getCertificate();
    // Obtain a sample SOAPMessage from a file
    FileInputStream fis = new FileInputStream(new File(fileName));
    Document doc = XMLUtil.toDOMDocument(fis);
    SOAPMessage message = MyFileUtils.getMessageFromFile(doc);
    SOAPHeader header = message.getSOAPHeader();
    SOAPBody body = message.getSOAPBody();
    // Set the wsu:Id attribute to the Body
    XMLUtil.setWsuIdAttr(body, "MyId");
    // Create a WSSE context for the SOAP message
    SecurableSoapMessage sssm = new SecurableSoapMessage(message);
    // Create a security header for the message (<wsse:Security>)
    SecurityHeader sh = sssm.findOrCreateSecurityHeader();
    // Insert the certificate (<wsse:BinarySecurityToken>)
    X509SecurityToken stoken = new X509SecurityToken(header.getOwnerDocument(), cert, "X509TokenRef");
    sh.insertHeaderBlock(stoken);
    // Insert the keyinfo referring to the certificate (<ds:KeyInfo>)
    KeyInfoHeaderBlock kihb = new KeyInfoHeaderBlock(header.getOwnerDocument());
    SecurityTokenReference secTR = new SecurityTokenReference(header.getOwnerDocument());
    DirectReference dirRef = new DirectReference();
    dirRef.setURI("#X509TokenRef");
    secTR.setReference(dirRef);
    kihb.addSecurityTokenReference(secTR);
    //sh.insertHeaderBlock(kihb);
    // Insert the Signature block (<ds:Signature>)
    SignatureHeaderBlock shb = new SignatureHeaderBlock(header.getOwnerDocument(), XMLSignature.ALGO_ID_SIGNATURE_RSA);
    Transforms transforms = new Transforms(header.getOwnerDocument());
    transforms.addTransform(Transforms.TRANSFORM_C14N_EXCL_OMIT_COMMENTS);
    shb.addSignedInfoReference("#MyId", transforms, Constants.ALGO_ID_DIGEST_SHA1);
    shb.addChildElement(kihb.getAsSoapElement());
    sh.insertHeaderBlock(shb);
    // Digest all References (#MyId) in the SignedInfo, calculate the signature value
    // and set it in the SignatureValue Element
    shb.sign(privateKey);
    // Add the signature data to the header element
    header.addChildElement(sh.getAsSoapElement());
    // Save the signed SOAP message
    FileOutputStream fos = new FileOutputStream(new File(signatureFileName));
    message.writeTo(fos);
    message.writeTo(System.out);
    } catch (Exception exc) {
    exc.printStackTrace();
    System.out.println("An error has occurred : " + exc.toString());
    PS: Classes MySecurityUtils and MyFileUtils are not included since they have nothing interesting.
    The sample input sopa message is:
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    <Intestazione>
    </Intestazione>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    and the output signed sample message is:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
    <wsse:Security SOAP-ENV:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <ds:Reference URI="#MyId">
    <ds:Transforms>
    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    </ds:Transforms>
    <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
    <ds:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>
    YdKNSPWnx630AYeZ6AXVco1b0RMo8C3WWbziq7C009gg4nhknEZmH0ds78y328SgAlAAVR6Swwok
    HE3OWgL8TZ1Ks0IimmmDd8/XIb2KlfiqnUNtTjGjUn9FLQEv/CMbmrCr7EO9rf/N+0cyAyGzrKo5
    ieEQhtZy9uZAKh2mrmM=
    </ds:SignatureValue>
    <ds:KeyInfo>
    <wsse:SecurityTokenReference>
    <wsse:Reference URI="#X509TokenRef"/>
    </wsse:SecurityTokenReference>
    </ds:KeyInfo></ds:Signature><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="X509TokenRef">MIIDITCCAsugAwIBAgIQIdu5EMFuQntM5IBOMeFcETANBgkqhkiG9w0BAQUFADCBqTEWMBQGA1UE
    ChMNVmVyaVNpZ24sIEluYzFHMEUGA1UECxM+d3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5L1Rl
    c3RDUFMgSW5jb3JwLiBCeSBSZWYuIExpYWIuIExURC4xRjBEBgNVBAsTPUZvciBWZXJpU2lnbiBh
    dXRob3JpemVkIHRlc3Rpbmcgb25seS4gTm8gYXNzdXJhbmNlcyAoQylWUzE5OTcwHhcNMDQwODA1
    MDAwMDAwWhcNMDQwODE5MjM1OTU5WjBhMQswCQYDVQQGEwJJVDENMAsGA1UECBMEUk9NQTENMAsG
    A1UEBxQEcm9tYTEOMAwGA1UEChQFaXNzcGExDjAMBgNVBAsUBWNoaWVmMRQwEgYDVQQDFAt3d3cu
    dGVzdC5pdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtIsomDk9VthgMorPmG0dAwqLtTBi
    U69liwopwrnAbtzIiO56R9yh4tXvG9+QWtEFRcDHVwWi9YdaHQFCvjymnNYDUHkpJsWp11nIAfOA
    k+d9v1YDje4S6oba7tsIJSEkUu7LQ888Q3cGt/KUaEu6b0lZJ5zY9slK0onUPeTB3e8CAwEAAaOB
    0TCBzjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3Js
    LnZlcmlzaWduLmNvbS9TZWN1cmVTZXJ2ZXJUZXN0aW5nQ0EuY3JsMFEGA1UdIARKMEgwRgYKYIZI
    AYb4RQEHFTA4MDYGCCsGAQUFBwIBFipodHRwOi8vd3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5
    L1Rlc3RDUFMwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA0EA
    Y66OqTOpHcpNUPlD4A38s8bPIIjrf+C+Wv08lUj+DGN5pm+gBWdbWEGaQmqU8fPPtGrQnHz2NAUr
    ZmLaEw/qKw==</wsse:BinarySecurityToken></wsse:Security></SOAP-ENV:Header>
    <SOAP-ENV:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="MyId">
    <aTag>
    <aChild>a value</aChild>
    </aTag>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    NOTE: Check the value of <ds:SignatureValue> and <ds:DigestValue>: they never change even if I change the body of the source message.

    Quoting Farrukh's reply to this question on java.net -
    I can share some examples of how I have used JWSDP 1.4 and XML DSIG API to sign and verify a "standalone" soap message with and without mime attachments.
    Please see the following Utility class written for the freebXML Registry project [1] for an example of how to do what you seek:
    http://cvs.sourceforge.net/viewcvs.py/ebxmlrr/omar/src/java/org/freebxml/omar/common/security/SecurityUtil.java?view=markup
    See methods signSOAPMessage(...), signPayload(...), verifySOAPMessage(...) and verifyPayloadSignature(...)
    What you are trying to do is definitely doable and has been done with JWSDP 1.4. In my experience XML DSIG API met my needs very well.
    Best of luck.
    [1] freebXML Registry Project:
    http://ebxmlrr.sourceforge.net
    ---------------------------------------------------------------------------------

Maybe you are looking for