XI SOAP receiver adapter. Java and decentral adapter engine.

Hi,
I would like to send the below to a web service... have done a custom mapping to
produce the entire message below, and turned off Use SOAP envelope option in the
receiver adapter.
Can anyone point me in the right direction (in terms of the correct why to go about this)
or to why it is not working? Because I see it in the payload option of the message fine (in RWB).
Can java mapping be used to build the entire message?
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:noNamespaceSchemaLocation=" EnvelopeStructure.xsd">
<SOAP-ENV:Header>
<Q-ENV:Header>
<Q-ENV:Sender-Id>a03430170001</Q-ENV:Sender-Id>
<Q-ENV:Receiver-Id>1aa1150001</Q-ENV:Receiver-Id>
<Q-ENV:Correlation-Id>1231201109096878</Q-ENV:Correlation-Id>
<Q-ENV:Message-Id>M1231201109096878</Q-ENV:Message-Id>
<Q-ENV:Date-Sent>26 Apr 2004  18:01:08 CDT</Q-ENV:Date-Sent>
<Q-ENV:Document-Type>RequestForQuotation</Q-ENV:Document-Type>
<Q-ENV:Message-Format>Q 1.0</Q-ENV:Message-Format>
</Q-ENV:Header>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<Q-ENV:Body>
<Q-ENV:Content-Type>text/xml</Q-ENV:Content-Type>
<Q-ENV:Message-Type>xCBL</Q-ENV:Message-Type>
<Q-ENV:Encoding>UTF-8</Q-ENV:Encoding>
<Q-ENV:Message-Body>
   blah blah
</Q-ENV:Message-Body>
</Q-ENV:Body>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
thanks
Dylan.

I am getting various errors, because I am not sure I understand how this adapter works exactly.
I would like to send a custom SOAP message.
I use a java mapping to create the entire soap message...
In the soap adapter I turn on "Do not Use SOAP envelope".
What should the final message sent out of the SOAP adapter look like ? Will a standard SOAP
envelope be added around it anyway?
Do I need to add beans after the XISoapAdapter bean in order to remove the soap envelope?
How do the modules work? Is there a good resource on the subject?

Similar Messages

  • Error in SOAP receiver channel: java.io.IOException: invalid http response:

    Hi experts,
    I have a IDOC to SOAP scenario where SOAP receiver channel is sending data to web service. In the receiver channel I am getting error as below. Kindly help me to resolve this issue. Thanks.
    "Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: invalid http response: null"

    Did you check this?
    http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40611dd6-e66e-2910-f383-e80fb44f9cd4
    Regards
    Pothana

  • Error in Adapter module on decentral Adapter engine

    Hi,
    I have configured a scenario file to file for picking a xml file and then converting it to corresponding edifact file,using an adapter module at the receiver side.The adapter module is getting executed but i am getting this error
    Message processing failed. Cause: java.lang.ClassCastException: class Xml_To_Edi.XML2EdifactLocalHomeImpl0_0 can not be casted to ModuleLocalHome or SModuleLocalHome
    Can you all tell what is this error and how to rectify it.
    regards,
    ujjwal kumar

    Hi Ujjawal,
    Do the following steps...
    1.created EJB of type StatelessSession Bean
    2.Dont uncheck generate default interfaces
    3. Fininsh.
    Later in ejb-jar.xml file, modify Home,Remote,Local,LocalHome entries.
    and for more info
    I refered a blog ,in that its given as:
    You need references to connector.jar file which has the classes required at compile time and runtime
    Compile time :
    From the context menu of the EJB project , follow the path Properties -> Java Build Path -> Libraries.
    Click on Add variable and select TSSAP_JAVAX_HOME and click on Extend and select connector.jar from the list displayed.
    Run time :
    Navigate to the application-j2ee-engine.xml in your EAR project.
    Select References on the General tab and click on Add.
    Select Select library/interface/service as shown in the snapshot and select j2eeca as in the next snapshot.
    Check this blog:
    /people/amol.joshi2/blog/2006/11/28/alerts-from-adapter-modules--the-jra-way-part-ii
    see the comments in the blog who faced same error.may this helps or gives an idea
    Searched lot for this,dont forget to reward points
    Regards
    Pragathi.
    Edited by: Pragathi on May 23, 2008 5:15 AM

  • Already existing adapter modules in Decentralized Adapter Engine(urgent)

    hi 2 all,
    I have installed a Decentralized AE.
    I wanted to know whether i can use already existing modules in XI directly in my communication channel with my non central DAE as the adapter engine.
    Or i have to deploy SCA of those already existing modules also ??
    If i can use how to write that in modules
    regards,
    ujjwal kumar

    ya i used it but i am getting the error:
    Delivery of the message to the application using connection AFW failed, due to: Object not found in lookup of XMLAnonymizerBean
    so i might be using wrong format.
    i wrote module name as :localejbs/AF_Modules/XMLAnonymizerBean
    and module type as local enterprise bean
    regards

  • Configuration Steps for Decentralized Adapter Engine

    Hi all,
    What all configuration steps are required to make Adapter Engine as
    Decentralized AE.
    I have made required changes in SLD DataSupplier in Visual Administrator.
    what more configurations have to be done? On SAP XI Server and Decentralized
    Adapter Engine.
    With regards
    Prasad

    Prasad,
    After configuring SLD data supplier in Visual Admin, you need to the following
    1) Configure the gateway service for the central integration server on adapter engine host.
    2) Perform Initial adapter engine cache refresh
    3) Trigger data transfer to SLD
    4) Check the connection parameters in exchangeProfile
    5) Create HTTP destination pmistore in java environment
    you have to go through all these tests for decentralized adapter engine. If you have XI configuration guide, it has all these steps in detail for you to configure
    --Archana

  • Retrive SID of XI server from EJB used in decentral adapter engine

    Hi Experts,
                        We have a requirement where we need to call an RFC from a EJB bean using load balancing. To do the JCO call, we need the SID of the XI system as an input parameter for the createConnection function.
    The SID can be retrieved using System.getProperty("SAPSYSTEMNAME"), however, we need to know if this is called in a decentral adapter engine, whether the getProperty() function will return the SID of the XI server, when called from a bean used in the sender adapter of a decentral adapter engine.
    Regards

    > however, we need to know if this is called in a decentral adapter engine, whether the getProperty() function will return the SID of the XI server, when called from a bean used in the sender adapter of a decentral adapter engine.
    The decentral adapter engine has its own SID. So you need another solution for retrieving the SID of XI server. Maybe a property file?
    Regards
    Stefan

  • JMS Adapter , EDI  and SEEBURGER Adapters

    HI All
    Please briefly explain JMS adapter ,EDI and seeburger adapter .could you please the correlated links

    Hello
    This thread has been locked by a Moderator. Please familiarise yourself with the forum Rules of Engagement before posting questions.
    Rules of Engagement
    https://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement
    Regards
    Mark Smyth
    XI/PI Moderator

  • SOAP Adapter Java Null Pointer, Receiver receive mutiple times of message

    Hi,
    My scenario is Proxy -> PI 7.1 -> Soap receiver.
    The scenario was working before , and recently we got System Fails in adapter:
    ********************Adapter Audit Log****************************
    2010-01-11 10:41:16 Information The message was successfully received by the messaging system. Protocol: XI URL: http://hdrpidev01.bchydro.bc.ca:51100/MessagingSystem/receive/AFW/XI Credential (User): PIISUSER
    2010-01-11 10:41:16 Information Using connection SOAP_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.
    2010-01-11 10:41:16 Information Message successfully put into the queue.
    2010-01-11 10:41:16 Information The message was successfully retrieved from the receive queue.
    2010-01-11 10:41:16 Information The message status was set to DLNG.
    2010-01-11 10:41:16 Information Delivering to channel: ESB_CostCenter_SOAP_Receiver
    2010-01-11 10:41:16 Information SOAP: request message entering the adapter with user J2EE_GUEST
    2010-01-11 10:41:16 Information SOAP: completed the processing
    2010-01-11 10:41:16 Information SOAP: sending a delivery ack ...
    2010-01-11 10:41:16 Information SOAP: sent a delivery ack
    2010-01-11 10:41:16 Error Adapter Framework caught exception: null
    2010-01-11 10:41:16 Error Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.NullPointerException.
    2010-01-11 10:41:16 Information The message status was set to WAIT.
    2010-01-11 10:41:16 Information The asynchronous message was successfully scheduled to be delivered at Mon Jan 11 10:46:16 PST 2010. .....
    The log has another three reties which I did not listed above.
    The question is that the receiver system received the message and received 4 times.
    I future go to the je22 engine log viewer, then I got following error message :
    ********************J2EE Log Viewer****************************
    Message:
    Marked transaction for rollback for meesage 4b47ad05-9df9-0176-e100-8000ac190651(INBOUND). Reason: java.lang.NullPointerException
    Date: 2010-01-11
    Time: 10:41:09:732
    Category: com.sap.engine.messaging.impl.core.queue.consumer.ReceiveConsumer
    Location:
    com.sap.engine.messaging.impl.core.queue.consumer.ReceiveConsumer.invokeHandler(QueueMessage, MessageController)
    Application:Thread: MS Queue Worker [SOAP_http://sap.com/xi/XI/SystemRecv]
    Data Source:
    j2ee/cluster/server0/log/defaultTrace_00.trc
    Arguments:
    DSR Transaction: 0f3437c0fcc911de826200145ec71b45
    Message Code: 
    Session: 0
    Transaction: SAP J2EE Engine JTA Transaction : [6ffffffab3c2602ffffffa564]
    User: J2EE_GUEST
    Time Zone: 0-800
    CSN Component: BC-XI-CON-MSG
    DC Component: com.sap.aii.af.ms.svc
    Correlation ID: 111885350000000004
    DSR Root Context ID: 0F3437C0FCC911DE826200145EC71B45
    DSR Connection: 0f3437c0fcc911de826200145ec71b45
    DSR Counter: 0
    Log ID: 00145EC71B45510B0000000100137042
    Host: hdrpidev01
    System: DI1
    Instance: DVEBMGS11
    Node: server0
    ********************End of J2EE Log Viewer****************************
    We never came cross the situation of sending mutiple message out while there is system error in adapter.
    Any ideas and comments ?
    Thanks in advance
    Liang

    Solved by creating new adapter.

  • SOAP Receiver Adapter Error in XI RWB - java.lang.NULLPointerException

    Hi,
    We have a asynchronous scenario in SAP-XI, where we are sending the PO data from SRM to third party (Hubspan / TNT). Proxy is being used at Sender side and SOAP Adapter is used for Receiver Communication Channel.
    u2022SRM is sending around 1000 messages through background job and around 995 or 996 messages are being processed successfully and showing the proper XML payload as well in RWB. But 4-5 messages are getting failed in XI RWB for u2018java.lang.NullPointerExceptionu2019. For these failed messages we are not able to see the XML payload as well in XI RWB while these messages are showing successful status in MONI in SRM and XI and we are able to see the payload as well in MONI. The webservice is restarting and trying to send the payload three times in RWB, but it is getting the same Nullexception error.
    04.11.2011 16:45:49.715 Success Delivering to channel: CC_B2B_HUBSPAN_RCV
    04.11.2011 16:45:49.715 Success MP: Entering module processor
    04.11.2011 16:45:49.715 Success MP: Processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
    04.11.2011 16:45:49.716 Success SOAP: request message entering the adapter with user J2EE_GUEST
    04.11.2011 16:45:49.716 Success SOAP: Target url: https://connect.hubspan.net/mh/server/tp=NMHG/ssid=DAA6F0E9AC1000BD03A41B363BBFD676
    04.11.2011 16:45:49.999 Error SOAP: call failed: java.lang.NullPointerException
    04.11.2011 16:45:49.999 Success SOAP: sending a delivery error ack ...
    04.11.2011 16:45:49.999 Success SOAP: sent a delivery error ack
    04.11.2011 16:45:49.999 Error SOAP: error occured: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.NullPointerException
    04.11.2011 16:45:49.999 Error MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.NullPointerException
    04.11.2011 16:45:50.000 Error Exception caught by adapter framework: null
    04.11.2011 16:45:50.022 Error Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.NullPointerException.
    04.11.2011 16:45:50.037 Success The message status set to WAIT.
    u2022If we are resending the failed message from XI RWB, it is getting failed again with the same error. On the other hand if we are initiating the message again from SRM to Hubspan for the same PO, it is getting processed successfully in RWB but still not showing XML payload in RWB.
    u2022If we are getting the payload from XI MONI for the failed message and doing a test with component monitoring in RWB, it is working fine.
    Please help me to solve this issue.
    Thanks
    Sumit

    Hi Sumit,
    From my experience, when you transfer  SAP POs through PI to external webservice, there should be some validation happens at the webservice layer of the target system before the web service passes the original information to  their application layer. The validation can be anything like checking the Vendor address, Checking the correctness of the order ...etc etc . So i would suggest to ask your external web service folks to check if they have any validation in place before they pass the data to their application layer.
    As you said only some POs/XMLs are failing, i strongly feel that this could be the issue.
    Please note if you receive response code other than 200 from webservice, SOAP adapter treats that as error and send the same message back to AE.
    Normally webservices won't send 200 code for any validation error
    PS: you can still try to use XMLSpy to post the failed message to the web service to know the exact cause.

  • Java.lang.NullPointerException exception in SOAP Receiver adapter

    Hi Experts,
    I have a requirement where a third party system will call a service(WSDL) generated from ID to receive some details from SAP system.
    The design and configuration part everything was created and was able to receive requests from third party system successfully till last week. But suddenly we are receiving the below error from today,
    SOAP: call failed: java.lang.NullPointerException: while trying to invoke the method com.sap.aii.af.sdk.xi.mo.xmb.XMBMessageHeader.getMessageId() of an object loaded from local variable messageHeader
    i went through some of the threads in SDN, but still we are receiving the same error.
    Could any one can help me on this?
    Thanks in advance.
    Regards,
    Govardhan Duvva.

    Hi Duvva
    Please check if there are any changes done on the web service side and double check the urls being used.
    similar error is explained in the thread : Might be useful to refer once.
    ADAPTER.JAVA_EXCEPTION: Sender soap adapter PI ... | SCN
    Server Proxy 7.3 issue with URL

  • Soap Sender and RFC Adapter receiver getting APPLICATION_ERROR

    Hi, all,
    I have a webservice soap sender and RFC Adapter receiver scenario, it works fine with RFC "RFC_SYSTEM_INFO", When i tried the RFC "RFC_READ_TABLE", getting the following error message,  <SAP:Code area="RFC_ADAPTER">APPLICATION_ERROR</SAP:Code> in
    SXI_MONITOR, in webservice client, i am getting error message like this:
    <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <rfc:ZZTEST_RFC_READ_TABLE.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
                   <Name>TABLE_NOT_AVAILABLE</Name>
                   <Text>QUERY_TABLE not active in Dictionary</Text>
                </rfc:ZZTEST_RFC_READ_TABLE.Exception>
    Thanks a lot!

    Hi
    Its not compulsory but its good to wrap it as Z object.
    Well if you are facing problem with SOAP data. Then try to do one thing. Check with the data you received from SOAP message. If this works
    Then try to check in mapping is it passing the data correctly or not. With this check with the user authorization PIAPPLUSER. if its having less authorizations to execute this BAPI in ECC
    Thanks
    Gaurav

  • SOAP Receiver adapter target url and method details

    Hi Friends,
    I am working on file to SOAP interface.
    I know using SOAP receiver adapter , we need to have target URL and action.
    Here, how client need to give target url and action as they are not aware of these things..please suggest.
    Also if we are generating inbound service interface,how they have to handle this from their end.
    Thanks
    Kishore

    Get the WSDL file from ur Third party client and u can use the WSDL file as an External definition in PI and WSDL file also has WSDL URL which u can use in SOAP receiver adapter.
    For INbound SOAP case-
    Generate the WSDL file in XI and give that WSDL file to ur third party client which will send the data using the WSDL URL mentioned in the file.
    refer below blog for understanding in detail:-
    How to use SOAP adapter:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40611dd6-e66e-2910-f383-e80fb44f9cd4
    chirag

  • SOAP Receiver Adapter problem (client certificate required)

    My Scenario is similar to described in https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3721. [original link is broken] [original link is broken] [original link is broken] I have two PI servers running on one machine. I am trying to post message HTTPS with Client authentication via SOAP adapter from one PI system to SOAP adapter of other PI server. I have done the following configuration.
    PI Server AXD - (Client) - Receiver SOAP adapter
    PI Server AXQ - (Server) - Sender SOAP Adapter.
    Steps in AXD
    1. I have created a certificate of AXD in the service_ssl view of key storage.
    2. I have imported the AXQ public certificate in to AXD in the TrustedCAs of Key storage
    Steps in AXQ
    1. I have created a certificate of AXQ in the service_ssl view of key storage.
    2. I have imported the AXD public certificate in to AXQ in the TrustedCAs of Key storage.
    3. I have created a user in AXQ and assigned the certificate of AXD under usermangement in Security provider to this user.
    4. I have added the AXD certificate under Client Authentication tab with require client certificate option checked in the SSL Provider.
    5. I have assigned the user created in AXQ in the step above to the Sender Agreement.
    Now when I post message from AXD with Configure Client Authentication checked (Here I have selected the certificate of AXD and view as service_ssl) I am getting the following error.
    Exception caught by adapter framework: SOAP: response message contains an error XIServer/UNKNOWN/ADAPTER.JAVA_EXCEPTION - java.security.AccessControlException: client certificate required at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:884) at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_3
    Any pointer to solve this problem is highly appreciated.
    Thanks
    Abinash

    Hi Hemant,
    I have couple of questions. Why do we need to import certificate for SOAP WS-Security and from where I can get it?
    As far as my scenario goes I am not using message level security.
    Secondly what do you mean by TRUSTED/WebServiceSecurity? I don't see any such view inside the Key Storage.  I can see a view named just WebServiceSecuity though.
    Also I don't have a decentralized adapter installation rather I have two separate PI instances having their own central adapter engine.
    Abinash

  • Usage of Module processor in SOAP Receiver Adapter

    Hi,
    I have scenario where I am calling an external Web Service via XI. Unfortunately I need Java Mapping to generate the complete SOAP Message (there are some special header elements required by the Web Service)  and flag 'no soap' in the SOAP Receiver Adapter. This works fine, but I have additional Web Service Calls that have the same Header logic and I don't want to use Java Mapping all the time.
    I was wondering if it is possible to use graphical User Mapping for the Business Data that goes to the SAOP Body as a payload and use Java code to generate the SOAP Message (actually the SOAP Wrapper and the Header).
    Can I do this in XI using the Module processor in the SOAP Receiver adapter or do I have to use two mappigs, one based on the Graphical mapping and another using Java Mapping? Is it feasible at all in XI?
    Thanks in advance.

    Hi,
    You can use Module Processor.
    But,
    1. If it is a synch call, in when the message is going from the SOAP adapter to the Webservice, you will need to manually Add the SOAP header as you want . ( you will need to create the entire SOAP mesage as the output of the Module ).
    2. When the response comes back, the same module will need to remove the SOAP header etc and pass a valid , XML message to the Graphical mapping.
    If you have a requirement that some fields of the SOAP header will be needed to be accesed in the Response mapping, then you would need to either add this field to some field in the response payload.
    Better option would be to use, Either a Java or a XSL mapping that does all the required stuff for you.
    Regards
    Bhavesh

  • Problem with soap receiver adapter

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

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

Maybe you are looking for