SOAP adapter in XI3.0 using J2EE adapter engine

Folks,
I have a scenario SOAP client -> XI 3.0
I am using XI 3.0 and the J2EE adapter framework to configure a sender SOAP adapter. I do not have a Party, just the service and the channel.
I tried using the following url format:
http://<server>:50000/XISOAPAdapter/MessageServlet?channel
=:<service name>:<channel name>
When I use this in my SOAP client , I get an 401 forbidden error in the browser. However when I type this url directly in the browser and I get:
Message Servlet is in Status OK
Status information:
Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/aii/30_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 is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0
ModuleProcessorRemote not instantiated
A couple of questions:
1. Inspite of configuring the sender SOAP adapter, the sender service and the interface, I still cannot see the green light for the SOAP adapter in rumtime workbench->adapter monitoring.
Although the communication channel (in intergration builder- design)shows the status of the adapter as "active"
Does this mean that my SOAP adapter is correctly configured and active?
2. The above mentioned url takes the ABAP engine login/password while the J2EE engine (AFW)takes a different login/password. Which authentication should the SOAP client use?
Thanks for your help!
Shailesh

Post your message to following URL:
http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel
port is the J2EE port 50000 in your example.
Check the newest manual for further details.
Regards
Stefan

Similar Messages

  • SOAP adapter engine with system error, problem with fault message.

    HI,
    I have IDOC -> PI -> SOAP scenario.
    Idoc to PI is async. I have no problem in receiving the idoc in PI. The message mapping is carried out and sent to the adapter engine. I can also see the technical routing payload. It is sucessful at XML monitoring in SXMB_MONI.
    The error is at PI -> SOAP.
    I have wsdl provided by the receiver webservice. Which I have imported.
    And created a service interface against this wsdl. I tried changing it to both sync and async.
    I have also provided fault message.
    I have set a receiver soap communication channel and provided the target URL like "http://xxx/services" and soap
    action = processDocument. Also provided user id and password.
    I have a
    Sender Agreement
    Receiver determination
    Interface determination
    Receiver Agreement
    I check in RWB adapter engine, this message goes to system error. The error log is as shown at the bottom.
    When I see the message content, the SOap document shows me the details about IDOC, Instead I feel it should match
    with the wsdl, where they have specified the corresponding interface name and address location etc.Please correct me.
    How does the receiver know which service interface is it? The Service Interface which I created in the ER is
    different from the WSDL, Does this have to be same? I see that the soap document in the adapter engine has the
    Service interface name which I created in the  ER. Where in the document the Reciever interface name is sent?
    Where can I see the generated soap document for the receiver?
    Is there some setting/configuration required in PI for this to work?
    I tried using the tcpgw to see the error. If I dont provide the service interface name in the communication channel
    then I get the following error in the TCPGW. "The service cannot be found for the endpoint reference"
    When I provide the service interface name in the communication channel I get a valid fault message.
    Similarly
    When I use SOAPUI, I can see the fault exception being return. The adapter engine doesnot show an equivalent message
    instead it goes into system error as shown at the bottom. I guess this is expected, if so what is the work around? (I found this weblog /people/alessandro.guarneri/blog/2011/01/10/soap-fault-in-sap-pi-hijack-it, do I need to implement this? Or use ALEAUD?
    The fault message what I see in SOAPUI has the below format.
    <soapenv:Fault xmlns:axis2ns1="http://schemas.xmlsoap.org/soap/envelope/">
             <faultcode>axis2ns1:Server</faultcode>
             <faultstring>nested exception is: psdi.util.MXApplicationException: BMXAA7136E - Validation failed when the
                                database default values were set. See the associated message for more information.
               BMXAA4190E - Country NZ is not in the value list.</faultstring>
             <detail>
                <Exception>org.apache.axis2.AxisFault: nested exception is: psdi.util.MXApplicationException: BMXAA7136E
                          - Validation failed when the database default values were set. See the associated message for more information.
         BMXAA4190E - Country NZ is not in the value list.
                /Exception>
             </detail>
      </soapenv:Fault>
    And the fault message in my ER service interface is stanadard datatype ExchangeFaultData, which is different from
    the above. Is this the problem? Can I change the data type here to be the same as above?
    Audit log in the RWB adapter engine.
    Time Stamp Type Description
    30.09.2011 15:10:57 Information MP: processing local module Localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
    30.09.2011 15:10:57 Information SOAP: request message entering the adapter with user J2EE_GUEST
    30.09.2011 15:10:57 Information SOAP: completed the processing
    30.09.2011 15:10:57 Information SOAP: sending a delivery error ack ...
    30.09.2011 15:10:57 Information SOAP: sent a delivery error ack
    30.09.2011 15:10:57 Error MP: exception caught with cause
    com.sap.engine.interfaces.messaging.api.exception.MessagingException
    30.09.2011 15:10:57 Error Adapter Framework caught exception: null
    30.09.2011 15:10:57 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.
    30.09.2011 15:10:57 Information The message status was set to WAIT.
    30.09.2011 15:10:57 Information The asynchronous message was successfully scheduled to be delivered at Fri Sep 30
    15:15:57 NZDT 2011.

    I tried changing it to both sync and async.
    I have also provided fault message.
    dont feel that you need to do above steps.
    I have a
    Sender Agreement
    ideally you dont need a sender agreement (and a channel) for IDOC --> PI flow.
    When I see the message content, the SOap document shows me the details about IDOC
    this is fine...you may see fields as seen in EDI_DC40 of the IDOC...
    How does the receiver know which service interface is it?
    receiver need not know about the SI created in PI.
    The Service Interface which I created in the ER is
    different from the WSDL, Does this have to be same?
    you should the WSDL (external definition) as the Request Message in your service interface.
    Is there some setting/configuration required in PI for this to work?
    nothing specific...AFAIK
    I have set a receiver soap communication channel and provided the target URL like "http://xxx/services" and soap action
    can you open the URL from Internet explorer...from your machine or from the machine which is in the same network as your PI server?
    Things to check:
    WSDL structure in PI and in target system is exactly the same.
    does the target system require mesage in SOAP format (SOAP envelope - SOAP Header + SOAP body)?
    target system is up and running?

  • XI3.0: SOAP-Adapter Exception

    Hi All,
    I'm trying to send a message to a web service via the SOAP adapter.
    Unfortunately the SOAP adapter throws the following exception:
    <i>
    SOAP: error occured: com.sap.aii.messaging.srt.BubbleException: Failed to call the endpoint: HTTP 0 null [null "null"]; nested exception caused by: java.net.SocketException: Connection timed out:could be due to invalid address
    </i>
    It seems to be that the configured URL does not reach the SOAP adapter.
    We use the central J2EE Adapter Engine.
    Any hints?
    How do I sitch on detailed tracing or logging for the SOAP Adapter? The Audit Log does not contain very much information.
    I hope anybody is able to help.
    Regards,
      Marc

    Hi Alessandro,
    we solved the problem.
    The problem was caused by a firewall. The used port was blocked there. We just reconfigured the firewall and all went fine.
    In the meantime I learned somthing about the error message.
    "Failed to call the endpoint: HTTP 0 null"
    This means that the adapter called the configured endpoint. The "HTTP 0 null" is the result code and error text of the http call. So it returned with error code "0" and it has no associated error text "null".
    Another hint that may help you is the OSS note 761921. This note describes how to get an adapter trace.
    Hope this reply helps.
    Regards,
      Marc

  • Error in using XI-SOAP adapter, but no error  with SAP-BC

    Hi,
    I am working on RFC->XI->Webmethod (.asp) scenatio.
    I am using SOAP adapter.
    Whin I am not using "Do not use SOAP Envelop".
    I am getting "com.sap.aii.af.ra.ms.api.DeliveryException: invalid content type for SOAP: TEXT/HTML" Error in SXMB_MONI.
    But when I am using "Do not use SOAP Envelop" then I am not getting any error. in SXMB_MONI status showing Successfully Processed. But the responce i am getting is "You are not authorized to view this page  // HTTP 401.1 - Unauthorized: Logon Failed"
    But same web-service is working fine while connected with SAP-BC.
    Please Help why scenario is working with BC, but not with XI.
    Thanks & Regards

    Hi Bhavesh,
    Thanks for reply.
    I am getting all success in message monitoring, but still web-services sying they are not getting any message.
    I am attaching all 4 logs for one synchronous communication of message monitoring.
    I am not able to understand where message going and why XI showing success every where.
    ********1st(Sent Messages)
    Success SOAP: response message leaving the adapter
    Success Application attempting to send an XI message asynchronously using connection AFW.
    Success Trying to put the message into the send queue.
    Success The response message for message cf4fd921-4a74-11db-9312-001279933263(INBOUND) was successfully transmitted to the calling application.
    Success The message status set to DLVD.
    Success The application sent the message asynchronously using connection AFW. Returning to application.
    ********2nd (Sent Messages)
    Success RFC adapter received sRFC for Z_PA_SAP_TO_Webservice from D02/230. Attempting to send message synchronously
    Success Application attempting to send an XI message synchronously using connection AFW.
    Success Trying to put the message into the call queue.
    Success Message successfully put into the queue.
    Success The message was successfully retrieved from the call queue.
    Success The message status set to DLNG.
    Success The message was successfully transmitted to endpoint http://XYZ.com:8000/sap/xi/engine?type=entry using connection AFW.
    Success The application sent the message synchronously using connection AFW. Returning to application.
    Success The message status set to DLVD
    **********3rd (Received Messages)
    Success Using connection AFW. Trying to put the message into the receive queue.
    Success The XI response message for message d0372be1-4a74-11db-91d7-001279933263(INBOUND) was successfully returned to the calling application.
    Success The message status set to DLVD.
    **********4th (Received Messages)
    Success The message was successfully received by the messaging system. Profile: XI URL: http://XYZ.com:50000/MessagingSystem/receive/AFW/XI
    Success Using connection AFW. Trying to put the message into the request queue.
    Success Message successfully put into the queue.
    Success The message was successfully retrieved from the request queue.
    Success The message status set to DLNG.
    Success Delivering to channel: IF_O_502_WebserviceBusService_SOAP_In_02
    Success SOAP: request message entering the adapter
    Success SOAP: completed the processing
    Success SOAP: response message received d0372be1-4a74-11db-91d7-001279933263
    Success The message status set to DLVD.
    Success The message was successfully delivered to the application using connection AFW.

  • Error in while calling a Soap Adapter using the UDF

    hi,
    i am trying to make a call to Soap Adapter using a UDF.
    The code of the UDF is as follows :
    InputStream isPayloadStream = null;
    AbstractTrace trace= container.getTrace();
    String sService="Business Component";
    String sChannelName="Soap Channel(Sender)";
    SystemAccessor accessor=null;
    trace.addInfo("entered UDF");
    StringBuffer sb = new StringBuffer(" ");
    trace.addInfo("creating the reference file");
    sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
    sb.append("<ns0:MT_123082_UDF xmlns:ns0=\"http//infosys.com/pi/projects/png/n1\">\n");
    sb.append("<INTERCHANGECONTRLNOS>" + var1 + "</INTERCHANGECONTRLNOS>");
    sb.append("<PGPARTNERID>"var2"</PGPARTNERID>""\n""</ns0:MT_123082_UDF>");
    trace.addInfo("trigerring the SOAP channel ");
    try{
    Channel channel = LookupService.getChannel(sService,sChannelName);
    accessor = LookupService.getSystemAccessor(channel);
    isPayloadStream = new ByteArrayInputStream((sb.toString()).getBytes());
    trace.addInfo("creating the xml payload ");
    XmlPayload payload = LookupService.getXmlPayload(isPayloadStream);
    Payload result=accessor.call(payload);
    catch (Exception e){
    trace.addInfo(e.getMessage());
    finally{
    if ( accessor !=null) {
    accessor.close();
    return " ";
    The above code is throwing an error while end to end testing.
    the scenario is such,while graphical mapping a UDF will be used, which will create an Xml payload, and send this payload to another SOAP to file scenario.
    The error in the sxmb_moni is:  "Error when calling an adapter by using the communication channel CC_123085_UDF_SOAP_OUT (Party: , Service: BC_123082_REMADV_D96A, Object ID: fa9c6ee15efc30c68ec34b08034d87d1) XI AF API call failed. Module exception: 'failed to set up the channel fa9c6ee15efc30c68ec34b08034d87d1'. Cause Exception: 'Channel stopped by administrative task.'."
    Please can anyone suggest how this error can be rectified.
    regards,
    Meenakshi

    Hi,
    i have checked the communication channel and the XML. The following error occurs everytime i try to run the scenario.
    Error:
    Error when calling an adapter by using the communication channel CC_123082_UDFRECEIVER_SOAP_IN (Party: , Service: BC_123082_REMADV_D96A, Object ID: 2a895589066d30d4b2686e9d3a8d4c8d) XI AF API call failed. Module exception: 'SOAP Error'. Cause Exception: 'SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 400 Bad Request'
    Please let me know how this error can be resolved.
    Regards,
    Meenakshi

  • WHAT IS THE BEST WAY TO CREATE AN XSD FILE (TO BE USED BY SOAP ADAPTER)

    Dear friends
    I have a simple scenario.
    OUTBOUND DATA  -->  SOAP ADAPTER  --> ( XI )  -->  RFC ADAPTER  --> INBOUND DATA
    The XML file that I got from mapping area of IR (Design) is as follows
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_NAME_SOURCE xmlns:ns0="http://test3.com">
       <FIRSTNAME>DAVE</FIRSTNAME>
       <LASTNAME>SMITH</LASTNAME>
    </ns0:MT_NAME_SOURCE>
    If you notice, there are only 2 fields.
    I need to create an XSD file and import it as an external object, which I can use for SOAP Adapter.
    Which is the best way to create it.
    Also, I need to know if there is any step by step of sending a message from XML SPY. I have downloaded this software, but am not able to undertand how to use this.
    Hope to hear from any experts on this forum.
    Thanks in advance
    Ram

    Hi Ram,
    See the below blog..
    It shows how to send SOAP message using XML Spy.
    It also shows how to generate wsdl.
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
    Regards,
    Sumit

  • Using adapter specific message attributes in SOAP adapter configuration

    Hi,
    Can you please let me know how to use adapter specific message attributes in receiver and sender SOAP adapter configuration. If possible , with example.

    See here:
    Adapter-Specific Message Attributes in the Message Header
    http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/frameset.htm
    Sender Soap Adapter:
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm
    Receiver Soap Adapter
    http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/frameset.htm

  • How to use Basis Authentication in Sender SOAP Adapter

    We implemented one Sender SOAP Adapter and we had to implement the modified WEB.XML method to remove the security specification.  We have now asked the developer to correct this situation so we can remove this modification.  The Interface developer would like to use Basic Authentication. If you have an automated interface sending in a SOAP Message, how do you do Basic Authentication? 
    I've tried using:
    http://host:port/XISOAPAdapter/MessageServlet?channel=:<Service>:<Channel>&sap-user=xiappluser&sap-password=<Password>&sap-language=EN&sap-client=<Client>
    When I do this, I still get the Authentication Pop-Up Window.
    How does the Sending Interface either supply the ID and Password on the incoming SOAP Message or respond to the Authentication Pop-Up?
    Thanks,
    Anne

    By Defualt the web service exposed by you will use Basic Authentication mode only.
    But the way you do Basic Authentication in the web client is platfrom dependent.
    This is not the way to do Basic authentication
    http://host:port/XISOAPAdapter/MessageServlet?channel=:<Service>:<Channel>&sap-user=xiappluser&sap-password=<Password>&sap-language=EN&sap-client=<Client>
    I am providing you a code snippet on how to Basic Authentication in Java when making the Web Service Call.
    If the client is on some other platform just look for the corresponding api.
    Please award points if you find this answer useful.
    Code Snippet
    URL url = new URL(URL);
    URLConnection connection = url.openConnection();
    if( connection instanceof HttpURLConnection )
    ((HttpURLConnection)connection).setRequestMethod("POST");
         //connection.setRequestProperty("Content-Length",Integer.toString(content.length()) );
         connection.setRequestProperty("Content-Type","text/xml");
         connection.setDoOutput(true);
         String password = User + ":" + Password ;
          //Where con is a URLConnection 
         connection.setRequestProperty ("Authorization", "Basic " + encode(User + ":"+ Password));
         connection.connect();
    Encode Method
    public static String encode (String source) {
    BASE64Encoder enc = new sun.misc.BASE64Encoder();
    return(enc.encode(source.getBytes()));

  • Any one knows how to use Axis Framework in the SOAP Adapter Modules

    How to use Axis Framework in the SOAP Adapter?
    How to add custom handler modules?
    http://help.sap.com/saphelp_nw04/helpdata/en/45/a4f8bbdfdc0d36e10000000a114a6b/frameset.htm
    I went through the above link on help.sap.com. But still could not create a working example.
    I have created a wc on some 3ed party app server using apaches axis. I am trying to call that web service from XI using SOAP receiver? I need to add some security related headers to the soap message, SO I am trying to use a handler.  I want to know how to configure this handler in SOAP axis adapter module.
    Thank you
    Moni

    Ravi ,
    I am trying exactly the same. Hers is the scenario.
    ABAP Proxy --> PI (7.0) SP 12 ---> WebService.
    Since This is service is secured, means it is using OASIS web servie securyty user name token,
    I am trying to use AXIS adapter. and I want to configure HandlerBean in which I want to use apache wss4j api to add the userNameToken. I am looking for some documentation on this.
    I need to add SOAP action element too as I can not configure this one on the communication channel.
    Thanks for any inputs in this regard.
    Moni

  • Using the Axis Framework in the SOAP Adapter

    Hello experts,
    I am currenty checking how I can easily manipulate sender and receiver details and how I could get attachments into XI.
    I saw in the sap help that it is possible to use the AXIS framework from the SOAP adapter:
    http://help.sap.com/saphelp_nw04/helpdata/en/45/a39e244b030063e10000000a11466f/frameset.htm
    As usual, the documentation is of the same quality SAP usually provides.
    So my first question would be: This is a moduke to be used from the SOAP adapter right? I am asking because they also wirte about the AXIS adapter and its metadata.
    In oder to get it working, I created in the NWDStudio a library project, added my libraries (to the root directory) and deployed it via SDM. Deployment is succesful but its not working.
    SAPHelp says I should check for a MessageServlet - I ask myself how that could appear suddenly just by packaging some axis libraries...?
    I am using for that the ESA box (NW04s SP6) - I was not able to see whether there are some dependencies to the SP - are they?
    Thanks for your support!
    Helge

    Helge,
    Axis is outdated and has some issues ..use Apache Soap instead its much better and easy to use.
    http://ws.apache.org/soap/
    Regards
    Ravi

  • SOAP Adapter - Using Fault Message

    Hi all,
    I have developed a Synchronous Integration Scenario which receives a SOAP request to the SOAP adapter, calls an ABAP proxy in SAP ECC to post some information and return a response or a fault to the sender.
    This all works fine, I am using a fault message in the ABAP proxy to record errors and return them to the SOAP adapter using the fault mapping. Again this all works fine. However when an application error is identified and a fault message returned to thre SOAP adapter, I had expected that the error details in the fault message to be packaged up in a standard SOAP fault and returned to the sender. Instead the fault message details are sent as the payload in the SOAP body of the response.
    Can anyone provide information on if it is possible to return the fault message as a standard SOAP fault instead of in the SOAP body of the response.
    Thanks
    Gary

    Dont think this is possible in standard.
    As an alternate, maybe you can select option Do not use SOAP Enevlope int he sender SOAP Adapter and thereby the entire SOAP Message will enter the mapping and you would need to use a XSL or Java  mapping to strip the SOAP Envlope in the mapping for the request and like wise in the response mapping you would need to add the SOAP Enevlope to the response.
    For the fault message mapping you need not add the SOAP Envelope.
    Not a standard solution, but can be tried if the requirement is really worth it. Otherwise I think the Fault Message will continue to be sent as the payload in the the SOAP Enevlope as this is how the SOAP adapter works.
    Regards
    Bhavesh

  • SOAP adapter Using XI 3.0 error: invalid content type for SOAP: TEXT/HTML

    Hi All,
      I have the scenario to send a message to proxy via SOAP adapter . My PI server is 7.3 and my BI application server also 7.3. I have created service interface in the ESR and created the ABAP proxy in the Application server. Im using the receiver SOAP adapter with message protocol as XI 3.0. Am running this scenario in the central adapter engine. (That is i didnt create integrated configuration). I am facing the issue in the receiver SOAP channel as 'invalid content type for SOAP: TEXT/HTML: 401 Unauthorized'. But i can able to login into the URL which is given in the channel using the username and password used in the channel.
    Can you please let me know if any addtional settings need to be done in PI side.
    Regards,
    Ramalakshmi.G

    Hi,
      Thanks for your reply. I have done my scenario with the integration configuration. Still i am facing the same issue " SOAP: TEXT/HTML; HTTP 401 Unauthorized". I have given the correct URL, username and password. Is this enough to connect to the receiver integration server from AE. Any settings need to be do in the receiver ABAP system and PI system. If so please share the corressponding note for the same.  What should be the role is assigned to the userid given in the channel.
    I have used sproxy to create the proxy in the receiver ABAP system. In PI i am using the SOAP adapter with XI 3.0 ,message protocol to call to this proxy. I have not done any settings in any of the servers. Do i need to do any settings.
    Regards,
    Ramalakshmi.G

  • SOAP Adapter: DO not use soap envelope

    Hi Guys
    I have a scenario, which calls a webservice from my ABAP Proxies, the twist in this is that SOAP request expects license info into the header of SOAP envelope, I could achive this by XSLT mapping in the receiver SOAP adapter I selected the option "Do not use SOAP envelope" and could do the call.
    Due to this the response received from the webservice is treated as payload, as shown below...
    response message payload:
    <?xml version="1.0" encoding="utf-8"?>
    <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/">
        <SubscriptionInfo xmlns="http://ws.strikeiron.com">
          <LicenseStatusCode>0</LicenseStatusCode>
          <LicenseStatus>Valid license key</LicenseStatus>
          <LicenseActionCode>0</LicenseActionCode>
          <LicenseAction>Decremented hit count</LicenseAction>
          <RemainingHits>18</RemainingHits>
          <Amount>0</Amount>
        </SubscriptionInfo>
      </Header>
      <soap:Body>
        <getRateResponse xmlns="CurrencyRates">
          <getRateResult>44.945</getRateResult>
        </getRateResponse>
      </soap:Body>
    </soap:Envelope>
    and when i am trying to do the response mapping, it is not able to read the value.
    Anyone having any idea, on how we could do this.
    Thanks
    Dheeraj

    Hi
    I am sorry for replying in so late, was busy with some projects.
    I got few mails and this post is cathing up again, so thought of giving the solution I followed without any adapter module or anything, simple plain XSLT mapping.
    <u><b>Integration Repository</b></u>
    1. Created data type and message type for Outbound Interface
    2. Imported the WSDL
    3. Created an XSD out of the sample response I got by calling the WSDL (this you can do from any tool available, i used the strikeiron website), pls refer below to see the XSD below, and you will have to use the message type envelope from it.
    4. Most Important step, created 2 XSLT mappings, one for request and the other for response., Pls refer below for both these mappings.
    5. did the interface mapping
    <u><b>Integration Directory</b></u>
    1. pls configure your scenario as normaly you do, and while you configure the communication channel for your soap receiver, make sure you click on the do not use soap envelop option.
    thats it done.
    <u><b>XSLT Request Mapping</b></u>
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:template match="/">
              <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
                   <SOAP-ENV:Header>
                        <LicenseInfo xmlns="http://ws.strikeiron.com">
                             <RegisteredUser>
                                  <UserID>xyz</UserID>
                                  <Password>xyz</Password>
                             </RegisteredUser>
                        </LicenseInfo>
                   </SOAP-ENV:Header>
                   <SOAP-ENV:Body>
                        <getConversion xmlns="CurrencyRates">
                             <FromCurrencyCode>
                                  <xsl:value-of select="//fromCurrency"/>
                             </FromCurrencyCode>
                             <ToCurrencyCode>
                                  <xsl:value-of select="//ToCurrency"/>
                             </ToCurrencyCode>
                             <Amount>1</Amount>
                        </getConversion>
                   </SOAP-ENV:Body>
              </SOAP-ENV:Envelope>
         </xsl:template>
    </xsl:stylesheet>
    <u><b>XSLT Response Mapping</b></u>
    <?xml version='1.0' ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="CurrencyRates" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <xsl:template match="/">
              <ns0:MT_Cur_res xmlns:ns0="http://www.april.in/WebService/SOAPHeader">
                   <Rate>
                        <xsl:value-of select="soap:Envelope/soap:Body/a:getConversionResponse/a:getConversionResult"/>
                   </Rate>
              </ns0:MT_Cur_res>
         </xsl:template>
    </xsl:stylesheet>
    <u><b>Webservice Response XSD</b></u>
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws.strikeiron.com" xmlns:ns2="CurrencyRates">
      <xs:import namespace="CurrencyRates" schemaLocation="ns2.xsd"/>
      <xs:import namespace="http://ws.strikeiron.com" schemaLocation="ns1.xsd"/>
      <xs:element name="Envelope">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="soap:Header"/>
            <xs:element ref="soap:Body"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Header">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="ns1:SubscriptionInfo"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Body">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="ns2:getConversionResponse"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
    let me know in case somebody gets stuck somewhere for this scenario.
    Take Care
    Dheeraj

  • PI 7.1 receiver SOAP adapter using https

    Hi all,
    In PI 7.1 receiver SOAP adapter using https, what are the configurations necessary in PI box?
    Certification, and key store values, security etc etc
    -Michael.

    >
    Michael Johnson wrote:
    > I did n't find anything related to 7.1 version
    Some leads are provided by help: http://help.sap.com/saphelp_nwpi71/helpdata/EN/56/992d4142badb2be10000000a1550b0/frameset.htm
    Regards,
    Abhishek.

  • File content conversion using SOAP adapter

    Hi,
         I'm using a receiver SOAP adapter in my IDOC to file scenario and need to do file content conversion in the receiver side.
    Are any standard modules available for file content conversion in the SOAP adapter or do I need to write custom EJB modules for this.
    Please note that I have to use a SOAP adapter, can't use any other adapter.
    Thanks in advance
    Shiladitya

    Hi,
    XML Document Conversion Type
    &#9679;      Enter recordTypes as the parameter name.
    Under Parameter Value, enter the complete, comma-separated list of all names of recordset types that occur in the document to be converted.
    If you decide to use this method, you can define a different conversion type for each recordset type that occurs in the XML document.
    For example, you could name the recordset types as follows: RecordType1,RecordType2,RecordType3.
    &#9679;      Enter singleRecordType as the parameter name.
    Under Parameter Value, enter the name of a recordset type that is to be used to convert all elements that occur in the XML document.
    If you decide to use this method, define the same conversion type for each recordset type that occurs in the XML document.
    You must enter exactly one parameter only. Whichever parameter you choose, you automatically exclude the second parameter.
    You define further parameters for each recordset type.
    In the remainder of this documentation the parameters are specified by the prefix <RecordType>. In your configuration, replace this name with the name of the recordset type.
    Conversion Type List with Separators
    &#9679;      <RecordType>.fieldSeparator
    Enter the field separator that is written between the individual fields of a record.
    This specification is mandatory.
    Conversion Type List with Fixed Field Length
    &#9679;      <RecordType>.fieldLengths
    Specify a character string that contains a list of fixed field lengths that are separated by commas and which determines the number and the length of fields generated in the text file.
    For example, you want to write a recordset with three elements that have field widths of five, ten, and fifteen characters. Enter:
    <RecordType>.fieldLengths = 5,10,15
    This specification is mandatory.
    &#9679;      <RecordType>.fieldLengthExceeded
    Specify how you want to handle fields that exceed the configured field length. Permitted values for the parameter value are:
    &#9675;       error (default)
    Interrupts processing of message with error
    &#9675;       cut
    Cuts off superfluous characters
    &#9675;       ignore
    Ignores the field length restriction
    Further Entries
    &#9679;      <RecordType>.beginSeparator
    Enter a string. The string is placed in front of the first field of a recordset.
    &#9679;      <RecordType>.endSeparator
    Enter a string. The string is appended to the last field of a recordset as a concluding character. The default is \r\n.
    &#9679;      contentType
    Enter the MIME type of the converted payload. The default value is text/plain.
    &#9679;      addHeaderLine
    Only define this parameter if you have already defined singleRecordType.
    Define whether a header line is to be added to the result of the conversion.
    &#9675;       none (default)
    Does not insert a header line
    &#9675;       fromXML
    The header line is generated from the element name of the first recordset of the XML document
    &#9675;       fromConfiguration
    The header line is determined by the configuration parameter headerLine.
    &#9679;      headerLine
    Only define this parameter if you have already set addHeaderLine=fromConfiguration.
    The value that you define is placed in front of the result of the conversion as a header line.
    &#9679;      fixedLineWidth
    Enter the maximum line length n (in characters) that can be written to the resulting document. The separator specified by lineSeparator is inserted in the resulting document every n characters.
    &#9679;      lineSeparator
    Only define this parameter if you have already defined fixedLineWidth.
    Specify the string that is written to the resulting document at the end of each line that is written with fixedLineWidth. The default is \r\n.
    Use of Special Characters
    You can use special characters in the following parameters: <RecordType>.fieldSeparator, <RecordType>.beginSeparator, <RecordType>.endSeparator, headerLine, and lineSeparator.
    &#9679;      Tabulator: \t
    &#9679;      Carriage Return (CR): \r
    &#9679;      Line Feed (LF): \n
    &#9679;      Arbitrary character: \x<code>
    <code>indicates the hexadecimal character code of the character to be displayed.
    Regards,
    Phani

Maybe you are looking for

  • Ipod classic sync to new macbook pro

    Hi, I bought a new ipod classic and did use it on my old PC but now have a new macbook pro.  What, if anything, should I do when I attach my new ipod to the new computer?? Thanks

  • Customer exits for PB20

    Hi all, My problem is quite strange, because i know how to do something, but it does not work....obviously :-). Ok, I am using the customer exist pbas0002 for PB20...I want to change the menu from the standard transaction PB20... the code in the cust

  • Log sequence error - possible causes?

    We're using C++, DBXML 2.1.7, with underlying Berkeley 4.3.28 - core 5 linux (2.6.16.28). We use transacted write's, with no nesting of transactions. We've been running with this version of DBXML for some time and this is the first time we've seen an

  • Dreamweaver CS3: One Template, Multiple Sites

    We have about 40 sites with the same basic layout, but it's always a hassle to update the templates because we have to do it 40 times! Is there any possible way to use the same template for multiple sites so that updates will be much easier? We are j

  • Newly added bookmarks do not automaticcaly incorporate into existing A-Z list no matter how I try to organize them.

    Your many questions from users shown echo my problem -- so how do I correct it????? I didn't see any of your replies to these users giving them an answer to this similar problem.