SOAP Adapter and plain HTTP

Hello,
what does the option
"Do not use SOAP envelope" on a SOAP SENDER adapter mean?
Does this mean, that only the payload from the soap message is sent to the integration server? (without the soap envelope)
Or does this mean, that I can send a XML message without SOAP envelope to the adapter from a HTTP client?
Which means, I can use the SOAP adapter like the standard PLAIN HTTP adapter, but I can implement a adapter module!
How knows more details on that?
Best regards
Werner Magerl

Hi Werner,
> When I use the option nosoap=true and the setting "Do
> not use SOAP envelope" then it works.
> So both things must be used together.
> Is this correct?
Yes. In your scenario you need both parameters.
> What does this mean, that the XI message is created
> after the self-defined modules?
When you write a module for sender file-adapter, you have to deal with an XI message, as the file adapter fisrt creates the XI message, then calls the customer module.
When you write a module for sender SOAP adapter, you have to deal with the incoming message, as the SOAP adapter first calls the customer module, then creates the XI message.
> We just want to check the incoming XML message
> against a local XSD. If there is an error against the
> XSD, we do not want to receive the message, we want
> to send back a specific HTTP error code.
> This is the reason, why we just want to send a
> plainHTTP message and not a SOAP Message.
> In my opinion this should work?!
> We do not want to use other modules.
Yes, that should work.
> Do you have experience on adapter modules for SOAP
> adapter?
No, I have no experience with adapter modules for sender SOAP adapter.
Regards
Stefan

Similar Messages

  • The difference between SOAP adapter and WS adapter in PI 7.1

    Hello all,
    can anybody explain what is the main difference between SOAP adapter and WS adapter in PI 7.1?
    I have checked this [link|http://help.sap.com/saphelp_nwpi71/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm]
    but was not able to find the real difference.
    Or better, what can I do with WS adapter I can't do with SOAP adapter? What are their advantages/disadvantages?
    Thank you all, Igor.

    In addition to RM, ws adapter also support other ws standard like SAML which is not available in SOAP adatper. Beside:
    if your sender or receiver is SAP system, you can also monitor the message in the sender/receiver in addition to the PI box. This is a very good thing, because sometime the MONI in PI shows nothing wrong, but the MONI in your receiver will show you error message that's only related to the receiver system.
    However, if you define ws sender CC, and your ws client doesn't support RM, you will have issue sending ws request.
    And ws CC will generate ws runtime in PI box, if your configuration is wrong (like user name and password not correct), even if you correct it, the ws runtime sometime won't be regenated based on the correction. In this case you need to delete the ws CC/agreement, and re-create it with all correct information.
    Beside make sure your basis team configured the PI system properly regarding ws. If not, you will have lot of pain to figure the problem which was my case.
    Jayson

  • Security Issues: SSL on SOAP Adapter and Digital Signature in BPM

    Hi there,
    we're developing a R/3-XI-3rd Party Application scenario, where the XI/3rd Party communication is based on a webservice (SOAP adapter with SSL). Also, the messages in the XI/3rd Party communication must be digitally signed. I've got some questions on both subjects.
    1. About the SSL. I've started to investigate what will be necessary to enable the HTTPS option under SOAP Adapter (it's not enabled now). If I'm not correct, all I need to do is:
    - check whether the SAP Java Crypto Lib is installed in the Web AS;
    - generate the certificate request in the Visual Administrator and, after acquiring the certificate, store it with the KeyStorage option.
    Is that right?
    I'm considering that I won't need to use SSL in the ABAP Web AS, only the J2EE Java Engine (since the SOAP Adapter is based on J2EE).
    2. About the digital signature. As a first solution, we had decided on accessing a webservice based on another machine running a signature application. We'd send the unsigned XML and receive a signed XML. But since that needed to be done into the BPM, I thought that using a piece of Java code in a mapping would suit it better.
    But to be able to use the hashing/encrypting/encoding algorithms, which library needs to be installed? Is it the same SAP Java Crypto Lib that was installed for the SSL enabling?
    Thanks in advance!

    Hello Henrique,
    1. You're right. For detailed instructions please have a look at the online help: http://help.sap.com/nw04 - Security - Network and Transport Layer Security - Transport Layer Security on the SAP J2EE Engine
    2. The SOAP adapter supports security profiles. Please have a look at the online docu http://help.sap.com/nw04 -Process Integration - SAP Exchange Infrastructure - Runtime - Connectivty - Adapters - SOPA Adapter - Configuring the Sender SOAP adapter and from the link under Security Parameters to the Sender Agreement. You'll find some additional information in the following document: http://service.sap.com/~sapdownload/011000358700002767992005E/HowToMLSXI30_02_final.pdf
    Rgds.,
    Andreas

  • Differences between SOAP Adapter and WS Adapter

    Hi Experts,
    In order to consume a service in SAP ECC by SAP PI 7.1, I´m using a service based on RFC. I tryed sucessfully to do that using SOAP Adapter and WS Adapter.
    What are the differences between using a receiver communication channel with SOAP adapter or WS adapter? Which is the better way ?
    Tks in advance.

    Hi,
    Please go through the below URLs for a discussion of SOAP  and WS adapters:
    The difference between SOAP adapter and WS adapter in PI 7.1
    WS adapter vs. SOAP adapter
    Regards,
    Rajeev Gupta
    Edited by: RAJEEV GUPTA on Jan 9, 2009 3:41 PM

  • SOAP ACTION IN SOAP ADAPTER and PROGRAM  IF IN RFC COMMUNICATION CHANNEL

    Hi Gurus,
    Please Explain me what is SOAP action in soap adapter what is the use of it.
    What is the Program ID in the RFC communication channel and what is the use of it.
    Please tell me in  Detail.
    Thanks and Regards,
    RAM.

    Hi,
    Please Explain me what is SOAP action in soap adapter what is the use of it.
    As of W3C definition:
    The SOAPAction HTTP request header field can be used to indicate the intent of the SOAP HTTP request. The value is a URI identifying the intent. SOAP places no restrictions on the format or specificity of the URI or that it is resolvable. An HTTP client MUST use this header field when issuing a SOAP HTTP Request.
    The presence and content of the SOAPAction header field can be used by servers such as firewalls to appropriately filter SOAP request messages in HTTP. The header field value of empty string ("") means that the intent of the SOAP message is provided by the HTTP Request-URI. No value means that there is no indication of the intent of the message.
    Putting things simple, this is an identifier of an operation that you want to execute in the web service (as one web service can offer multiple actions).
    What is the Program ID in the RFC communication channel and what is the use of it.
    Again, this is an identifier for both: RFC sender and receiver systems. It tells the receiver where to listen for connections, and the sender - where to send the data. It works a little bit like a port number in HTTP communication, but with less restrictions.
    Hope this helps,
    Greg

  • SOAP adapter and dynamic target URL

    My scenario: synchronous communication ABAP Proxy <=> XI <=> External WebServices.
    There is a need to have configurable (dynamic) target URL for SOAP Adapter. This target should be configurable from ABAP Proxy. Any idea how can I achieve my goal?
    Some additional notes why I need configurable target URL. I've multiple WebService instances which has identical interfaces and the only difference is target URL. I see no need to define for each webservice different SOAP Adapter. The other thing is that customer want to have configuration of destination (target) url on backend system (where ABAP Proxy is used).

    Check http://help.sap.com/saphelp_nw70/helpdata/EN/29/5bd93f130f9215e10000000a155106/frameset.htm
    It's possible to set the URL for Soap dynamically.
    To process adapter attributes in the message header of the XI message, set the Use Adapter-Specific Message Attributes indicator and the Variable Transport Binding indicator.
    You can evaluate the following attributes in the message header:
    Description: You can set the entire URL.
    Technical name: TServerLocation

  • SOAP Adapter And Protocol issue

    Why and when we use SOAP adapter ? Does Xi uses processed XML messages using SOAP protocol ? I am new to Xi and confused over the issue. Can anyone please explain this to me. Thanks for your time.

    HI KM
    When you want to Send Data to XI from a Webservice and vice versa, your SOAP adapter is used.
    Check these links for reference...
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
    A SOAP adapter is used in order to post messages to a webservice or provide a web service for receiving messages.
    How To…Use the XI 3.0 SOAP Adapter
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79
    Please follow stefan's weblog
    /people/stefan.grube/blog/2006/09/21/using-the-soap-inbound-channel-of-the-integration-engine
    SOAP adapters are used for communicating with the WEB SERVICE. Web service is a software system designed to support interoperable Machine-to-Machine interaction over a network. Web services are frequently just Web APIs that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services. In common usage Web Service refers to clients and servers that communicate using XML messages that follow the SOAP standard. So we communicate the WEB SERVICE using the SOAP adapters.
    This is an example WEB SERVICE which follows the SOAP standards
    http://www.webservicex.com/CurrencyConvertor.asmx?op=ConversionRate
    A scenario using SOAP adapter..
    RFC -> XI -> WebService - A Complete Walkthrough (Part 1) by Shabarish Vijayakumar
    RFC -> XI -> WebService - A Complete Walkthrough (Part 2) by Shabarish Vijayakumar
    SOAP , we will use for Webservices.. for sender and receiver side..also
    one example from Webbrowser to XI to receiver ...system
    another example is we can send it to end point URL..
    Webservice
    http://help.sap.com/saphelp_nw04/helpdata/en/9b/dad1ae3908ee44a5caf57e10918be9/frameset.htm
    /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    /people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi - Invoke Webservices using SAPXI
    /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
    /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2131 [original link is broken] [original link is broken] [original link is broken]
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295aeaa9
    Soap adapter?
    Regards
    Abhishek Agrahari

  • SOAP Adapter Error with HTTPS

    Guys,
    I have created one SOAP Adapter Receiver as a configuration below:
    Target URL = https://www.server.com/ws.asmx (example)
    Configure Certificate Athenticate (i have use one certificate configured in key store from Visual Admin)
    Configura Proxy (i have used same proxy, port user and pass from web browser).
    But when i execute my interface, occurs the follow error:
    Connection reset
    Can anybody helpe, please?

    Hello,
    finally you run your request from your ERP System about your ICF.
    To establish a SSL Connection to the Web Service target system about an SAP WebAS and ICF, it is necessary to create a certificate on client site about Internet explorer using target URL and importing it on STRUST. Take the junction "SSL-Client (Anonym)" to include your certificate for your system.
    Take a reboot of ICM Monitor.
    Then create a HTTP Connection to rhe external server via SM59 (Typ G).
    Don't forget to configure the following points:
    Under the menu tab Registration&Security:
    - Registration Process: No Registration
    - status of security protocols: activ and ANONYM SSL-Client (Anonym)
    In most cases, you don't need to edit your user data.
    Only then one can usually connect about SAP XI or PI to some servers with SSL method.

  • SOAP Adapter and PCK ??

    Hi,
    I want to implement following scenario.
    .Net Application -> XI -> R/3
    I think the best way would be using a SOAP adapter
    SOAP->XI->RFC(to R/3).
    Can anyone pls let me know , what are the steps that need to be performed to make this happen ?
    Also do I need Partner Connectivity kit to implent this particular scenario , or when would I want to use PCK ?
    Thanks ,
    Vivek
    PS : Point will be definitely awarded

    Hi Vivek,
    Configure your Soap Sender Adapter as given in the link below :
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm
    For configuring your receiver RFC this weblog might be useful
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    Steps :
    1) <b>Design Part</b>
    1. Create the data type, message type for input( from your .net Application) in XI
    2. Create a Synchronus Message Interface for the input side (SOAP Adapter).
    3. Import the required RFC.
    4. Do the corresponding Message Mapping and Interface Mapping.
    2) <b>Configuration Part</b>.
    1. Add the Business System and the Service (SOAP) needed.
    2. Create the communication channels
      a) SOAP (sender)
      b) RFC (receiver)
    3. Create the sender agreement, receiver determination and receiver agreement.
    4. Now create the wsdl file (using the tools -> Define Web Service of Integration Directory).
    5.Save the wsdl file.
    6. Now create your .Net application and add your wsdl file to that (as Web Reference).
    Hope it will be helpful.
    For any other doubts do revert back.
    Regards
    Suraj

  • Receiver Soap Adapter and multipart messages

    Dear SAP XI experts.
    I have a scenario where I should create multipart message in an integration process and send it to a receiver using soap adapter. Is it possible to have two message types, one for main payload and one for attachment?
    In my case I know I have to switch on 'Do Not Use Soap Envelope' and 'Keep Attachments' parameters in communication channel configurations. Anything else needed in this side? For example in Adapter Module configurations?
    Is this scenario: To create multipart message in an integration process and to send it using receiver soap adapter, possible at all?

    Hi,
    >>>>In my case I know I have to switch on 'Do Not Use Soap Envelope' and 'Keep Attachments' parameters in communication channel configurations. Anything else needed in this side? For example in Adapter Module configurations?
    check question:
    My web service expects a SOAP with multiple elements in the SOAP body. How can I create such SOAP message?
    from SAP note: 856597
    and you will know everything
    Regards,
    michal

  • SOAP adapter and WS with rpc/encoded

    Hi All,
    Does anyone know if and how the SAP XI 3.0 SOAP Adapter supports WebServices which expects XML messages in rpc/encoded.
    Cheers,
    FRank

    Hi Frank,
    I have the same issue and I got a reply from OSS:
      This problem is caused by the diversification of the WSDL binding
    styles.
      A Web service is described by a WSDL document. A WSDL binding
    describes how the service is bound to a messaging protocol, particularly
    the SOAP messaging protocol. A WSDL SOAP binding can be either an RPC
    style binding or a document style binding. A SOAP binding can also have
    an encoded use or a literal use. This gives us four style/use models:
    - RPC/encoded
    - RPC/literal
    - document/encoded(It will probably disappear from future versions of
    WSDL.)
    - document/literal
      RPC styled web services have serious interoperability problems. This
    is the reason that the rpc style is not in the basic profile
    specification of the web interoperability and also it has been
    deprecated in the current soap specification. For these reason, the
    integration directory does not currently support the RPC style! I would
    suggest you to use other document style web service provider if possible
    . It's the best way to solve this problem. But if you persist in using
    this RPC web service provider, we still have a workaround solution:
    you need to convert your RPC wsdl to a document styled wsdl and import
    it to  the directory and if necessary, you need to add some mapping to
    solve some RPC interoperability problems.
      In your case,
    1. The WSDL file you used is RPC style.
    2. The XI SOAP adapter doesn't support the RPC style. It only sends the
    document/literal SOAP message which can't be understand by your web
    service provider.
      One of the significant differences between the SOAP message of RPC
    style and that of the document style: the operation name is contained in
    the RPC style SOAP message but not in the document's.
      However, you can't solve this problem by simply specify a method
    name. What you should do is convert your RPC wsdl to a document styled
    wsdl. RPC turns out to be a subset of document/literal. This
    means for any given RPC WSDL, you can create a completely
    equivalent document/literal WSDL that would describe the same wire
    messages. Here are the steps for doing this (mostly schema element
    declarations).
    Solution:
    For each RPC operation:
    1. For each part in the input and output messages of that operation,
    declare a type with the contents described in step 2.
    2. Declare an element with the name of the part, the type referenced by
    type=". The element form must be unqualified.
    3. Declare a global element with the operation name and the namespace
    from soap:body/@namespace in the binding. Make the type of this element
    the one defined in step 1 for the input message.
    4. Declare a global element with the operation name and the word
    Response appended to it and the namespace from soap:body/@namespace in
    the binding. Make the type of this element the one defined in step 1 for
    the output message.
    5. Change the input message to contain one part and reference the
    element you declared in step 3.
    6. Change the output message to contain one part and reference the
    element you declared in step 4.
    7. Change the style to document in the binding.
      After that, import the new WSDL file to the integration directory. You
    will find the "method name" appears in the document style SOAP message.
    But actually it's the name of the input element which is the same as
    the name of the operation. It's just a little trick.
    Cheers Stefan

  • SOAP adapter and BizTalk specific header entries

    We are trying to implement a B2B scenario using XI 2.0 and the SOAP adapter (J2SE). The customer is using BizTalk. My question is if it is it possible in the SOAP adapter to include BizTalk-specific

    Hi Stefan,
    I have a scenario in which I want to call an External WebService from SAP XI 3,sp10. An SAP RFC Is the SENDER.
    After doing the config I see 2 failed messages in MONI everytime. I do not see the soap header in the message. The error is -->failed to reach the end point.
    I want to see if I am passing the Header correctly.A
    Also most important I need to have a Authentication tag in my header tag which seems to be specific to 3rd party system hosting the webservice.
    I want my SOAP Header to have :
              <s:AuthenticationInfo>
                    <s:userName>webuser</s:userName>
                    <s:password>XXXXX</s:password>
               </s:AuthenticationInfo>
    When using the SOAP Receiver channel I expect XI to put this but does not look like its doing the job. Anyways the s: tags above are custom tags with custom namespace. How do I add in the SOAP Header ?
    Thanks
    Ashish

  • SOAP Adapter and StringIndexOutOfBoundsException

    Hi!
    I have a SOAP-> RFC scenario and I trying to send a message using both encoded header and query string but I get the following exception in the client:
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    The URL I´m trying is something like this:
    http://server:8007/XISOAPAdapter/MessageServlet?channel=:PORTAL_B2B:SEND_TESTE&version=3.0&Sender.Service=PORTAL_B2B&Interface=http%3A%2F%2Fmarcopolo.com.br%2FPortalB2B%2FPedido%5EListaPedido_Out
    It´s a XI from SAP Netweaver2004s SP10.
    I couldn´t find anything in the Message Monitoring. Please, some idea?
    Thank you,
    Fabiano.
    The complete error stack:
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
         at java.lang.String.substring(String.java:1444)
         at com.sap.aii.messaging.srt.xmb.XMBMessageHeaderCodec.readValue(XMBMessageHeaderCodec.java:354)
         at com.sap.aii.messaging.srt.xmb.XMBMessageHeaderCodec.decode(XMBMessageHeaderCodec.java:108)
         at com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.onRequestFromWS(XMBWebServiceExtension.java:592)
         at com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.invokeOnRequest(XMBWebServiceExtension.java:362)
         at com.sap.aii.messaging.srt.ExtensionBubble.onMessage(ExtensionBubble.java:50)
         at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:906)
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_3.process(ModuleLocalLocalObjectImpl0_3.java:103)
         at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:264)
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0.process(ModuleProcessorLocalLocalObjectImpl0_0.java:103)
         at com.sap.aii.af.mp.soap.web.MessageServlet.callModuleProcessor(MessageServlet.java:174)
         at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:441)
         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:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

    Yes, the Adapter Engine is red  the sequence of steps there:
    2006-12-19 18:01:10 Success Message successfully received by messaging system. Profile: XI URL: http://angelim:50700/MessagingSystem/receive/AFW/XI Credential (User): J2EE_ADMIN
    2006-12-19 18:32:55 Success calling the module processor for channel SEND_TESTE
    2006-12-19 18:32:55 Success MP: entering
    2006-12-19 18:32:55 Success MP: processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
    2006-12-19 18:32:55 Success SOAP: request message entering the adapter with user MERC_FABIANO
    2006-12-19 18:32:55 Error SOAP: call failed: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    2006-12-19 18:32:55 Error MP: exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: String index out of range: -1: java.lang.StringIndexOutOfBoundsException: String index out of range: -1

  • SOAP adapter and serializing

    Hello, all.
    My scenario is R/3(IDOC) -> XI -> IIS(SOAP message).
    I need idocs and soap messages to be processed in order on both inbound and outbound sides. I set up inbound qRFC queue for serializing IDocs using the IDoc Adapter. But when SOAP messages reach IIS their order is wrong.
    What i must to do that their order will be right?
    I am using XI 3.0 with SAP 4.7
    Thanks
    Alexander

    Hi,
    How is the order specfied on the SOAP - should be EOIO I think.
    Cheers
    Colin.

  • B2B Support SOAP via SOAP Service and/or HTTP Posting?

    I cannot find any documentation that points to the B2B product and it's support for SOAP. Can someone point me to this documentation if any?
    If someone can answer the quick questions in the subject that would be great as well.

    ebXML standard is typically supported by all available B2B Integration products. Oracle B2B is interoperability certified by Drummond group for ebXML. ebXML offers much richer security framework compared to basic SOAP and it will be a easy change for your partners - they need to configure their B2B to talk ebXML.
    We are also planning on adding generic SOAP support in our next release. Please send me an e-mail and I can keep you posted.
    Also if you need a demo of the product, we can arrange one as well.
    Thanks - Sundar

Maybe you are looking for