XI30 SPS16 - SOAP Sender Adapter - self-defined SOAP-Header

Hi Folks!
My scenario is that I have to send a synchronous SOAP message to an external receiving system which expects certain processing information in the SOAP header. That external system then synchronously sends back a response SOAP message to tell me the processing results of my request message.
The How-To Guide SOAP Adapter says that for the request message I have to create the whole SOAP Envelope (SOAP Enevelope, Header and Body) on my own within the mapping and that I have to remove the SOAP header in the response message. Unfortunately this guide does not tell me how this can be realized.
In other SDN threads I've read that this can be achieved by using XSLT mappings. Unfortunately I have never done this before and currently I have no clear idea how to do this. And to be honest: I am everything else than an XSLT expert (historically I'm coming from the ABAP part of SAP R/3).
My plan is to create the request payload using the graphical mapping tool and to add an XSLT mapping as 2nd mapping to build the SOAP "overhead" around the payload.
For the response my plan is to first use XSLT mapping to remove the SOAP "overhead" from the response message and then use the graphical mapping to handle the payload.
Questions:
1. Is this possible?
2. How can I achieve this?
3. Can anybody send me an XSLT mapping sample to create a SOAP envelope, header and body around the payload for the request message?
4. Can anybody send me an XSLT mappping sample to remove the SOAP envelope, header and body around the payload for the response message?
Because I'm everything else than an expert in XSLT mappings, some kind of a "click guide with samples" would be VERY GREAT!
Thanx in advance to anybody who will help me!!! For real help maximum points are guaranteed.
Regards,
Volker
mail: [email protected]

Hi Volker,
Try this XSLT code, chanfe the TODO part.. add the SOAP header part. Save it as .xsl. ZIP it and import it in the Imported archive. Please test it I have'nt test the code as I dont have a system access now.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Header xmlns="http://schemas.xmlsoap.org/soap/envelope/">
--- TODO -
</Header>
<soap:Body>
<xsl:copy-of select="*"/>
</soap:Body></soap:Envelope>
</xsl:template>
</xsl:stylesheet>
For the rest have a look at this thread
SOAP Adapter: DO not use soap envelope
Thanks,
Prakash

Similar Messages

  • Invocation of SOAP Sender Adapter using Apache SOAP

    Hi,
    I'm trying to invoke the XI SOAP Sender Adapter using the Apache SOAP API. It seems that my message header is missing a few parameters (see exception below). Does anybody know which to set?
    Regards,
    Heiko
    ==========
    Exception:
    <?xml version='1.0'?>
    <!-- see the documentation -->
    <SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
      <SOAP:Body>
        <SOAP:Fault>
          <faultcode>SOAP:Server</faultcode>
          <faultstring>Server Error</faultstring>
          <detail>
            <s:SystemError xmlns:s='http://sap.com/xi/WebService/xi2.0'>
              <context>XIAdapter</context>
              <code>Exception</code>
              <text><![CDATA[
    com.sap.aii.af.mp.module.ModuleException
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:502)
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl3.process(ModuleLocalLocalObjectImpl3.java:103)
         at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:227)
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)
         at com.sap.aii.af.mp.soap.web.MessageServlet.callModuleProcessor(MessageServlet.java:162)
         at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:507)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:392)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:345)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:323)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:865)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:240)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java:321)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
    Caused by: java.lang.Exception: Bubble configuration error: parameter 'XI.InterfaceNamespace' is missing
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.getParaRequired(XISOAPAdapterBean.java:895)
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.createDefaultMessageHeader(XISOAPAdapterBean.java:942)
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.setup(XISOAPAdapterBean.java:214)
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:496)
         ... 22 more
              ]]></text>
            </s:SystemError>
          </detail>
        </SOAP:Fault>
      </SOAP:Body>
    </SOAP:Envelope>

    Hi Heiko,
    You are missing the Namespace Parameter in the sender soap adapter configuration in XI3.0
    Thanks
    Prasad

  • SAP PI  Soap Send adapter  is not available.

    Hi  Experts:
    i encounter a issue when use Soap sender adapter.  i configured  soap sender adapter senario and generate  wsdl  in the id  .
    and then  import wsdl document to the  soapui to test the webservice.  but throw some exception blow:
    <!see the documentation>
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>java.lang.NullPointerException
    +     at com.sap.aii.af.sdk.xi.mo.xmb.XMBMessageOperator.getQualityOfServiceAsString(XMBMessageOperator.java:2109)+
    +     at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:943)+
    +     at sun.reflect.GeneratedMethodAccessor1126.invoke(Unknown Source)+
    +     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)+
    +     at java.lang.reflect.Method.invoke(Method.java:585)+
    +     at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)+
    +     at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)+
    +     at $Proxy3087.process(Unknown Source)+
    +     at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:275)+
    +     at sun.reflect.GeneratedMethodAccessor518.invoke(Unknown Source)+
    +     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)+
    +     at java.lang.reflect.Method.invoke(Method.java:585)+
    +     at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)+
    +     at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)+
    +     at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)+
    +     at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)+
    +     at $Proxy330.process(Unknown Source)+
    +     at com.sap.aii.adapter.soap.web.MessageServlet.callModuleProcessor(MessageServlet.java:175)+
    +     at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:470)+
    +     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)+
    +     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)+
    +     at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:162)+
    +     at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:81)+
    +     at com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:124)+
    +     at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)+
    +     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:441)+
    +     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:291)+
    +     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:396)+
    +     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:385)+
    +     at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)+
    +     at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)+
    +     at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:76)+
    +     at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)+
    +     at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:240)+
    +     at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)+
    +     at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)+
    +     at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)+
    +     at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)+
    +     at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)+
    +     at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)+
    +     at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)+
    +     at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)+
    +     at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)+
    +     at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)+
    +     at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)+
    +     at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)+
    +     at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)+
    +     at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43)+
    +     at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)+
    +     at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)+
    +     at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)+
    +     at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)+
    +     at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)+
    +     at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:457)+
    +     at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:250)+
    +     at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:45)+
    +     at com.sap.engine.core.thread.execution.Executable.run(Executable.java:109)+
    +     at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:314)</text>+
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    nd the find a note :sapnote_0001239995  can solve the problem in the pi 7.10 .but my pi is 7.11 .anybody know which note  should be apply to solve the problem in the pi7.11 .thanks .

    hi,
    Either you are using an incomplete URL
    you can however try with this URL format:
    http://<IPAddress OR ServerName>:<PORT_No>/XISOAPAdapter/MessageServlet?channel=:<SenderBusinessService>:<SenderSOAPCC>&version=3.0&Sender.Service=<SenderBusinessService>&Interface=<SenderInterfaceNamespace>%5E<SenderMI>
    refer blog related ur issue:
    ADAPTER.JAVA_EXCEPTION: Sender soap adapter PI 7.11
    thanks,

  • Error while posting messages to SOAP sender adapter SP 13

    Hi Friends,
                    I have configured a SOAP sender adapter in XI 3.0 and is using the URL
    http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_WEBSERVICE:CC_WEBSERVICE_SOAP to post the messages. When I open the URL in the browser I am getting the error.
    Message Servlet is in Status ERROR
    Status information:
    Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/aii/30_VAL_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#5 $) bound to /MessageServlet
    Classname ModuleProcessor: null
    Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean
    Lookupname for remoteModuleProcessorLookupName: null
    ModuleProcessorClass not instantiated
    ModuleProcessorLocal not instantiated
    ModuleProcessorRemote not instantiated
    But when I test the URL http://host:port/XISOAPAdapter/HelperServlet?action=FindChannel&channel=:BS_WEBSERVICE:CC_WEBSERVICE_SOAP to check the communication channel I am getting the right response as below.
    <?xml version="1.0" ?>
    <http://host:port/XISOAPAdapter/HelperServlet?action=FindChannel&channel=:BS_EBTR_WEBSERVICE:CC_EBTR_WEBSERVICE_SOAP> <s:ChannelInfo xmlns:s="http://sap.com/xi/WebService/xi30">
      <channelID>e7ac884596ea3d088cbfd8b434f942f2</channelID>
      <name>CC_WEBSERVICE_SOAP</name>
      <type xmlns:st="http://sap.com/xi/XI/System">st:SOAP</type>
      <direction>INBOUND</direction>
      <party />
      <service>BS_WEBSERVICE</service>
      </s:ChannelInfo
    I used the http capture to debug, In the 1st case though I am getting "Message Servlet in status error" I am seeing a 200 OK code in the http capture tool. When the message is posted from .net client proxy we are getting a 500 internal server error.
    Am not sure what causes the error ? I saw two notes in SDN related to SOAP - J2EE SP13. We are in SP13. Is this the issue ? Wanted to know your opinion before applying the notes.
    Thanks & Regards,
    Mathew

    ABAP & Java stack was on different SP levels.

  • Using SOAP Sender adapter in PI 7.1

    Hi Guys,
    I've created a sync scenario with SOAP sender adapter, but I have troubles with calling it.
    I use following URL: http://<host>:50000/XISOAPAdapter/MessageServlet?channel=:BS_Bus_Sys:CC_SOAP_Test as I did in XI 3.0, but I'm getting error HTTP 400 Bad Request. I'm using the request generated from the IR Configuration.
    Has something changed in 7.1 for this type of scenario?
    Thanks guys,
    Olian

    Hi! Olian,
    I think u r going in a wrong way. The above given URL is wrong and incomplete one.
    The above url comes only after generating the WSDL. You ill gives that URL to ur source team to post their data at which this URL itselfs acts as an Gateway to enter into SAP XI/PI.
    The generated WSDL contains URL like this>>
    "http:// Host:Port/XISOAPAdapter/MessageServlet?senderParty=&amp;senderService=Business Service&amp;receiverParty=&amp;receiverService=&amp;interface=SenderInterfaceI&amp;interfaceNamespace=http://XXXXXXXX" />
    Also follow the below procedure for generating the WSDL.
    Except generating WSDL remaining all development steps are same as creating File to Proxy Scenario.
    CREATING THE WEBSERVICE IN XI :
    1) In Integration Directory, go to Tools tab --> Define Web Services.
    2) Now one Wizard window will opens and follow the below steps:
    Here donu2019t go for the u2018 Proposed URLu2019, instead specify the URL as::
    http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?channel=:<service>:<channel>
    If there is party then ::
    http://host:port/XISOAPAdapter/MessageServlet?channel=<party>:<service>:<channel>.
    3) Specify the Source Messageu2019s Message Interface.and remaining other input parameters.
    4) Specify the Sender Business Serviceu2019s details:
    5) Here, Cross check the details displayed and then click on u2018Finishu2019 button to create the Web Service
    document(WSDL)
    6) Now Save the WSDL code to the local system. At the bottom u ill get URL based on the above input
    URl:
    Note: Here in XI there is no XML Testing tool or SOAP client tool to test SOAP messages. That is why most of the people prefer either ALTOVA XML SPY Tool or SOAP CLIENT TOOL or INFO PATH.
    If your working on PI 7.1 means::
    1) Simply after creating Sender Agreement go to options above to that sender agreement instead of tools menu... and there you can observe 2 options at the bottom side.
    a) PUBLISH in SR
    b) Generate WSDL.
    2) Once after activating your ID componenets just Press or go for option Publish in SR. Then automatically it will generate WSDL and publish that WSDL in the SERVICE REGISTRY. which is latest concept in PI 7.1.
    3) Now by entering authentification details you can able to enter into service registry.
    There are 4 tabs::
    a) Service definitions
    b) Publish
    c) classifications
    d) Manage.
    Go for Service definitions::
    4) Enter your sender SOAP interface and press GO or enter.
    5) Select your interface and then at the bottom u can observe again 4 tabs:
    a) General b) End Points c) classifications d) System Details.
    6) In the general you can able to see your WSDL URL by again entering Authentification details.
    7) Now Click End Points>Test Button>Enter Authentification details-->Seelct your Interface
    Note:: Now you can test your scenario in this WEB SERVICE NAVIGATOR.
    8) There you can enter you can pass your Input data parameters in your SOAP interface and execute or test your scenario here itself without any using of external tool like Altova XML or SOAP client tool.
    I hope the above information will give you a detailed information in generating and testing webservice right.
    Regards::
    Amar Srinivas Eli

  • Using custom http headers in SOAP sender adapter

    Hi,
    my problem is exactly the same as reported [here|Re: SOAP Sender - Extract Header Values;] and [here|Variable Transport Binding - Soap Sender;
    Basically I'd like to send through the soap sender adapter some custom http headers. I check the necessary options in the advanced tab (set adapter-specific message attributes and variable transport binding), and in the variable header one I put x-StoreCode, which is the same http header I send to PI.
    But I won't see anything in the dynamic configuration section when the message is persisted in PI.
    Very surprised that I've seen this issue is a common problem others have faced before without success.
    Thanks!

    Hi Michal,
    the extra info I'm trying to send separated from the message is an http header, not part of the query string.
    If I incorporate the extra info as a parameter to the query string like this, for example:
    http://host:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=S1&receiverParty=&receiverService=&interface=Int&interfaceNamespace=urn:test&x-StoreCode=13&nosoap=true
    Then I can see the value in the dynamic configuration section:
    <SAP:Record namespace="http://sap.com/xi/XI/System/SOAP" name="SQueryString">senderParty=&senderService=S1&receiverParty=&receiverService=&interface=Int&interfaceNamespace=urn:test&x-StoreCode=13&nosoap=true</SAP:Record>
    But what I'm trying to do shoould be possible, according to sap help:
    http://help.sap.com/saphelp_nwpi71/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm (section Define Adapter-Specific Message Attributes)

  • Use of variable header XHeaderName1 in SOAP sender adapter

    Hi all,
    I have a doubt regarding the use of adapter-specific attributes in SOAP sender adapter. In specific:
    the SOAP client should be able to pass a variable with the SOAP request (XHeaderName1 header variable) and this should be available in mapping (Dynamic configuration)
    I've already checked the [help page|http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm] but it seems I'm doing something wrong.
    I tried with those settings in SOAP adapter configuration:
    Keep headers checked
    XHeaderName1 = Test
    I try to call the SOAP adapters in the following 2 ways, but none works (the value is not available in message mapping with Dynamic configuration)
    1. Pass "Test" value xxxx in SOAP Header as a tag
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         <SOAP-ENV:Header>
              *<Test>xxxx</Test>*
         </SOAP-ENV:Header>
         <SOAP-ENV:Body>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    2. Pass "Test" value xxxx in SOAP URL
    http://host:50000/XISOAPAdapter/MessageServlet?channel=p:s:c&version=3.0&Sender.Service=...&Interface=...&Test=xxxx
    Could anyone give me a hint about how to pass those values in the SOAP call and eventually the correct config. of SOAP sender ?
    Thanks a lot,
    Manuel

    Hi Manuel,
    Could you give a bit more detail on how you handled the SOAP message yourself.
    I have a similar issue. I am consuming a non SAP Web Service which requires a non-standard token element to be passed back. I have created a an RFC sender to SOAP reciever scenario which works fine for the inital logon and returns the token it expects in the follow up messages.
    At present I'm at a loss so your help would be much appreciated. We have got round the immediate issue by creating and sending the SOAP message directly from SAP WAS.
    Could we use the XI Adapter and ABAP proxy in a similar way?
    Thanks,
    Tim J.

  • Adapter Module in SOAP Sender Adapter

    Hi All,
    To Confirm, Is it possible to use Custom Adapter Modules in SOAP Sender Adapter. If so, where exactly custom module has to be placed in communication channel with respect to the standard bean of SOAP Adapter.
    Thanks in advance.
    Regards,
    Sudharshan N A

    Hi,
    The sender adapter cannot be extended Check this
    http://help.sap.com/saphelp_nwpi711/helpdata/en/43/951aceb1146353e10000000a11466f/frameset.htm
    http://help.sap.com/saphelp_nwpi711/helpdata/en/cd/5af7c0c994e24fb0d0088443513de2/frameset.htm
    Regards
    Suraj

  • Default namespace in the SOAP sender adapter

    Hi All!
    Sorry for the following really easy question but what is the default interface name and default namespace in the SOAP sender Adapater? The name of the interface to where the adapter should forward the received SAOP message?
    it means that for every soap message a new communication channel should be created. Or only one channel is enough?
    And in the receiving case only one is enough or for every web services a new receiving communication channel need to be created?
    Thank you for your answer.

    Hi,
    q) what is the default interface name and default namespace in the SOAP sender Adapater?
    Ans) Soap Sender does not have any default namespace and interface.  That can be set at Sender Agreement. 
    q) The name of the interface to where the adapter should forward the received SAOP message?
    Ans : That message is forwarded to Adapter Engine and then to integration Engine. That takes interface in sender agrement and Namespace.
    it means that for every soap message a new communication channel should be created. Or only one channel is enough?
    Ans:  For sender, 1 communication channel is enough. For Receiver, if you have 10 different systeems, then  you need to create those many receiver communication channels .
    And in the receiving case only one is enough or for every web services a new receiving communication channel need to be created?
    Ans : Same as above
    Note  Soap message is not criteria for creating channels....  Please note that .. soap communication channels creates soap messagae.
    -Subbu

  • SOAP Sender adapter - how to turn off authentication? PI 7.1

    Hello
    I wolud like to turn off the user authentication in the Soap Sender Adapter PI 7.1. What is the easiest way to do so?
    Regards,
    Elling Skjetlein

    Hello,
    If you mean about using Single Sign-On (SSO) for automatic login, then
    you can refer to the following links:
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/44/31370f01ae23d1e10000000a1553f7/frameset.htm
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/48/acb27f23be6200e10000000a421937/frameset.htm
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/c4/5c5ae71140bb41868f10bc7f3411db/frameset.htm
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/e5/4344b6d24a05408ca4faa94554e851/frameset.htm
    Hope that help.
    Regards,
    Caio Cagnani

  • SOAP Sender Adapter Not working

    We have the following Synchronous sceanrio: Third Party System <> PI <> SAP ECC
    The interface works well in our DEV and PreProd environments but has stopped working in our QA environment.
    The SOAP Sender Adapter is giving me the following error:
    failed to initialize: org.apache.axis.ConfigurationException:
    java.lang.ClassNotFoundException: ------------------------- Loader Info -------------------------
    ClassLoader name: library:com.sap.aii.af.axisproviderlib] Living status: alive Direct parent loaders:   system:Frame   library:com.sap.base.technology.facade   library:engine.j2ee14.facade] Resources:  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/axis.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-discovery-0.2.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-logging-1.0.4.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-net-1.0.0-dev.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/wsdl4j-1.5.1.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/xmlsec-1.4.0.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/wss4j-1.5.6.jar 
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/opensaml-1.0.1.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/xalan-2.6.0.jar
    Currently the Quality of Service for the communication channel is set to "Best Effort" because it is a Synchronous Interface. However if I change the Quality of Service to "Exactly Once" the message is received by PI without any problems. So the problem is specific to Synchronous.
    I tried to create a new communication channel and use that but that didnt help.
    We have checked on the server and all the above mentioned .jar files are all in place.
    I have compared the Processing Sequence and Module Configuration of the Module tab (for the communication channel) with the other environments and everything seems to be fine.
    Any help would be much appreciated.
    Thanks,
    Krishneel

    Hi Krishna,
    ClassLoader name: library:com.sap.aii.af.axisproviderlib] Living status: alive Direct parent loaders:   system:Frame   library:com.sap.base.technology.facade   library:engine.j2ee14.facade] Resources:  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/axis.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-discovery-0.2.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-logging-1.0.4.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/commons-net-1.0.0-dev.jar  
    /usr/sap/XQ1/DVEBMGS01/j2ee/cluster/bin/ext/com.sap.aii.af.axisproviderlib/lib/wsdl4j-1.5.1.jar
    Have you deployed the following Jar.
    commons-discovery-0.2.jar
    ○       commons-logging-1.0.4.jar
    ○       commons-net-1.0.0-dev.jar
    ○       wsdl4j-1.5.1.jar
    Refer this
    http://help.sap.com/saphelp_nw04/helpdata/en/45/a4f8bbdfdc0d36e10000000a114a6b/content.htm
    Edited by: Debashish Roy on Jul 18, 2011 10:10 AM

  • ASMA in SOAP Sender adapter.

    Hi All,
    Using ASMA under SOAP sender adapter I am trying to get the username of the user . I am referring below links for the same:
    /people/michal.krawczyk2/blog/2009/05/26/pixi-pseudo-principal-propagation (referring this only for getting username)
    getting user name from sopa header
    But while testing through XML SPY , i am getting error :
    Com.sap.engine.interfaces.messaging.api.exception.MessagingException: Received HTTP response code 500 : Error during parsing of SOAP header.
    Please help??.
    Thanks
    Amit

    Hi.
    I have created WSDL file using below URL:
    http://ISVSAPPIDEV:50100/XISOAPAdapter/MessageServlet?channel=:BS:CC_SOAP_Sender
    Actually its a synchronous SOAP -PI - RFC scenario. When i am pinging the PI through XML spy(ASMA AND Transport Binding is UNCHECKED in soap sender channel)  i am getting the response back from RFC,  but when i am pinging after chking the ASMA and Transport Binding in SOAP sender adapter i am getting this error(the message is itself not reaching the PI):
    Com.sap.engine.interfaces.messaging.api.exception.MessagingException: Received HTTP response code 500 : Error during parsing of SOAP header.
    Thanks
    Amit

  • Remove XML Prefix in SOAP Sender Adapter

    Hi
    I am using a SOAP sender adapter and testing it from SOAP UI. The format that is generated from the web service is
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
       <soapenv:Body>
          <sap:SALES_ORDER xmlns:sap="http://XYZ.org/">
             <sap:HEADER>
                <sap:BATCH_ID>XYZ</sap:BATCH_ID>
                <sap:CREATE_DT>XYZ</sap:CREATE_DT>
    This format when processed in SOAP UI gave error which its not giving for other files. Clearly I need to remove this sap: tag, I can't use XML anonymizer as it is SOAP adapter and I can't select do not use soap env...Could anyone provide me Java/xslt code for the same..I tried all the codes on sdn but none of them worked.
    Regards,

    SImple Java mapping, that should help
    import java.io.InputStream;
    import java.io.OutputStream;
    import com.sap.aii.mapping.api.*;
    import org.w3c.dom.*;
    public class DeleteCDATA_DOM_mapping extends  AbstractTransformation  {
         public void traceXML(Node n,int i)
         {   AbstractTrace trace = getTrace();
              trace.addInfo(i+"$"+n.getNodeName());
              trace.addInfo(i+"$"+n.getNodeValue());
              trace.addInfo(i+"$"+n.getNodeType()+"");
         public void traceNL(NodeList nl)
              {       for (int i=0 ; i<nl.getLength();i++)
                        traceXML(nl.item(i),i);
         public void transform(TransformationInput in, TransformationOutput out)
                   throws StreamTransformationException {
                        AbstractTrace trace = getTrace();
                             try {
                                  InputStream is0=in.getInputPayload().getInputStream();
                                  StringBuffer out1 = new StringBuffer();
                                  byte[] b = new byte[4096];
                                  for (int n; (n = is0.read(b)) != -1;) {
                                       out1.append(new String(b, 0, n,"UTF-8"));
                                  String sss=out1.toString();
                                  sss=sss.replaceAll("<sap:", "<");
                                  sss=sss.replaceAll("</sap:", "<");
                                  OutputStream os = out.getOutputPayload().getOutputStream();
                                  os.write(sss.getBytes("UTF-8"));
                             } catch (Exception e) {
                                  throw new StreamTransformationException(
                                       "Exception in DeleteCDATA_DOM_mapping JAVA mapping ): "
                                            + e.getMessage());

  • 'Keep Header' Option in SOAP sender adapter not working

    Hi all
    I have exposed  a webservice using a SOAP sender adapter in XI. A SOAP client is sending request to this service.
    The SOAP request has some elements in the header like wssecurity and ws addressing tags.
    When I remove the header elements and send the request my scenario works as expected but when I include the header fields I get a time out in my soap client application and cannot see any message, any where on  XI. Can somebody help me understand why this is happening.
    Thanks
    Dilip

    Hi Stefan
    In my scenario it is ok if XI ignores the soap header tags it does not understand. I want the system to ignore the header tags and go ahead and process only the payload.
    But unfortunately I keep getting a time out whenever I send a request with the header tags. When I remove the header I can sucessfully post documents.
    I tried increased the time out to 5 min but still continue to get the problem.  So am sure the problem is not exactly related to timeout, but due to the header tags.
    What do you suggest?
    Regards
    Dilip

  • How to use SOAP sender adapter

    Hi all
    i have configured the SOAP sender adapter. Now my 3rd party needs to send me a soap message. 
    I have checked that the status at the following URL is OK:
    http://host:port/XISOAPAdapter/MessageServlet?channel=:MXII_Web_Service:SOAP_MXII_Sender.
    This is fine, however
    I am unsure of the following:
    1. Does XI make a wsdl available to the 3rd party?
    2. Where does my 3rd party send the soap message to?
    3. Is the SOAP message sent via a query string?
    4. Do I need to create a web service?
    Thanks for all your help in advance
    Clinton

    Hi Moorthy
    Thanks for your answer.
    The problem was solved, we used .Net to write a webservice to our wsdl.
    I have now another problem.... When the message comes into XI it shows that no receiver found(RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC). If I just test the scenario with a file adpter as Sender, and Receiver it is fine, but when using the SOAP adapter as Sender, it gives me the no receiver found message.
    Any help with this issue will be appreciated.
    Thanks again
    Clinton

Maybe you are looking for

  • Need Help Binding Windows Xp clients to 10.5 server for a beginner

    Hi I've setup 10.5 server as a standard config. Which turns out it is a Open Directory Master and SMB role is Standalone Server. I have been able to bind my 10.4 clients to the server domian using Directory Access and choosing automatic under LDAPv3/

  • What are the file storage names for Palm Desktop 4.1.4? My data appears to be lost

    Hi, I am using Palm Desktop 4.1.4 and have the Application loaded on a Flash Drive. This was done long ago and maps to the E:. I am on Windows XP SP2.  I usually insert my flash into a USB port on my PC and start a shortcut which points to and starts

  • BI Admin Cockpit - Field Start-Time 0TCTSTRTTIM in cube 0TCT_C21

    Hello, We recently installed the BI Admin Cockpit from technical content. When looking at the data transfer rules in all concerned info cubes like 0TCT_C21 (Process Statistics) I find that all time and date fields are derived from some time stamp fie

  • Enterprise Mode site list and manual override

    I have a small question / issue when using Enterprise Mode. We have enabled it using GPO by specifying both a site list and the Enable settings for manual override. This works fine but I don't know how to reset the manual override if somebody flicks

  • Any script for PowerMath Equation (InDesign CS4)

    Hi, All, I'm new to Indesign Scripting, and I'm hoping someone can help me. Is that possible any type of script (Apple/Java) for edit/update Poermath Eqation in Indesign CS4. In my Knowledge (not found) Powermath Editor have no Dictionary. Is that po