Sender SOAP Adapter parameter problem

Hi,
My scenario is Web service to RFC. I configured XI (7.0) and tested the scenario with Altova Xml Spy, it works. However the ones that are going to call the service say that they need a sevice with a XmlNode parameter.
They are going to use VB.NET to call the service. What should I do?
Please tell me how to
1. Reconfigure XI to accept XmlNode parameter in sender SOAP adapter(I think this is not possible since XmlNode is a language specific element which should not be used for the sake of compatibility in Web Services)
or
2. How to explain this to them ?
Regards,
-Tarik

Please refer to this blog http://blogs.msdn.com/kaevans/archive/2006/04/06/570223.aspx
Cheers
Fernand

Similar Messages

  • Sender SOAP Adapter problem in PI 7.1

    Hello Everyone,
    I have a problem with Sender SOAP  Adapter
    In PI 7.0 i am able to receive the messages through sender SOAP Adapter for both HTTP and HTTPS. But when i am testing in PI 7.1 i am unable to receive any messages at Adapter level for both HTTP and HTTPS
    All sender leagcy system are getting different error messages like
    1. 400 HTTP Bad request.
    2. Invalid request.
    3. BAPI  error message
    Could any one please assist me in this problem.
    Thanks
    Vick

    Hi Vick,
    Try like this......in ID from your sender agreement in which you have your sender SOAP comm channel, from menu select Display WSDL and then copy the WSDL URL and give it to source applications to use it.............create a service user for them to access PI 7.1 server while sending the SOAP req msg.............
    your source applications may have to generate proxy from this WSDL URL in their application and then they can send a SOAP req msg to your PI 7.1 server............
    Regards,
    Rajeev Gupta

  • SMIME in sender soap adapter

    Hi,
    I'd like to know the proper format of the POST request to a sender soap adapter with SMIME activated. I've found almost no documentation about it.
    I'm trying to send a document ciphered to PI via soap adapter (HTTP POST). I've done the following steps
    1. I activate SMIME in the sender soap adapter, and I specify "Decrypt" as the security procedure in the sender agreement. I also incorporate the private key in the keystore DEFAULT and reference to it in the sender agreement.
    2. I use OpenSSL to cipher an xml document like this (I use the public certificate associated to the previous private key) :
    --> openssl smime -encrypt -in fich.txt -out fich_encrypted.txt certTesting.pem
    What I get is:
    MIME-Version: 1.0
    Content-Disposition: attachment; filename="smime.p7m"
    Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m"
    Content-Transfer-Encoding: base64
    MIIC....[base64 content of the file encrypted]
    3. I use CURL to send the HTTP POST request to PI. Previously I get the binary file from the base64 content.
    > POST /XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_1[...]
    > Authorization: Basic c2U[...]
    > Host: pi.[...].com:50000
    > Accept: /
    > Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=fich_encrypted.der
    > User-Agent: Jakarta Commons-HttpClient/3.1
    > Accept-Encoding: text/xml
    > Content-Disposition: attachment; filename=fich_encrypted.der
    > Content-Length: 620
    > Expect: 100-continue
    but I get this error from the SOAP Adapter:
    --> java.io.IOException: invalid content type for SOAP: APPLICATION/PKCS7-MIME.
    I also get the same error if I remove the header Content-Disposition.
    4. If I send the xml file without ciphering (header Content-Type: text/xml;charset=UTF-8) I get the error:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: call failed: java.lang.SecurityException: Exception in Method: VerifySMIME.run(). LocalizedMessage: SecurityException in method: verifySMIME( MessageContext, CPALookupObject ). Message: IllegalArgumentException in method: verifyEnvelopedData( ISsfProfile ). Wrong Content-Type: text/xml;charset=UTF-8. *Expected Content-Type: application/pkcs7-mime or application/x-pkcs7-mime*. Please verify your configuration and partner agreement
    PROBLEM --> I really don't know what the SOAP sender channel is expecting when SMIME is activated. I've tried to send the binary file encripted as an attachment and also directly, but the soap adapter complains.
    Thanks

    HI,
    for XI EP
    Please see the below links so that you can have clear Idea..
    /people/saravanakumar.kuppusamy2/blog/2005/02/07/interfacing-to-xi-from-webdynpro
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/java/integrating%20web%20dynpro%20and%20sap%20xi%20using%20jaxb%20part%20ii.article
    Consuming XI Web Services using Web Dynpro – Part II-/people/riyaz.sayyad/blog/2006/05/08/consuming-xi-web-services-using-web-dynpro-150-part-ii
    Consuming XI Web Services using Web Dynpro – Part I -/people/riyaz.sayyad/blog/2006/05/07/consuming-xi-web-services-using-web-dynpro-150-part-i
    /people/sap.user72/blog/2005/09/15/creating-a-web-service-and-consuming-it-in-web-dynpro
    /people/sap.user72/blog/2005/09/15/connecting-to-xi-server-from-web-dynpro
    Regards
    Chilla..

  • Special characters in sender soap adapter provoke HTTP 500 error

    Hi,
    SAP R3 is sending a SOAP message to PI through SOAP adapter.
    When the payload does NOT contain german characters like ü, it works fine.
    However, when the payload DOES contain special characters, the SOAP adapter replies with an HTTP 500 code error.
    If I use SoapUI to send the soap message, and setting UTF-8 as the encoding in the program options, it will go through fine. If I change to ISO-8859-1 it will fail.
    I'm thinking in two options:
    - Make sure that SAP R3 sends the message in UTF-8 format (I think this is happening currently), as if SoapUI works, then probably R3 is not using UTF-8.
    - Force the adapter to use UTF-8. Is this possible? In the sender SOAP adapter I've added AF_Modules/MessageTransformBean (type local EB), and then Transform.ContentType for parameter name and --> text/plain;charset=utf-8 for parameter value. The sender adapter will fail then for every message, with or without special characters.
    Anyway, in this link (http://help.sap.com/saphelp_nwpi71/helpdata/EN/a4/f13341771b4c0de10000000a1550b0/frameset.htm) it seems to say that the sender soap adapter cannot be extended with modules, so maybe that's the reason why it fails when trying to add a module.
    Thanks

    If I use SoapUI to send the soap message, and setting UTF-8 as the encoding in the program options, it will go through fine. If I change to ISO-8859-1 it will fail.
    I'm thinking in two options:
    Check the use of option 1 ..... the URL which SAP is using to send the data can containe the encoding information.
    Check this SAP note: https://service.sap.com/sap/support/notes/856597
    From the above note:
    Q: What character encoding is supported by the SOAP sender adapter?
    +you can supply the encoding information with the xmlenc variable in the request URL as in+
    Regards,
    Abhishek.

  • Reading parameters from Query string : Sender SOAP adapter.

    Hello Experts,
    I have a SOAP to SOAP scenario. Here we will have multiple receivers and dynamic receiver determination is needed.
    The sender will send a Value in Query string of URL to sender SOAP adapter. This value in Query string parameter will decide the receiver at runtime.
    I need to know, how can we read values from Query string of incoming call? I did tried to search blogs & forum threads but unfortunately not able to hit the right links.
    Any inputs will be of great help.
    Should i use "Use Query String" on sender soap channel? I tried it, but i was not able to find any query string parameters in SOAP header or payload.
    Please guide me, its bit urgent.
    Regards,
    Abhi.

    > But the argument provided from their side is: They are using standard XSD and this service is provided out of box with sender application.
    If they can add a URL parameter, they can also add a field to the structure.
    > They cant control the value mapping of parameters in payload to the extent required to implement this change.
    Adding a new field to the structure would not affect any existing mapping.
    > Since they have this custom requirement of multiple receivers & receiver to be determined at runtime, they need to go for Query string.
    This can be done based on any field of the payload.
    > I need to find a way to read the query string in any case.
    This is not supported by SOAP adapter.
    > Can I use one of the header parameters to be mapped to this value  (By selecting "Use Query string" & "Keep Headers" flag in sender CC) & then extract this value from header using Dynamic configuration ?
    This feature works only for XI header fields, like message ID or QoS.
    Not for individual parameters.

  • Sender Soap Adapter PI 7.1

    Hi All
    We just installed a PI 7.1 Server. When I want to use the sender Soap adapter's Default XI Paramater they are not there. Is this because were only on SP 4? Can I still use the adapter as is or do we need to upgrade to a higher SP?
    Any input will be appreciated.

    Hi Stephan.
    Some SOAP Adapters Parameter changed in this PI Version. 
    You can see the SOAP characteristics in the link bellow:
    http://help.sap.com/saphelp_nwpi711/helpdata/en/44/8c4756224a6fb5e10000000a155369/frameset.htm
    Regards.
    Bruno

  • Sender SOAP adapter in inactive status

    Hi guys,
    I have a problem with my sender SOAP adapter.
    In Int Directory, the channel is ACTIVE but in RWB, CC monitoring (soap adapter), this status is INACTIVE OR UNINITIALIZED.
    I have changed this value and activated the change lists, and refreshed CPACache as well with no success.
    Could you please help me on this?
    Thanks in advance
    David

    Hi David !
    check these two threads , wi9ll solve the issue , discuss the same
    Inactive Status for a SOAP Adapter not working
    SOAP Adapter - Channel started but inactive
    Thanks!!

  • Duplicate check not working in sender soap adapter

    Hi guys,
    I have an urgent problem.  I am using a Sender Soap Adapter (quality of service Best Effort) to receive certain web services requests and send back synchronous responses.
    I have ticked the parameters "Use Encoded Headers" and "Use Query String" to implement duplicate check.
    For this reason I am expecting XI to return errors of the following type when the sender systems posts duplicates:
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="PERSIST">MSGGUID_EXISTING</SAP:Code>
      <SAP:P1>D00B71AC7AEBDEB3E011E5E43C49D97B</SAP:P1>
      <SAP:P2>CENTRAL</SAP:P2>
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Message ID D00B71AC7AEBDEB3E011E5E43C49D97B for pipeline CENTRAL, version already exists in system</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    However, although the duplicates go into an error status, the system is responding with the following message:
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="BPE_ADAPTER">SYSTEM_FAILURE_INTERNAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>An internal error has occurred</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    Can anybody tell me how to force XI to return a message type "MSGGUID_EXISTING" when it catches duplicates?  Or if there is any configuration I can change?
    Many thanks,
    Aldo

    OK, this problem is resolved.
    XI seams to send the error SYSTEM_FAILURE_INTERNAL the first time it receives a duplicate message and sends the MSGGUID_EXISTING error on the following attempt to post the same message.
    Cheers.
    Aldo
    Edited by: Aldo Lazzarini on Sep 23, 2011 6:50 AM
    Edited by: Aldo Lazzarini on Sep 23, 2011 6:53 AM

  • Queue name in QOS EOIO -Sender SOAP Adapter

    hi,
    While configuring sender soap adapter , if we specify EOIO as QOS , then there is a mandatory parameter Queue name to be specified.
    What is this Queue name ?
    and where is it created
    kindly reply
    Regards,
    loveena

    Hi D' souza
    Goto tcode -> SXMB_ADM -> register queues
    for specifying QOS EOIO you need to assign a queue
    from there you can specify the queue for Outbound side EOIO queue
    Various queue name and there meaning is as follows
    XBT*-Queues for Exactly Once.and time dependent
    XBQ*-Queues Exactly Once In Order.
    XBTI* are inbound queues for EO with time constarint
    XBTO* are outbound queues for EO with time constarint
    XBQI* are inbound queues for EOIO
    XBQO* are outbound queues for EOIO
    for beter understanding of how to configure sender soap channel you may folow this link
    http://help.sap.com/saphelp_nw04/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm
    thanks
    sandeep
    if helpful reward points
    Thanks
    sandeep
    if helpful rewrad points

  • Redeploy sender soap adapter 7.1

    We have PI 7.1 SP7 and expriencing many problems with the sender SOAP adapter
    the service registry works for us for all web services
    but from other applications like xmlspy and soapui we get messages of chace problems and unauthorized
    ( all cache cheks where performed and if I use the url of the endpoint with the user I have no authorization error )
    it seems something is wrong with the adapter , does somebody knows if its possible to redploy the adapter ? its a war file

    Hi Shai,
    Please have a look at the following link and see if it helps you .
    It deals with SOAP adapter installation and activation 
    Re: SOAP adapter installation and activation
    Best Regards
    Edited by: Prakash Bhatia on May 8, 2009 11:51 AM

  • Alias for Sender SOAP Adapter URL

    When I create a web service for an o/b interface using the wizard, I need to give the URL of the pattern
    http://<host:<port>/XISOAPAdapter/MessageServlet?channel=<party>:<service>:<channel>
    Looking at the URL, I think there is servlet that is processing the incoming SOAP messages based on the parameter (channel) and adding the SOAP Header for Sender Service, Sender Interface from that channel before sending it to IE.
    Is there anyway to create aliases for these URLs so that I can have distinct URL for each interface eg. http://<host:<port>/DeliveryConfirmation, http://<host:<port>/InvoiceCheck etc?
    I need to publish web services in custom-built UDDI tool which expects the URLs to be unique. (This uniqueness should not based on the parameter 'channel'). UDDI tool expects the part of the URL before '?' to be unique, which is not in my case. So, I'm thinking of aliases.
    Did anyone create Alias for sender SOAP adapter URL?
    I appreciate your inputs on this.
    thx
    praveen

    Stefan,
    Creating an alias like (http://<host:<port>/DeliveryConfirmation) for each web service makes the end Point URL (http://<host:<port>/DeliveryConfirmation?channel=<party>:<service>:<channel>) unique and my custom-built UDDI server would allow it.
    In this case, all the aliases would be for the same context path '/XISOAPAdapter/MessageServlet', right?
    I see the following on the help page.
    Prerequisites
    You must first have the J2EE Web applications deployed so that their aliases are added to the list of available application aliases. Then you can decide which one to remove from it.
    Do I need to deploy any J2EE Web Application here?
    I'm thinking that since 'XISOAPAdapter/MessageServlet' is already deployed, I just have to create a various aliases for it.
    I highly appreciate your inputs.
    thx
    praveen

  • Remove authentication in sender soap adapter pi 7.1

    Hello
    Did anyone manged to remove authentication in PI 7.1 sender soap adapter?
    I have updated file web.xml in the file com.sap.aii.adapter.soap.war
    and now I want to deploy it,but I dont have any sda in the folder
    thx
    Shai

    hi Shai,
    just something to try in case:
    you don't need any java parameters of SOAP sender
    you can try approach from Stefan:
    /people/stefan.grube/blog/2006/09/21/using-the-soap-inbound-channel-of-the-integration-engine
    and then:
    1. in SICF copy the engine service to a new one
    2. put the credentials for this new service inside SICF
    then you will have sender SOAP adapter without a password right?
    I didn't try it but I guess it would work without
    crashing the whole original SOAP sender adapter by
    making changes into web.xml
    Regards,
    Michal Krawczyk

  • Change Queue Name in Sender Soap Adapter (or make it dynamic)

    Hello SDN!!!!
    We have a scenario where we want to make a message EOIO and I have set the Queue Name in the Sender Soap Adapter and this works great. BUT it is needed to have a more specific queue name (based on order numbers not interface name) So with this being said, Is there any way to change the queue name or append to it from the Soap Sender Adapter. I see it is possible to write a Module Bean, but the Message object returned from the ModuleContext is a scaled down version of the normal message object. Any help would be greatly appreciated
    Cheers
    Devlin

    Is this the only way to change the queue name for Soap Sender? I don't think it is possible for them to do this, as their urls are static when calling us

  • 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()));

  • XI 3.0 Sender SOAP Adapter Default XI Parameters

    Hi all,
    I've noticed when posting to an inbound comm channel using the sender SOAP adapter that unless I specify a namespace and interface under the 'Default XI Parameters', an error is returned indicating I need to specify default values for the namespace and interface.
    This doesn't make sense.  I don't want to set up a new inbound comm channel for every interface for the same sender service.  As long as the SOAP address location is correct, i.e. sender service and interface are specified correctly, why should I need to set a default namespace and interface?  Also, what is the expected behavior of the default XI parameters?  Should it override what's passed in the SOAP location string?

    Hi,
    I think you have to add:
    Optional: xml.addHeaderLine 0
    Obligatory: try to put the ; between quotation marks like:
    Hope this helps.
    Cheers,
    Paul

Maybe you are looking for

  • Linksys EA3500 Signal Problems: How to Adjust for Maximum Stability

    I have ATT DSL service; 6Mbps down, .5 Mbps up.  That is the maximum offered where I live.  I have  no phone service on the line and use VOIP.  I have discovered that the QOS degrades to awful at random times.  Awful means .79 down, .24 up, with ping

  • Failed to authenticate - Shared Services 11.1.2.1

    I've installed and configured Foundation services. When I try to login to Shared Services, I get the following error: EPMCSS-00301: Failed to authenticate user. Invalid credentials. Enter valid credentials. Code: 1000 Description: An error occurred p

  • Trouble w/ WYSIWYG in Word

    I am having trouble with a word doc that contains clip art. Everything appears to be formatted correctly on the screen, but when I print, the clip art is not where it should be. Any suggestions? The clip art is a jpeg.

  • Conditions vs .rtf filter

    Working with FM 9.2p250 and a silly request - 1. I open a document where I've been tracking changes with conditions since 2002. Only the last release's changes are visible, 'cause that's what I've specified with Show/Hide Conditional Text. 2. I selec

  • Extreme/Express Questions

    I have encountered several interesting issues. I have an Airport Extreme dual band in my basement, and an Express (n) extending my network two floors up. I set it up this way to provide better connectivity to my g devices that are also two floors up.