Extract SOAP Header from JMS Adapter PartnerLink

Hi Chintan,
I have next problem:
I have a JMS queue. The message in this queue are "SOAP Message" with Body and SOAP Header.
I have developed a "BPEL JMS service" with a JMS Adapter PartnerLink.I need extract SOAP Header from PartnetLink JMS Adapter, but with headerVariable into "Receive activity" it´s not work OK.
Could anybody help me with this problems?
Thanks a lot.
Regards.

HI,
Try your luck at this link
http://orasoa.blogspot.com/2007/09/using-custom-headers-in-bpel.html

Similar Messages

  • Can't receive headers from JMS Adapter - "Variable is not initialized"???

    I'm using JDeveloper Studio 10.1.3.4.0.4270 to try to build a BPEL process that is initiated by a JMS Adapter. I want this process to access the headers of the incoming message. Despite what Adapter Technical Note #005 says, JDeveloper says I can't do it! Despite the fact that the Receive activity is set up to store the header to a variable, JDeveloper says the variable is not initialized when I try to access it. (At least this is consistent with BPEL Process Manager's behavior -- the runtime also says it's not initialized.) In the following simple code, it looks initialized to me. What am I missing? Thanks.
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
      Oracle JDeveloper BPEL Designer
      Created: Mon Jun 22 18:10:17 CDT 2009
      Author:  memeyer
      Purpose: Empty BPEL Process
    -->
    <process name="BPELHello3" targetNamespace="http://xmlns.oracle.com/BPELHello3"
             xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
             xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
             xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
             xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/jms/ToHello3/"
             xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/jms/"
             xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
             xmlns:client="http://xmlns.oracle.com/BPELHello3"
             xmlns:ora="http://schemas.oracle.com/xpath/extension"
             xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
      <!--
          PARTNERLINKS                                                     
          List of services participating in this BPEL process              
      -->
      <partnerLinks>
        <partnerLink myRole="Consume_Message_role" name="ToHello3"
                     partnerLinkType="ns1:Consume_Message_plt"/>
      </partnerLinks>
      <!--
          VARIABLES                                                       
          List of messages and XML documents used within this BPEL process
      -->
      <variables>
        <variable name="inputVariable"
                  messageType="ns1:BPELHello2ProcessResponse_msg"/>
        <variable name="header" messageType="ns2:InboundHeader_msg"/>
      </variables>
      <!--
         ORCHESTRATION LOGIC                                              
         Set of activities coordinating the flow of messages across the   
         services integrated within this business process                 
      -->
      <sequence name="main">
        <receive name="Receive_1" partnerLink="ToHello3"
                 portType="ns1:Consume_Message_ptt" operation="Consume_Message"
                 variable="inputVariable" createInstance="yes"
                 bpelx:headerVariable="header"/>
        <assign name="Assign_1">
          <copy>
            <from variable="header" part="inboundHeader"
                  query="/ns2:JMSInboundHeadersAndProperties/ns2:JMSInboundProperties"/>
            <to variable="header" part="inboundHeader"
                query="/ns2:JMSInboundHeadersAndProperties/ns2:JMSInboundProperties"/>
          </copy>
        </assign>
        <bpelx:exec name="Java_Embedding_1" language="java" version="1.3">
          <![CDATA[/*Write your java code below e.g. 
         System.out.println("Hello, World");
    System.out.println("Hello, Whatever");]]>
        </bpelx:exec>
      </sequence>
    </process>

    Hi,
    Your code looks correct to me. However, you should name your durable subscriber: topicSession.createDurableSubscriber(topic, "myDurableSubscriber");
    Then it should be possible to use your JMS provider administration API to check that your durable subscriber is registered with your topic. Once the durable subscriber is registered it will start receiving message.
    To double check that your code is correct, you should test your code with another provide.
    Hope this helps
    Arnaud
    www.arjuna.com

  • Oracle ESB 10g : Blank namespace in the SOAP Response from DB adapter

    Hi All,
    I am currently working on a ESB project to route input XML file as a parameter to a DB Function.
    This Function has a input parameter of type XMLTYPE and returns VARCHAR2 values.
    I have configured the DB Adapter to invoke this function and return the result as a SOAP response.
    The WSDL of DB adapter contains XML_DATA as input and XMLMAIN as the output result.
    The ESB project works fine as expected. But in the result from DB adapter contains a blank namespace [xmlns=""] for the XMLMAIN element .
    I hereby attach the output XML.
    Please help how to remove this blank namespace from the output.
    We are using SOA Suite 10g 10.1.3.5
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/XXWEB/XMLMISCRCPTINSERTPKG/XMLMAIN/">
    <OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <XMLMAIN xmlns="">100</XMLMAIN>
    </OutputParameters>
    </env:Body>
    </env:Envelope>
    Thanks and Regards,
    Justin Michael Raj

    well..the problem is..the db adapter has it's own transaction..so the transactions fails or not.
    you're just not capable of checking if the transaction went ok...and return 'process completed ok' or when the transaction failed for some reason return 'the process aborted'.
    So you just need some extra steps for it to be able to return some response-message

  • Remove XI-part of SOAP Header in Axis Adapter

    Hi folks!
    We are running a PI 7.11 and use the SOAP Axis Sender Adapter in a synchronous SOAP Web Service scenario. Our challenge is that in our response we definitely need a SOAP Header tag, but it should be empty like this <soapenv:Header/> or this <soapenv:Header></soapenv:Header>
    We tried to achieve this with the Axis Handler com.sap.aii.axis.soap.HeaderRemovalHandler. But regardless of the parameters we provide to this handler it always removes the complete SOAP Header. On sample is to remove the PI-specific Main header tag from SOAP Header:
    name.1=Main
    namespace.1=http://sap.com/xi/XI/Message/30
    We also tried it only with namespace. But always the same sh... happens: The SOAP Header is removed completely.
    Any ideas?
    Thanx very much in advance!
    Regards,
    Volker

    Hi Stefan!
    Thanx for your reply. We found that Axis handler mentionedby me in SAP Note 1039369 "FAQ XI Axis Adapter" .
    But please tell me how to parameterize the java:com.sap.aii.axis.xi.XI30InboundHandler to ensure that the XI part of SOAP header is removed, but not the complete SOAP header.
    Thanx in advance!
    Regards,
    Volker

  • Getting SOAP Header from Bytes

    Hi,
    I am fairly new to SAAJ. I have a MDB which is dequeing JMS BytesMessage. Below is the code piece:
        if (inMessage instanceof BytesMessage) {
                    // retrieve the object
                    msg = (BytesMessage)inMessage;
                    byte load = msg.readByte();  
          ....             Now I want to be able to cast this byte to SOAP message and retrive the SOAP header say using SAAJ. Fyi, here is the beginning of my message
    <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
         <soapenv:Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
              <wsa:MessageID>GES-6b05eb12e07804b6e54089beb6122767874ae</wsa:MessageID>
    Could you please show me how to tackle this?
    Thanks in advance,
    Mustafa

    I have had no problem calling an external web service from a JCD in 5.1.2 I have been able to access and set the fields of the header portion of this external web service as long as the WSDL for the web service has used an explicit header description. If the WSDL contains and implicit header (the header is described as a separate message) I have not been successful getting visibility to the header. See http://www.softwaresummit.com/2005/speakers/TostPracticalLessonsLearnedInWebServicesDesign.pdf pages 30 - 32 it has a nice summary about the difference for header descriptions. If CAPS is cooperating with you, you should be able to import the WSDL for the external web service, create a JCD that is going to call the web service, include the OTD for the web service in your JCD and then just follow the instructions in the eGate users guide to fire off the invoke of the web service.

  • Calling Web Service with SOAP header from BPEL

    Hi,
    I am calling a web service (with header information) from BPEL. In the Invoke activity, i created a header variable to pass the header information.
    But, when i test the BPEL service, invoke activity fails because the header information is not being passed.
    Below is the error message (copied from clipboard).
    +<messages><input><Invoke_1_getsubinfo_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters"><getsubinfoElement xmlns="http://ws/its/tabs/webservices/SingleRowWS/SingleRowWS.wsdl">+
    +<pSubnoin>+
    +<insubno>12345678</insubno>+
    +</pSubnoin>+
    +</getsubinfoElement>+
    +</part></Invoke_1_getsubinfo_InputVariable></input><fault><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>exception on JaxRpc invoke:+
    start fault message:+
    Internal Server Error (Caught exception while handling request: javax.xml.rpc.JAXRPCException: Not authenticated user)+
    *:end fault message*</summary>
    +</part></bindingFault></fault></messages>+
    As said, no header information is visible in the Invoke activity.
    Please provide help for the above issue.
    -MJ

    Hello Patrick,
    Thanks for the response. I am using normal assign activity to assign values to the header variable as shown below. HeadMT is the header variable which is passed in the invoke activity.
    +<assign name="Assign_Header">+
    +<copy>+
    +<from expression="'tkl12'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:USER_NAME" variable="*HeadMT*"+
    part="payload"/>
    +</copy>+
    +<copy>+
    +<from expression="'tkl123'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:PASSWORD" variable="*HeadMT*"+
    part="payload"/>
    +</copy>+
    +<copy>+
    +<from expression="'TKL'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:CHANNEL_ID" variable="*HeadMT*"+
    part="payload"/>
    +</copy>+
    +</assign>+
    The expected input by the web service is as below with the header information highlighted.
    +<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws/webservices/RowWS/RowWS.wsdl">+
    +*<soap:Header>*+
    +*<ns1:LOGIN_INFO>*+
    +*<ns1:USERNAME>tkl12</ns1:USERNAME>*+
    +*<ns1:PASSWORD>tkl123</ns1:PASSWORD>*+
    +*<ns1:CHANNEL_ID>TKL</ns1:CHANNEL_ID>*+
    +*</ns1:LOGIN_INFO>*+
    +*</soap:Header>*+
    +<soap:Body>+
    +<ns1:substatusElement>+
    +<ns1:pInparam>+
    +<ns1:insubno>7674988</ns1:insubno>+
    +</ns1:pInparam>+
    +</ns1:substatusElement>+
    +</soap:Body>+
    +</soap:Envelope>+

  • Query reg adding custom tags in SOAP Header - AXIS Receiver Adapter

    Hi All,
    I need to send custom tags as mentioned below to my traget webservice application. I think I can do this with Receiver AXIS adapter but not sure how it can be done. Can any of you suggest?
                                                  <WSContext>
                   <FromAppId>ABC</FromAppId>
                   <ToAppId>XYZ</ToAppId>
              </WSContext>
    Thanks,

    If you want to add custom tags in the soap header, one possible solution is use XSLT mapping or Java mapping to create header first then do message mapping for mapping the payload structure between your source and target  as usual.
    So in operation mapping you sequence mapping like this... first XSLT mapping for custom tags for the SOAP Header followed by payload mapping.
    Hope that helps.
    Search SDN for XSLT Mapping for soap header. Already we have handled these issues.

  • How to set the Correlation ID in Oracle Q from JMS Adapter

    Hi,
    I'm using a JMS Adapter on my BPEL process to push messages to an Oracle instance in another machine.
    While testing, I could see that a message is posted on the Q table, but the Correlation ID is null.
    How is the correlation ID on the Q set from the adapter? IDeally I want this ID dynamic to be unique.
    Is this something st on the Invoke activity to the jms adapter, i.e., the Correlations tab, or is that
    unrelated altogether.
    Thanks,
    Ramon

    Found the solution.
    On the Invoke activity, I set the property jca.jms.JMSCorrelationID to a variable I created.
    I set my variable to string appended with sysdate to make it unique.

  • Special Characters not showing correctly in XI from JMS Adapter.

    Hi All,
    Scenario: IBM Websphere MQ->XI->CRM (RFC Adapter)
    We have a flat file being picked up by JMS adapter and content conversion is done. The scenario works fine except when specific swedish alphabets appear in the flat file. When i checked in XI, these characters appear as rubbish characters.
    I understand that we need to use CCSID and put the value 00819 in the CCSID of Destination field for the Comm Channel. However i still did not have any luck after changing this field. Do i need to flush my queues and restart MQ?
    Does anyone have any idea what i am missing?
    Message was edited by:
            lookman

    Hi Lookman,
    We need to make sure that the conversion to UFT-8 is done correctly, I see that as a potential cause. So first, stop the communication channel in XI, send a test file and download it from the Queue manger where XI is supposed to read the message from (using a tool like RFHUtil).
    Then use a code page detector tool (http://cpdetector.sourceforge.net/) to make sure that the data is indeed in UTF-8.
    By the way, the destination code page field in a Sender communication channel has no effect(http://help.sap.com/saphelp_nw04s/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm).
    cheers
    danus

  • Issues with SOAP output from our adapter.

    Hi,
    I have a supplier who is building a SOAP processor. To do this I streamed the output to them and they reviewed it. A number of things were pointed out and I wanted to know if there was a way for me to resolve them. The message is below. I am not a MIME/SOAP guru but they think the output does not follow W3C standards.
    1) The Content-Type in MIME header should be multipart/related; type="text/xml"; since attachments are included.
    2)The entire actual MIME message is 7 bit encoded. We are expecting to see that the SOAP message is 7 bit encoded and each attachment is base64 encoded.
    3) The SOAP message is missing xml header <?xml version="1.0" encoding="UTF-8"?> in the actual MIME message.
    Any thoughts are apprieciated
    Message-ID: <11922341.1155159668324.JavaMail.webmethods@exshaw>
    MIME-Version: 1.0
    Content-Type: text/xml; charset=utf-8
    content-transfer-encoding: 7bit
    --SAP_c4faf651-27ef-11db-a170-0014c258bd93_END: --SAP_c4faf651-27ef-11db-a170-0014c258bd93_END
    Content-ID: <[email protected]>
    Content-Disposition: attachment;filename="[email protected]"
    - Hide quoted text -
    Content-Description: SOAP
    <SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'><SOAP:Header><sap:ReliableMessaging xmlns:sap='http://sap.com/xi/XI/Message/30' SOAP:mustUnderstand='1'><sap:QualityOfService>ExactlyOnceInOrder</sap:QualityOfService><sap:QueueId>ORD2000000625</sap:QueueId></sap:ReliableMessaging><sap:Diagnostic xmlns:sap='http://sap.com/xi/XI/Message/30' SOAP:mustUnderstand='1'><sap:TraceLevel>Information</sap:TraceLevel><sap:Logging>Off</sap:Logging></sap:Diagnostic><sap:HopList xmlns:sap='http://sap.com/xi/XI/Message/30' SOAP:mustUnderstand='1'><sap:Hop timeStamp='2006-08-09T21:25:59Z' wasRead='false'><sap:Engine type='BS'>EP_QAS_SRM_QSR_100</sap:Engine><sap:Adapter namespace='http://sap.com/xi/XI/System'>XI</sap:Adapter><sap:MessageId>7eb44f25-ecc2-844e-9188-b79f8a9ab640</sap:MessageId><sap:Info>3.0</sap:Info></sap:Hop><sap:Hop timeStamp='2006-08-09T21:25:59Z' wasRead='false'><sap:Engine type='IS'>is.00.bp1houap494</sap:Engine><sap:Adapter namespace='http://sap.com/xi!
    /XI/System'>XI</sap:Adapter><sap:MessageId>6dd9983c-e326-8744-bf40-ace9767a88c0</sap:MessageId><sap:Branch><sap:MessageId>6dd9983c-e326-8744-bf40-ace9767a88c0</sap:MessageId><sap:Service>Digital_Oilfield</sap:Service></sap:Branch><sap:Branch><sap:MessageId>0e3736f7-9f64-6e47-973f-632caf0d8ed6</sap:MessageId><sap:Party agency='' scheme=''>Channelinx_Party</sap:Party><sap:Service>PIPP32_10_Seller</sap:Service></sap:Branch><sap:Info>3.0</sap:Info></sap:Hop><sap:Hop timeStamp='2006-08-09T21:26:00Z' wasRead='false'><sap:Engine type='AE'>af.qxi.bp1houap494</sap:Engine><sap:Adapter namespace='http://sap.com/xi/XI/System'>XIRA</sap:Adapter><sap:MessageId>6dd9983c-e326-8744-bf40-ace9767a88c0</sap:MessageId></sap:Hop></sap:HopList><sap:Main xmlns:sap='http://sap.com/xi/XI/Message/30' versionMajor='3' versionMinor='0' SOAP:mustUnderstand='1'><sap:MessageClass>ApplicationMessage</sap:MessageClass><sap:ProcessingMode>asynchronous</sap:ProcessingMode><sap:MessageId>6dd9983c-e326-8744-bf4!
    0-ace9767a88c0</sap:MessageId><sap:TimeSent>2006-08-09T21:25:59Z</sap:
    TimeSent><sap:Sender><sap:Party agency='http://sap.com/xi/XI' scheme='XIParty'></sap:Party><sap:Service>EP_QAS_SRM_QSR_100</sap:Service></sap:Sender><sap:Receiver><sap:Party agency='http://sap.com/xi/XI' scheme='XIParty'></sap:Party><sap:Service>Digital_Oilfield</sap:Service></sap:Receiver><sap:Interface namespace='http://sap.com/xi/SRM/SupplierEnablement/Global'>PurchaseOrderChangeRequest_In</sap:Interface></sap:Main></SOAP:Header><SOAP:Body><ns0:PurchaseOrderChangeRequest xmlns:ns0='http://sap.com/xi/SAPGlobal/Global'><MessageHeader><ID schemeID='0102'>20000006250000000220060809212559</ID><CreationDateTime>2006-08-09T21:25:59Z</CreationDateTime><SenderParty><InternalID schemeID='PartnerID' schemeAgencyID='EP_QAS_SRM_QSR_100'>055034086</InternalID></SenderParty><RecipientParty><InternalID schemeID='PartnerID' schemeAgencyID='EP_QAS_SRM_QSR_100'>80025171</InternalID></RecipientParty></MessageHeader><PurchaseOrder><ID schemeAgencySchemeAgencyID='ZZZ' schemeAgencyID='EP_QAS_SR!
    M_QSR_100'>2000000625</ID><BuyerPostingDateTime>2006-08-01T12:00:00Z</BuyerPostingDateTime><BuyerLastChangeDateTime>2006-08-01T18:36:40Z</BuyerLastChangeDateTime><Note>KALIS3 01.08.2006 20:13</Note><ItemListCompleteTransmissionIndicator>true</ItemListCompleteTransmissionIndicator><BuyerParty><BuyerID>108</BuyerID></BuyerParty><SellerParty><BuyerID>80025171</BuyerID></SellerParty><ProductRecipientParty><BuyerID>7249</BuyerID><Address><OrganisationFormattedName>MD-HM</OrganisationFormattedName><OrganisationFormattedName>Mad Dog Operations</OrganisationFormattedName><PersonName><FormattedName>Sankar Kaliaperumal</FormattedName><LegalName>Sankar Kaliaperumal</LegalName><GivenName>Sankar</GivenName><PreferredGivenName>Sankar</PreferredGivenName><Family><FamilyName>Kaliaperumal</FamilyName><PrimaryIndicator>true</PrimaryIndicator></Family><Affix><AffixName>Mr</AffixName><AffixCode>FormOfAddress</AffixCode></Affix></PersonName><PhysicalAddress><CountryCode>US</CountryCode><RegionC!
    ode listID='TX'/><StreetPostalCode>77079</StreetPostalCode><CityName>H
    ouston</CityName><StreetName>501 Westlake Park Dr</StreetName></PhysicalAddress><Communication><CorrespondenceLanguageCode>en</CorrespondenceLanguageCode><Email><Address>[email protected]</Address><AddressDefaultIndicator>true</AddressDefaultIndicator><AddressUsageDenialIndicator>false</AddressUsageDenialIndicator></Email></Communication></Address></ProductRecipientParty><BillToParty><BuyerID>108</BuyerID><Address><OrganisationFormattedName>BP Root</OrganisationFormattedName><OrganisationFormattedName>BP Enterprise</OrganisationFormattedName><PhysicalAddress><CountryCode>US</CountryCode><RegionCode listID='TX'/><StreetPostalCode>77079</StreetPostalCode><CityName>Houston</CityName><StreetName>501 Westlake Park Dr</StreetName></PhysicalAddress><Communication><Telephone><Number><SubscriberID>1-281-366-5000</SubscriberID></Number><NumberDefaultIndicator>true</NumberDefaultIndicator><NumberUsageDenialIndicator>false</NumberUsageDenialIndicator></Telephone><Facsimi!
    le><Number><SubscriberID>1-281-366-5000</SubscriberID></Number><NumberDefaultIndicator>true</NumberDefaultIndicator><NumberUsageDenialIndicator>false</NumberUsageDenialIndicator></Facsimile><Email><Address>[email protected]</Address><AddressDefaultIndicator>true</AddressDefaultIndicator><AddressUsageDenialIndicator>false</AddressUsageDenialIndicator></Email></Communication></Address></BillToParty><ShipToLocation><BuyerID>5667</BuyerID><Address><OrganisationFormattedName>BP Root</OrganisationFormattedName><OrganisationFormattedName>BP Enterprise</OrganisationFormattedName><PhysicalAddress><CountryCode>US</CountryCode><RegionCode listID='TX'/><StreetPostalCode>77079</StreetPostalCode><CityName>Houston</CityName><StreetName>501 Westlake Park Dr</StreetName></PhysicalAddress><Communication><Telephone><Number><SubscriberID>1-281-366-5000</SubscriberID></Number><NumberDefaultIndicator>true</NumberDefaultIndicator><NumberUsageDenialIndicator>false</NumberUsageDenialIndicator></Teleph!
    one><Facsimile><Number><SubscriberID>1-281-366-5000</SubscriberID></Nu
    mber><NumberDefaultIndicator>true</NumberDefaultIndicator><NumberUsageDenialIndicator>false</NumberUsageDenialIndicator></Facsimile><Email><Address>[email protected]</Address><AddressDefaultIndicator>true</AddressDefaultIndicator><AddressUsageDenialIndicator>false</AddressUsageDenialIndicator></Email></Communication></Address></ShipToLocation><CashDiscountTerms><MaximumCashDiscount><DaysValue>10</DaysValue><Percent>0.5</Percent></MaximumCashDiscount><NormalCashDiscount><DaysValue>30</DaysValue><Percent>0.0</Percent></NormalCashDiscount></CashDiscountTerms><FollowUpPurchaseOrderConfirmation><RequirementCode>04</RequirementCode></FollowUpPurchaseOrderConfirmation><FollowUpDespatchedDeliveryNotification><RequirementCode>04</RequirementCode></FollowUpDespatchedDeliveryNotification><FollowUpServiceAcknowledgementRequest><RequirementCode>02</RequirementCode></FollowUpServiceAcknowledgementRequest><FollowUpInvoiceRequest><RequirementCode>01</RequirementCode><EvaluatedReceiptSettlement!
    Indicator>false</EvaluatedReceiptSettlementIndicator></FollowUpInvoiceRequest><Item><ID>1</ID><ActionCode>02</ActionCode><UnplannedItemPermissionCode>01</UnplannedItemPermissionCode><Product><TypeCode>1</TypeCode><Note>Chris Test</Note></Product><ProductCategory><BuyerID>83101603</BuyerID></ProductCategory><Price><NetUnitPrice><Amount currencyCode='USD'>10.0</Amount><BaseQuantity unitCode='EA'>1.0</BaseQuantity></NetUnitPrice></Price><Attachment id='1 .QAVendorID&#39;s.txt' filename='QAVendorID&#39;s.txt'>chris test</Attachment><ScheduleLine><ID>1</ID><DeliveryPeriod><StartDateTime>2006-08-01T14:00:0002:00</StartDateTime><EndDateTime>2006-08-01T14:00:0002:00</EndDateTime></DeliveryPeriod><Quantity unitCode='EA'>1.0</Quantity></ScheduleLine></Item></PurchaseOrder></ns0:PurchaseOrderChangeRequest></SOAP:Body></SOAP:Envelope>
    --SAP_c4faf651-27ef-11db-a170-0014c258bd93_END
    content-id: [email protected]
    content-type: text/plain
    80150395- Farmington
    80150396-Houston
    80025171- Tulsa
    80025173- Tulsa
    80236936- Dallas
    SAP_c4faf651-27ef-11db-a170-0014c258bd93_END
    Thanks,
    chris

    Amy,
    Would agree with Stacy. Have someone on BASIS team check SOST transaction on day where you had email go out, and the customer indicated they got no PDF. You could at least validate that the message leaving your SAP system had a PDF attached to it by looking in SOST. You could then definitely say that the issue is on the receiving side.
    If the transmission in SOST is void of PDF, then you would be back to reviewing your output type and the config behind it (including programs).
    Hope this helps. Revert back if not.
    Thanks,
    Jay

  • How to get DateTime from PI message SOAP Header

    Hi ALL
    Can you please let me know how we can get the time message received in PI from the SOAP message header
    <SAP:TimeSent>2010-08-17T16:24:16Z</SAP:TimeSent>
    I would like to capture this value and send it in the payload of the message, initially I was using the Current TIme date function.
    However, if I can get the time received value from the SOAP Header message, It will be more accurate in providing the Time the message was received by IE.
    Thank you,
    Parikshit
    Sample SOAP Header from MONI:-
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    - <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
      <SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
      <SAP:ProcessingMode>asynchronous</SAP:ProcessingMode>
      <SAP:MessageId>4C69D4B7-9806-0162-E100-80000A8221E6</SAP:MessageId>
    <SAP:TimeSent>2010-08-17T16:24:16Z</SAP:TimeSent>
    - <SAP:Sender>

    If you want to get the TimeSent from SOAP header and map it to some field in ur message then u can easily do it using following UDF :-
    GlobalContainer globalContainer;globalContainer = container.getGlobalContainer();
    java.util.Map param = globalContainer.getParameters();.
    String timeSent = (String) param.get (StreamTransformationConstants.TIME_SENT);
    return timeSent ;
    Note: This UDF won't need any input. So u need not to maintain any variable in UDF signature.
    Edited by: Samiullah Qureshi on Aug 18, 2010 9:41 AM

  • How to get SAMl assertion from SOAP Header and propagate user context to BW

    Hello to all,
    we implemented this scenario:
    3rdparty System to SAP PI 7.11 to SAP BW.
    sync. communication via SOAP Sender adapter and Receiver XI PROXY.
    We get a SAMl assertion in the SOAP Header from the 3rd-Party System.
    The SAP BW System could not read the Header information.
    How can we get the information of the SOAP Header in the PI System and send the usercontext via XI Proxy to the SAP BW system?
    Can we read the Header information in the SOAP adapter and mapping it to another field in the payload or Headerinformation which could read in the backend system in the proxy class?
    Thanks for your help and regards
    Martin

    Dear Fox,
    Thanks for your reply.
    Is it mandatory to have the Header elements and the message defined in the Mediator wsdl?
    At present I have not defined it in the WSDL.
    Thanks,
    Subin

  • Adding WS Security in SOAP header for calling soap services from PI

    When i am calling a wss enabled webservice from soapui with the header parameters
    Username , Password and Password Type - PasswordText , it is able to get results. The soapui tool automatically adds the following in the soap header -
         <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
             <wsse:UsernameToken wsu:Id="UsernameToken-9368150" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <wsse:Username>xxxxx</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">xxxxx</wsse:Password>
                <wsse:Nonce>aOA1P6t2hJPRyuraQ/IliQ==</wsse:Nonce>
                <wsu:Created>2009-07-10T14:58:33.781Z</wsu:Created>
             </wsse:UsernameToken>
          </wsse:Security>
    However , in PI when the following configurations are made -
    Web Services Security option selected in soap receiver adapter
    In Receiver Agrrement -
    Security Standard -  http://docs.oasis ....
    Security Procedure (Request) - None
    Security Procedure (response) - None
    the user tokens don't seem to generated and it is giving an authentication error . Is there any process of generating this in the outgoing soap header from PI.
    SOAP Axis framework is not installed at present  and working on PI 7.1 SP6.
    Looking forward for your replies

    same issue for me too.
    Try using WS adapter on receiver side .
    If you are able to attach SOAP header with WSSE fields using SOAP adapter at reciever channel let me know how you did it.

  • How do I access the DCJMS* variables in my response SOAP:Header ?

    Hi all,
    I have set up a sync / async Integration Process in XI
    This is initiated by a SAP R/3 transaction that calls a synchronous function to enter XI
    Once in the Bridge, a JMS receiver adapter sends out an asynchronous request message from XI to MQ
    A correlation allows the JMS sender adapter to return an asynchronous response message from MQ to XI back into my the Integration Process
    I have set up the JMS sender adapter configuration to return the DC (dynamic configuration) variables in the <SOAP:Header> of the XI response message along with the payload
    You can see that the DCJMS* variables are returned below
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Response
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    + <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
    + <SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    + <SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    - <SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:TraceLevel>Information
    <b>Question</b>
    I want to access the DCJMS* variables but am not sure how to go about it as the
    variables exist in the <SOAP:Header>?
    I followed the SAP documentation to access adapter-specific attributes (refer to link http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm )
    I have used the following code to create a user-defined function for the accessing adapter specific attributes (similar to the link)
    public String Get_Msgid(Container container){
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSMessageID");
    String jmsMsgID = conf.get(key);
    return jmsMsgID;
    <b>Question</b>
    Do I use message mapping to extract the DCJMS* variables?
    <b>Question</b>
    If so then which message is used for the source message so that I can access the <SOAP:Header>?  Eg do I use the response message type or is there a trick to accessing the SOAP:Header?
    <b>Question</b>
    Do I use the user-defined function (like above)?
    I performed the following steps
    •     Opened the message mapping in edit mode
    •     Created the user-defined function using the graphical editor
    •     Saved the message mapping
    •     I have not connected the user-defined function to any of the xml tags in either the source or target messages
    When I go to test the message mapping I am getting the following error
    Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    STACKTRACE:
    com.sap.aii.ib.core.mapping.exec.ExecuteException: Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    at  com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:207)
    at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapService.java:361)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCodeWithoutAndWithArchives(ServerMapService.java:301)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:153)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:259)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:304)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    A thread in the SDN (Error while Activating Message Mapping, Posted: Jan 9, 2007 3:32 PM) suggests checking the java path on the XI machine
    This is JAVA_HOME=C:\j2sdk1.4.2_08 and seems ok
    <b>Question</b>
    Do you know why I would get the compilation error?
    Any assistance would be appreciated
    Regards,
    Mike

    Jin,
    My compilation issue has gone via a SAP recommendation to specify the JDK home directory in the instance profile
    Back to the mapping - I can now run my scenario
    <b>Source message</b>
    The response message has the following <SOAP:Header> from which I want to extract the DCJMSCorreleationID (note that it's misspelt)
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Response
      -->
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    <b>Grahpical mapping</b>
    LHS - Response message with occurrance 0..1 so it is not connected to my UDF
    UDF Get_Corrid with no inputs
    RHS - The UDF output is connected to the Acknowledgement msg tag <ACK>
    <b>UDF</b>
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSCorreleationID");
    String Corrid = conf.get(key);
    return Corrid;
    <b>Target message</b>
    The idea is to copy the correlation id of the response message into the acknowledgement message.  But as you can see the result is NULL
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns2:AWB0020_MARKET_DATA_RESPONSE_ACK xmlns:ns2="http://awb.com.au/mq/tx/MarketData">
      <ACK>null</ACK>
      </ns2:AWB0020_MARKET_DATA_RESPONSE_ACK>
    Please advise
    Thanks Mike

  • Reading custom SOAP header with XHeaderName1

    Hello Experts,
    I have a SOAP to File scenario and I am trying to do dynamic receiver determination by looking at the SOAP request header info. I am adding a custom field (System_ID) that I want rules to run against in Receiver Determination..
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:urn="urn:*******************">
    <soapenv:Header>
    <System_ID>100</System_ID>
    </soapenv:Header>
      <soapenv:Body>
       </soapenv:Body>
    </soapenv:Envelope>
    In the Receiver Determination I have multiple rules using SOAP context object to  XHeaderName1 = the System_ID (100) to pass the message to the right system at runtime according to the  System_ID.
    In the SOAP sender channel I have Set Adapter-Specific Message Attributes and Variable Transport Binding checked. I also have the variable name System_ID in the first Variable Header (XHeaderName1).
    In the SOAP sender Conversion Parameters I have Do Not Use SOAP Envelope and Keep Headers checked, as well as nosoap=true in the SOAP request URL.
    I'm getting the System ID to show in XI in sxmb_moni in the Header but no where do I see it being used with XHeaderName1.
    Am I using XHeaderName1 right? If not could you advise as to how XHeaderName1 should be used?
    My requirement is to read system ID from Header, not payload.
    Thank you!
    Tim

    I was able to find a solution to my problem.
    I created a basic senario below to test:
    1.A basic Asynchronous scenario is created using a SOAP sender adapter to 2 possible flat file receivers.
    2.The SOAP sender channel will have the option u201CDo Not Use SOAP envelopeu201D checked and SOAPUI URL will have u201C&nosoap=trueu201D added to the end.
    3.The receiver system name will be stored in the WS-Addressing u201CActionu201D field sent from SOAPUI.
    4.Two ABAP mappings are created. One mapping will extract the system number from the WS-Addressing u201CActionu201D field. The other mapping will extract just the body of the SOAP message to send along. Using regex and string manipulation in the ABAP mappings we can reuse the mappings for any SOAP message.
    5.Enhanced (Extended) Receiver Determination is selected and interface mapping using system/XI ReceiverDetermination  service interface is used to capture the receiver system.
    While this is a solution is not the best, it is a solution. Upon research I found a recent SAP Note 1385579 talking about implementing a SAP delivered generic SOAP Sender AXIS handler com.sap.aii.axis.soap.HeaderExtractionHandler to extract SOAP Header elements and place in message attributes. I will be trying this out.

Maybe you are looking for

  • Help: Photoshop CS4, Opens Adobe Help Website Automatically. Stuck in a loop.

    Hello there! I am having an issue with Adobe Photoshop CS4 (part of Creative Suite Web edition).  Any action, including switching to the Photoshop windows automatically swaps out to Firefox and opens the Adobe help website. My current action was conv

  • Read only row

    Is it possible to control which columns are read-only in a specific row on a treetable?

  • Constant freezing and horizontal problems since updated

    Ever since I updated to the new software, I have been noticing failure to go horizontal. It happens after I've turned vertical lock on for a while, then off. I have also been experiencing "freezing" several times. Completely random times too. I go to

  • CS3. Doesn't work FitContentToFrame in TextFrame

    Hi. I develop some script with support COM interface. I create new TextFrame and set some text. After that I execute function Fit(from TextFrame object) with parameter idContentToFrame. It not work. But, if I execute the same function with parameter

  • Wierd ClassCastExeption. Do I always need to restart web logic server?

    I salute the web development community and thank you in advance for taking the time to read my problem. I just started trying out Jdeveloper. While writing applications, as they become more complex I find myself with the annoying task of restarting t